MCP Directory

How to add CICADA to Cursor

Context compaction for AI coders: token-efficient, AST-level code intelligence across 17+ languages. Paste the config into ~/.cursor/mcp.json and restart Cursor.

Last updated June 14, 2026 · 37 · stdio · no auth

Cursor 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

  1. 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
  2. 2Paste the CICADA config below into the "mcpServers" object.
  3. 3Fill in placeholder secrets, then save.
  4. 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
  5. 5Ask Cursor to use one of CICADA's tools to confirm it's connected.

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 Cursor

query

Smart 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_module

Deep 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_function

Function 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_history

Unified 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_result

Drill 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_jq

Advanced 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 + Cursor FAQ

Where is the Cursor config file?

Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the CICADA config there under the "mcpServers" key and restart the client.

Is CICADA safe to use with Cursor?

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`.

View repo Full CICADA page