
How to add CICADA to Claude Desktop
Context compaction for AI coders: token-efficient, AST-level code intelligence across 17+ languages. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.
Last updated June 14, 2026 ยท 37โ ยท stdio ยท no auth
Claude Desktop config for CICADA
uv tool install cicada-mcp{
"mcpServers": {
"cicada": {
"command": "cicada-mcp",
"args": [
"--watch"
],
"env": {
"CICADA_CONFIG_DIR": "/home/user/.cicada/projects/<hash>"
}
}
}
}Setup steps
- 1Open Claude Desktop โ Settings โ Developer โ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
- 2Paste the CICADA config below under the top-level "mcpServers" key.
- 3Fill in any placeholder secrets (API keys, paths) in the snippet.
- 4Save the file, then fully quit and reopen Claude Desktop.
- 5Open a chat and confirm CICADA's tools appear under the ๐ tools menu.
Before you start
- uv (Astral) to install/run via `uv tool install cicada-mcp` or `uvx cicada-mcp`
- Python 3.10+
- An MCP-capable editor/assistant (Claude Code, Cursor, VS Code, Gemini, Codex, opencode, or Zed)
- Node.js โ required for SCIP-based language indexers (e.g. scip-python)
- GitHub CLI (gh), authenticated โ optional, only for PR attribution features
- Ollama โ optional, only for embeddings-based semantic search
What CICADA can do in Claude Desktop
querySmart code discovery and recommended starting point. Auto-detects keywords vs patterns and returns snippets with next-step suggestions. Supports filters: scope (public/private), recent (last 14 days), filter_type (modules/functions), match_source (docs/strings), and path_pattern.
search_moduleDeep module analysis: view a module's complete API (functions, signatures, specs, docs; classes with method counts for Python). Supports bidirectional analysis via what_calls_it (impact) and what_it_calls (dependencies), wildcards and OR patterns, and visibility filtering.
search_functionFunction usage tracking: find a function's definition and all call sites. what_calls_it (default) lists callers, what_it_calls lists dependencies; supports include_usage_examples and usage_type filtering (source, tests, or all). Supports wildcard (*) and OR (|) patterns.
git_historyUnified git tool covering blame, commits, PRs, and function evolution (replaces 4 legacy tools). Works on a single line, a line range, a named function, or a whole file, with time filtering (recent) and author filtering, plus automatic PR index integration when available.
expand_resultDrill down from query results. Auto-detects whether the target is a module or function and shows complete details (code, dependencies, callers) โ a convenient wrapper around search_module and search_function.
query_jqAdvanced index queries for power users: run direct jq queries against the index, discover the schema with `| schema`, choose compact or pretty output, and use sample mode for large result sets.
Security
100% local: parsing and indexing run on your machine with no external access and no telemetry. MCP tools are read-only โ they only read the index and cannot change your repo. Optional PR attribution features use the GitHub CLI (gh) and your existing OAuth token. Index data is stored under ~/.cicada/projects/<repo_hash>/; the only file added to your repo is an editor MCP config (.mcp.json, .cursor/mcp.json, .vscode/settings.json, etc.).
CICADA + Claude Desktop FAQ
Where is the Claude Desktop config file?
Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the CICADA config there under the "mcpServers" key and restart the client.
Is CICADA safe to use with Claude Desktop?
100% local: parsing and indexing run on your machine with no external access and no telemetry. MCP tools are read-only โ they only read the index and cannot change your repo. Optional PR attribution features use the GitHub CLI (gh) and your existing OAuth token. Index data is stored under ~/.cicada/projects/<repo_hash>/; the only file added to your repo is an editor MCP config (.mcp.json, .cursor/mcp.json, .vscode/settings.json, etc.).
Does CICADA send my code anywhere?
No. Parsing and indexing are 100% local with no external access and no telemetry. The only optional network use is the GitHub CLI for PR attribution (using your existing token) and, if you enable it, a local Ollama instance for embeddings.
Can CICADA modify my repository?
No. The MCP tools are read-only and only query the prebuilt index. The only thing CICADA writes into your repo is an editor MCP config file (e.g. .mcp.json or .cursor/mcp.json).
How do I install it for my editor?
Run `uv tool install cicada-mcp`, then in your project run the matching setup command โ `cicada claude`, `cicada cursor`, `cicada vs`, `cicada gemini`, `cicada codex`, `cicada opencode`, or `cicada zed`. You can also try it with zero install via `uvx cicada-mcp`, or add it directly, e.g. `claude mcp add cicada uvx cicada-mcp`.