Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"zoekt": {
"env": {
"ZOEKT_URL": "http://localhost:6070"
},
"args": [
"zoekt-mcp"
],
"type": "stdio",
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP server that exposes Sourcegraph Zoekt code search to any MCP-capable AI agent — Claude Code, Claude Desktop, Cursor, MCP Inspector, etc. — so the agent can run fast, indexed, regex/symbol-aware code search over your repositories regardless of the language you're working in.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'zoekt-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked zoekt-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools / search
Web and local search using Brave Search API
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Production ready MCP server with real-time search, extract, map & crawl.
MCP Security Weekly
Get CVE alerts and security updates for io.github.radiovisual/zoekt-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server that exposes Sourcegraph Zoekt code search to any MCP-capable AI agent — Claude Code, Claude Desktop, Cursor, MCP Inspector, etc. — so the agent can run fast, indexed, regex/symbol-aware code search over your repositories regardless of the language you're working in.
zoekt-webserver you run yourself via the Docker
Compose file attached to every
GitHub release —
or point the MCP server at any existing zoekt-webserver you have
lying around.search_code, list_repos, get_file.flowchart LR
subgraph Client["MCP client"]
CC["Claude Code<br/>Claude Desktop<br/>Cursor, etc."]
end
subgraph Server["zoekt-mcp (Python)"]
Tools["search_code<br/>list_repos<br/>get_file"]
end
subgraph Backend["Docker: zoekt backend"]
Web["zoekt-webserver"]
Idx[("zoekt index<br/>named volume")]
Indexer["zoekt-indexer<br/>(one-shot)"]
end
Code[("Your code<br/>bind mount")]
CC <-->|"stdio<br/>MCP protocol"| Tools
Tools <-->|"HTTP JSON<br/>/api/search<br/>/api/list<br/>/print"| Web
Web --> Idx
Code --> Indexer
Indexer --> Idx
sequenceDiagram
actor You
participant Claude as Claude Code
participant MCP as zoekt-mcp
participant Web as zoekt-webserver
participant Idx as zoekt index
You->>Claude: "where is getVideoId defined?"
Claude->>MCP: search_code("sym:getVideoId")
MCP->>Web: POST /api/search
Web->>Idx: scan shards
Idx-->>Web: matches + ctags symbols
Web-->>MCP: raw JSON result
Note over MCP: trim to {repo, file,<br/>line, text, symbols}
MCP-->>Claude: shaped result
Claude-->>You: "src/index.js:17 (function)"
Getting from "nothing installed" to "Claude can search my code" is three steps: install the MCP server, run the backend, wire it into your client. No git clone required in any of them.
You need exactly one of these to run the MCP server, plus Docker for the backend:
uv on your PATH — for the
uvx zoekt-mcp install path. MCP clients spawn the server via
uvx, so which uv must resolve in whatever shell your client
launches processes in. Install once per machine:
# Official installer (macOS / Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Homebrew
brew install uv
# pipx
pipx install uv
The installer drops uv and uvx into ~/.local/bin/ (Linux/macOS)
or %USERPROFILE%\.local\bin\ (Windows). Verify with uv --version.
…or Docker — for the docker run ghcr.io/radiovisual/zoekt-mcp
install path. Any recent Docker