basemind
Local Rust index of a repo's code, docs, git history and memory, served to coding agents over MCP
Search, read and save versioned coding-agent sessions stored on an AgentGit hub
Official · Einsia Rust Local · stdio Git and code hostingKnowledge and memoryDeveloper tools
72 popularity score ★ 413 ↓ 2.7k/wk
Opens the app, which asks before it adds the server.
npm install -g @einsia/agent-git --allow-scripts=@einsia/agent-git
agit loginclaude mcp add agit -- agit mcp{
"mcpServers": {
"agit": {
"command": "agit",
"args": [
"mcp"
]
}
}
}{
"mcpServers": {
"agit": {
"command": "agit",
"args": [
"mcp"
]
}
}
}{
"servers": {
"agit": {
"type": "stdio",
"command": "agit",
"args": [
"mcp"
]
}
}
}[mcp_servers.agit]
command = "agit"
args = ["mcp"]gemini mcp add --scope user agit agit -- mcpAGIT_HUB_URL |
Optional: Hub address to use, for a self-hosted hub. |
|---|---|
AGIT_HOME |
Optional: Directory for agit state, store and credentials. |
AGIT_SESSION |
Optional: Runtime session that `commit` saves when the call gives no target. |
AGIT_USE_SYSTEM_GIT |
Optional: Set to 1 to use system Git and Git LFS instead of the bundled copies. |
| Set together: telemetry | |
AGIT_TELEMETRY_DISABLED |
Optional: Set to 1 to turn off usage statistics; ignored when the hub is agent-git.com. |
DO_NOT_TRACK |
Optional: Also turns off usage statistics on hubs other than agent-git.com. |
agit is a command-line tool from Einsia for keeping versioned history of coding-agent conversations from Claude Code, Codex, OpenCode and Cursor. Those runtimes store sessions as JSONL files that get compacted or deleted over time. agit snapshots them into git-backed repositories, which you can push to an AgentGit hub (agent-git.com unless you point it elsewhere) and then share, resume or fork.
The MCP server is the hidden `agit mcp` subcommand and speaks over stdio. You normally don't configure it by hand: the one-shot installer, the global npm install script or `agit setup --mcp` registers it with your agent runtimes. When a tool is called, the server starts the matching `agit` CLI command as a child process and hands back what it prints, so tool results match the CLI.
The source registers eight tools (src/commands/mcp.rs). `search` covers readable history on the hub, or your saved local history when you pass `local=true`, and takes a single query or a batch of up to 16, four of which run at once. `activity` pulls a person's submitted messages in a repo for a time window, with the time each was sent, a page at a time. `show` and `view` read parts of a saved session. `status` reports who you're signed in as and the sync state, and `commit` saves the finished turns of a session. `rc_status` and `rc_list` report on the remote-control daemon and on the machines paired to your account.
The point is that an agent which gets stuck can first look for an earlier session, its own or a teammate's, where the same problem was already solved.
| Runtime | Node.js |
|---|---|
| Runs on | macOS, Windows, Linux |
| AgentGit hub | agent-git.com by default, or a self-hosted hub set with AGIT_HUB_URL; sign in with `agit login` |
Install with `npx -y create-agit@latest`, which installs agit and wires skills, hooks and MCP, or with `npm install -g @einsia/agent-git --allow-scripts=@einsia/agent-git`. npm 12 and later skip the package's install script unless it is allowed, and organization policies such as `ignore-scripts` can skip it too. Under pnpm the script configures nothing. If it did not run, run `agit setup` once yourself. Prebuilt binaries for Linux, macOS and Windows bundle Git and Git LFS. Other platforms such as FreeBSD need a source build with rustc 1.88 or newer and a C compiler. Then run `agit login`.
Every search needs you to be signed in, including `local=true` searches of saved local history. Local search does not accept `scope`, `here` or filters that only the hub supports. A search batch holds at most 16 queries. If `commit` gets no `target` (owner/repo@branch) and the server's environment has no AGIT_SESSION, it saves nothing and returns an error. It never falls back to the most recent session. `agit mcp` is a hidden subcommand, so it is not listed in `agit --help`. The makers warn against installing `@einsia/agentgit` (without the hyphen): it is the old CLI and does not work with the current hub.
It suits developers and teams who already record their Claude Code, Codex, OpenCode or Cursor sessions with agit and want their agents to search and read that history and save new turns. Without an AgentGit hub account and sessions saved through agit it has nothing to work on. It is not a general git server, because its tools only cover agit session history. For ordinary repositories, branches or pull requests, pick a git or code-host server instead.
7 only read, 1 changes things. A ? marks an optional parameter.
searchquery?: stringqueries?: arraylocal?: booleantype?: enumsort?: enumlimit?: integerpage?: integerscope?: stringhere?: booleanrepo?: stringowner?: stringauthor?: stringsince?: stringbefore?: stringruntime?: stringscopes?: arraytool?: stringpath?: stringactivityrepo: stringauthor: stringsince: stringbefore: stringsession?: stringcursor?: stringlimit?: integerassistant?: enumshowref?: stringviewref?: stringstatuscommit changestarget?: stringmilestone?: stringrc_statusrc_list