Clean MCP gives Claude Code, Cursor, and any MCP client meaning-aware code search — tree-sitter parsing, a call graph, and local embeddings, from one server.
Hosted cloud, or free open source — up to you. MIT · no lock-in.
find the function that validates email on signup
full source + callers/callees · one call
Semantic retrieval, a real call graph, and tiered results — so your agent spends tokens on the right code, not on grepping.
Describe behaviour, not keywords. Finds code by what it does — “the function that validates email on signup.”
Embeddings, metadata, and source live in ~/.clean/. Nothing leaves your machine. No API keys, no telemetry.
Drops into Claude Code, Cursor, Codex, or any MCP client over stdio. One line of config.
Point it at a local folder or a public GitHub repo. Clone-and-index happens in the background.
Real AST parsing for Python, JavaScript, and TypeScript — not regex guesswork.
Results carry direct callers and callees, so the agent sees how a function is actually used.
Same semantic search either way. Pick what fits — your laptop or our cloud.
Runs entirely on your laptop. Indexes stay on disk in ~/.clean/. No account, no API keys, no telemetry.
git clone https://github.com/cleanmcp/clean-mcp.git python -m pip install -e ".[dev]" claude mcp add clean -- python -m clean.local.mcp_server
Managed indexing and shared context for your whole team. Zero setup, always-on, indexes kept warm.
{
"mcpServers": {
"clean": {
"command": "npx",
"args": ["-y", "mcp-remote",
"https://api.tryclean.ai/mcp/sse",
"--header", "Authorization:Bearer <key>"]
}
}
}Spin up the open-source server in a minute, or skip setup with the cloud. Same search, your choice.