Hello, code.
Install, index, connect, ask. By the end of this page Claude Desktop (or Cursor, Zed, Continue) will be answering questions about your real codebase.
A free Tanvrit account signs you in; indexing and the local model then run offline.
- languages
- 21
- AI providers
- 10
- local servers
- 2
- steps to grounded
- 6
Install
Pick how you run it
Three first-party surfaces over the same local runtime — the same index, the same agents, the same staged edits.
Walkthrough
Install, index, connect, ask
Six steps from a fresh download to Claude Desktop answering from your real call graph.
- 1
Download Tanvrit AI
Pick the build for your OS: macOS
.dmg, Windows.msi, Linux.deb. The macOS build is Developer ID signed and notarized, so it opens cleanly on first launch. The Wasm portal at/app/needs no install and works in any browser, but engine-dependent features (local inference, file watching) are not available there. - 2
Open the app
First launch generates a fresh MCP bearer token and starts the local servers on
localhost:19280(OpenAI-compatible API) andlocalhost:19281(MCP). The dashboard shows a green health pill once both are up. - 3
Index a folder
Click Add project and point at any directory —
~/code/my-projectworks. Tanvrit AI walks the tree, parses 21 languages, and writes a SQLite index. Re-runs are incremental (hash-based), so subsequent indexes are fast.Honoured:
.gitignore. Skipped: oversize / binary files. Configurable in Settings → Indexer.That local index is what the fused
tanvrit_contextContext Pack reads to ground every agent answer. - 4
Copy your MCP bearer token
Open Settings → MCP Bearer Token, click Copy. The same token is also visible on the Dashboard's "Quick Connect" card. You can rotate it at any time — the server revokes the old one immediately.
- 5
Configure Claude Desktop
Edit Claude Desktop's
claude_desktop_config.json(macOS:~/Library/Application Support/Claude/claude_desktop_config.json; Windows:%APPDATA%\Claude\claude_desktop_config.json) and add Tanvrit AI as an MCP server.claude_desktop_config.json{ "mcpServers": { "tanvrit-ai": { "type": "http", "url": "http://localhost:19281", "headers": { "Authorization": "Bearer YOUR_TANVRIT_BEARER_TOKEN" } } } }Replace
YOUR_TANVRIT_BEARER_TOKENwith the value you copied in step 4. - 6
Restart Claude Desktop and ask
Quit and reopen Claude Desktop. The MCP server should show as connected (paperclip / plug icon). Ask:
What does the indexer do in this project?Claude will call
search_code,get_chunk, and friends — and answer grounded in your real code, not a hallucination.
More clients
Other MCP clients
Same bearer token, same URL — only the config file changes.
Cursor
Settings → MCP. Add this block:
{
"mcp.servers": {
"tanvrit-ai": {
"transport": "http",
"url": "http://localhost:19281",
"headers": {
"Authorization": "Bearer YOUR_TANVRIT_BEARER_TOKEN"
}
}
}
}Zed
Edit Zed's settings.json:
{
"context_servers": {
"tanvrit-ai": {
"command": {
"path": "curl",
"args": ["-N", "-H", "Authorization: Bearer YOUR_TANVRIT_BEARER_TOKEN", "http://localhost:19281"]
}
}
}
}Continue.dev
Edit ~/.continue/config.json:
{
"mcpServers": [
{
"name": "tanvrit-ai",
"transport": "http",
"url": "http://localhost:19281",
"headers": { "Authorization": "Bearer YOUR_TANVRIT_BEARER_TOKEN" }
}
]
}Run it
Connect a model, run an agent
Local models run fully offline; cloud models are bring-your-own-key. Nothing is pooled.
Local, on-device
Run qwen2.5-coder and ONNX embeddings fully offline. Download models from HuggingFace or bring your own — semantic code search works with no network.
Cloud, bring your own key
Add your key for Claude, OpenAI, Gemini, DeepSeek, Groq, Mistral or Ollama — 10 AI providers in total. There is no hosted tier; your key, your account.
Your first agent run
Pick an agent and a model in the app, or drive one non-interactively from the terminal. Every edit an agent proposes is staged for review — nothing touches disk until you apply it.
# One non-interactive agent task, grounded on your index.
tanvrit agent run --repo . --prompt "Add a retry to the upload path"Full options and exit codes live in the CLI reference.