Documentation.
Five steps from zero to a working AI assistant that understands your codebase: download the binary, start the server, connect your AI client, learn the CLI, and explore the 32 MCP tools.
Grab the binary for your platform.
Statically-linked native binary for macOS, Linux, and Windows. No Node, no Python, no Docker. The right GPU build (CPU / CUDA / DirectML / Metal / TensorRT) is selected when you pick the download — see /pricing for tier details.
- Sign in to your account dashboard and download the binary for your platform from the Downloads tab.
- Move the binary to a folder on your
$PATH(e.g./usr/local/binon macOS / Linux, or a folder added toPATHon Windows). - Verify the install:
bash
codeindexer --version
Package-manager installers (Homebrew, Scoop, apt) are coming. This page will be updated when they ship.
Start the server and open the dashboard.
Start the MCP server (it binds to 127.0.0.1:8978 by default — local only, no LAN exposure):
codeindexer serve
Open the local dashboard in your browser to manage projects, view indexing jobs, browse search history, and configure auth:
open http://127.0.0.1:8978/
The dashboard runs on the same port as the MCP endpoint (/mcp) — same process, same authentication, separate UI routes. Set a password under Settings if you plan to expose the dashboard beyond localhost.
Connect every major AI client.
Copy-paste config for each supported client. The server must be running (codeindexer serve) for HTTP transport; stdio transport launches the binary on demand.
Option A — one-click deeplink (Cursor 0.45+)
Open this URL in your browser; Cursor will intercept it:
cursor://anysphere.cursor-deeplink/mcp/install?name=codeindexer&config=eyJ1cmwiOiJodHRwOi8vbG9jYWxob3N0Ojg5NzgvbWNwIn0=
The base64 payload decodes to {"url":"http://localhost:8978/mcp"}.
Option B — edit config file manually
Global: ~/.cursor/mcp.json (every project). Project: .cursor/mcp.json (committed with the repo).
{
"mcpServers": {
"codeindexer": {
"url": "http://localhost:8978/mcp"
}
}
}
Restart Cursor or reload the MCP panel in Settings → MCP.
Option A — one-liner via the claude CLI
HTTP transport (needs codeindexer serve running):
claude mcp add --transport http codeindexer \
--scope user http://127.0.0.1:8978/mcp
stdio transport (no server needed, Claude launches the binary):
claude mcp add --transport stdio codeindexer \
--scope user -- codeindexer serve --stdio
Scope flags: --scope user → ~/.claude.json; --scope project → .mcp.json (committed); --scope local → .claude/settings.local.json.
Option B — edit config manually
User scope: ~/.claude.json. Project scope: .mcp.json in repo root.
{
"mcpServers": {
"codeindexer": {
"type": "http",
"url": "http://127.0.0.1:8978/mcp"
}
}
}
⚠ Important: set "type": "http" — not "sse". Claude Code uses "http" for the Streamable HTTP transport; without it, the URL is treated as a subprocess.
Option A — one-liner via the codex CLI
Streamable HTTP (needs codeindexer serve):
codex mcp add codeindexer --url http://localhost:8978/mcp
stdio (no server needed):
codex mcp add codeindexer -- codeindexer serve --stdio
Add --bearer-token-env-var NAME to send Authorization: Bearer $NAME with every HTTP request.
Option B — edit ~/.codex/config.toml
stdio:
[mcp_servers.codeindexer]
command = "codeindexer"
args = ["serve", "--stdio"]
Streamable HTTP:
[mcp_servers.codeindexer]
url = "http://localhost:8978/mcp"
Project-scoped variant (only loaded for trusted projects): .codex/config.toml in the repo root.
Config file: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or equivalent on other OS.
{
"mcpServers": {
"codeindexer": {
"command": "codeindexer",
"args": ["serve", "--stdio"]
}
}
}
No running server needed — Claude Desktop launches codeindexer automatically.
Config file: ~/.gemini/antigravity/mcp_config.json
{
"mcpServers": {
"codeindexer": {
"url": "http://localhost:8978/mcp"
}
}
}
Antigravity uses Streamable HTTP (/mcp), not SSE. Restart Antigravity after editing.
Option A — one-liner via the code CLI
code --add-mcp {"name":"codeindexer","type":"http","url":"http://localhost:8978/mcp"}
For VS Code Insiders use code-insiders. The entry is written to your User-profile mcp.json; trust the server on first use.
Option B — edit mcp.json manually
In VS Code run MCP: Open User Configuration or MCP: Add Server. Or open the file directly:
- macOS —
~/Library/Application Support/Code/User/mcp.json - Linux —
~/.config/Code/User/mcp.json - Windows —
%APPDATA%\Code\User\mcp.json
Workspace-scoped: .vscode/mcp.json (committed with repo).
{
"servers": {
"codeindexer": {
"type": "http",
"url": "http://localhost:8978/mcp"
}
}
}
⚠ Plan mode notice: built-in Plan mode in VS Code Copilot disables non-built-in tools, including MCP servers. Use Agent mode (MCP tools fully available) or define a custom chat mode that whitelists codeindexer tools — see the README on GitHub for the template.
Config file: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"codeindexer": {
"command": "codeindexer",
"args": ["serve", "--stdio"]
}
}
}
Verify: ask your agent “What MCP tools do you have available?” — it should list search_code, find_references, find_callers, and the rest of the 32-tool set.
Command reference.
The commands you'll reach for most often. Run codeindexer --help for the complete list and codeindexer <command> --help for per-command flags.
Indexing
codeindexer index <path>
|
Index a project directory |
codeindexer reindex <project>
|
Reindex (incremental by default; --force for full) |
codeindexer status
|
List indexed projects with stats |
codeindexer delete <project>
|
Remove a project from the index |
codeindexer relocate <project> <new-path>
|
Update project path without reindexing |
Server
codeindexer serve
|
Start the MCP server (default: 127.0.0.1:8978) |
codeindexer serve --stdio
|
Run over stdio transport (no HTTP server, agent launches binary directly) |
codeindexer info
|
System information and diagnostics |
codeindexer doctor
|
Health checks — metadata, index integrity, duplicates |
Search and navigation
codeindexer search <query>
|
Search code from the terminal (for testing) |
codeindexer references <symbol>
|
Find all references to a symbol |
codeindexer callers <function>
|
Who calls this function |
codeindexer callees <function>
|
What does this function call |
Project management
codeindexer tag
|
Manage project tags |
codeindexer alias
|
Manage project aliases (alternative names that resolve to the project) |
codeindexer project-config
|
Show effective .indexer.toml for debugging |
codeindexer init
|
Generate default config with all options documented |
codeindexer config
|
Manage configuration files |
Index maintenance
codeindexer compact
|
Merge fragmented LanceDB files after reindex cycles |
codeindexer rebuild-fts
|
Rebuild the full-text search index without re-embedding |
codeindexer rebuild-index
|
Rebuild the vector index (IVF-PQ / HNSW) |
codeindexer quantize
|
Compress vectors in an existing project (TurboQuant) |
License
codeindexer activate <key>
|
Activate a license key on this machine |
codeindexer license
|
Show current license status |
codeindexer deactivate
|
Free this seat for another machine |
codeindexer upgrade
|
Check for updates and upgrade to the latest version |
Audit and reports (Security tier)
codeindexer audit <project>
|
Generate a code-quality / security audit report |
codeindexer ci-init --platform <github|gitlab|pre-commit>
|
Generate a CI/CD pipeline (or pre-commit hook) that runs audit and fails on HIGH/CRITICAL |
codeindexer report
|
Manage curated long-form Markdown reports |
codeindexer cards export
|
Export memory cards to a Markdown vault |
Async jobs
codeindexer jobs
|
List active indexing jobs (requires running server) |
codeindexer pause / resume / cancel
|
Control an active indexing job |
codeindexer activity-log
|
View mutation history |
~/.config/codeindexer/config.toml (global) and .indexer.toml (per project). Run codeindexer init to generate a default config with every option documented inline.
One server. 32 tools.
Every workflow.
Your AI agent doesn't see a “code indexer” — it sees a toolbox. Here's what's in it.