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 | bash

Supported 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. -i and --repos take one path everywhere (index, serve, config mcp-config); multi-root setups aren't supported. If your clones are split across, say, ~/code/work and ~/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/repos

Repo basenames must be unique across roots β€” ln will 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.

chevron-rightManual stdio smoke test (optional)hashtag

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

Command
What it does

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 .bak files are left next to each rcfile.

Flags:

  • --revert-mcp β€” deletes the bitoarch-local entry from every supported MCP client config (Claude Desktop, Cursor, Windsurf, Cline, VS Code Copilot, Zed, Amazon Q, Xcode on macOS) and from Claude Code via claude 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]envelope

Last updated