Local repository intelligence for AI assistants
A single-binary tool that indexes your Git repositories and serves them via the Model Context Protocol (MCP), so AI assistants (Claude Desktop, Claude Code, Cursor, Windsurf, etc.) can search, navigate, and reason about your codebase.
Indexes your repos β code search, symbol tables, dependency graphs, metadata, TF-IDF vectors
Serves an MCP server exposing 13 tools your AI assistant calls automatically
Zero runtime dependencies β everything is bundled into the binary
Install
curl -fsSL https://bitoarch.bito.ai/install.sh | bashSupported on macOS (Apple Silicon and Intel) and Linux (x64 and arm64).
That places the binary at ~/.bito/bitoarch/bin/bitoarch-local and updates your PATH. Open a new terminal so the PATH update takes effect β or run source ~/.zshrc (or your shell's rc file) to pick it up in the current one.
Quick start
Once installed, three steps to a working MCP server your AI assistant can talk to.
Step 1 β Index your repos
Point -i at any directory that contains git repositories. The indexer scans that directory's top-level entries and picks up anything with a .git/ subdirectory. A single repo path also works β if the directory itself has a .git/, it's indexed as a single repo. Replace /path/to/your/repos in the examples below with your actual path β e.g. ~/code, ~/projects, /opt/repos, wherever your git clones live.
All your repos need to live under a single directory.
-iand--repostake one path everywhere (index,serve,config mcp-config); multi-root setups aren't supported. If your clones are split across, say,~/code/workand~/code/personal, gather them under one parent with a symlink farm and use that as your input:mkdir -p ~/repos-mcp ln -s ~/code/work/* ~/code/personal/* ~/repos-mcp/ # then pass ~/repos-mcp wherever the docs say /path/to/your/reposRepo basenames must be unique across roots β
lnwill refuse to overwrite an existing entry, so any collision surfaces immediately.
Indexing is incremental β re-running index hashes each repo and skips unchanged ones. No --force needed for normal workflows.
Step 2 β Verify the server works
Start the MCP server in HTTP mode on port 3000 (easier to verify than stdio mode, which is meant for AI assistants to connect to directly):
In another terminal, hit the health endpoint and call the listRepositories tool:
If you see your repos in the JSON response, the server works. Stop it with Ctrl+C.
Manual stdio smoke test (optional)
Stdio is the default transport β the AI assistant launches the binary and talks JSON-RPC over stdin/stdout, no ports involved. You rarely run this by hand; Step 3 wires it up automatically. To smoke-test it manually, send one request, read the reply, let stdin close β server exits:
Step 3 β Wire it into your AI assistant
Use the auto-configure command to add the server to every supported MCP client installed on your machine in one shot:
Supported clients (9 total): claude-desktop, claude-code, cursor, windsurf, cline, vscode-copilot, zed, amazon-q, xcode
Or configure one at a time:
Restart your AI assistant and bitoarch-local appears in its MCP tool list.
Common commands
index -i <dir>
Index git repos under <dir> (or a single repo path). Incremental by default.
serve
Start the MCP server. Stdio mode by default (what AI assistants use); --mode http --port 3000 for testing.
status
Show which repos are indexed and when they were last updated.
clean --repo <name>
Remove one repo's index data. clean --all --force wipes everything.
config mcp-config --all
Auto-configure every detected AI assistant to use this server.
info
Print version, build info, and binary path (useful for bug reports).
For every flag and every command, see the full CLI reference.
Uninstall
Standalone scripts mirror the installers and reverse only what they did. Safe by default β opt in to deeper cleanup with flags.
What the defaults touch:
Removes
~/.bito/bitoarch/bin/(the binary and its extracted native helpers).Strips the Bito
export PATH=...line from~/.bashrc,~/.zshrc, and~/.profile. Timestamped.bakfiles are left next to each rcfile.
Flags:
--revert-mcpβ deletes thebitoarch-localentry from every supported MCP client config (Claude Desktop, Cursor, Windsurf, Cline, VS Code Copilot, Zed, Amazon Q, Xcode on macOS) and from Claude Code viaclaude mcp remove. Other MCP servers in those configs are preserved.--purgeβ also deletes~/.bito/bitoarch/(indexed repo data, config cache, version-check cache). Irreversible β indexed data is lost.--dry-runβ prints every action, changes nothing.--yesβ skips confirmation prompts.
β Open a new terminal after uninstall β the current shell still has the old PATH.
Documentation
For full CLI reference, see the Available commands documentation β every command, every flag, every env var.
License
Proprietary and confidential β Bito Inc. All rights reserved.
Support
For issues or questions, feel free to email us at [email protected]
Last updated

