MCP Directory

CICADA

Context compaction for AI coders: token-efficient, AST-level code intelligence across 17+ languages.

Unverified
stdio (local)
No auth
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
uv tool install cicada-mcp

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "cicada": {
      "command": "cicada-mcp",
      "args": [
        "--watch"
      ],
      "env": {
        "CICADA_CONFIG_DIR": "/home/user/.cicada/projects/<hash>"
      }
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

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

About CICADA

CICADA is a local-first MCP server for context compaction: it pre-indexes your codebase at the AST level and serves AI assistants only the signatures, call sites, and metadata they need, dramatically cutting tokens and back-and-forth. It supports 17+ languages (Elixir and Python/TS/JS/Rust production-ready; many others in beta), tracks bidirectional call graphs with alias/import resolution, offers semantic search via keyword extraction or Ollama embeddings, and adds git + GitHub PR attribution so assistants can answer not just 'what' code does but 'why' it exists. Installation is one command per editor (e.g. cicada claude, cicada cursor), which writes the editor's MCP config and runs an incremental index.

Tools & capabilities (6)

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.

When to use it

  • Give an AI assistant token-efficient, structured context about a large codebase instead of dumping whole files via grep
  • Inspect a module's full public/private API (signatures, specs, docs) before editing
  • Trace where a function is called or what a module depends on for impact analysis
  • Answer 'which PR introduced this line?' or 'what did reviewers say about this file?' via git + PR attribution
  • Find code by concept across polyglot Elixir/Python/TypeScript/Rust codebases using keyword or embedding-based semantic search

Security notes

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 FAQ

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

Which languages are supported?

Production-ready: Elixir, Python, TypeScript, JavaScript, and Rust. Beta: Erlang, Go, Java/Kotlin/Scala, C/C++, Ruby, C#/Visual Basic, Dart, and PHP — 17+ languages in total, with automatic language detection.

How do I enable automatic re-indexing?

Start the MCP server with the --watch flag (add `"args": ["--watch"]` in your .mcp.json). A separate process monitors source files, reindexes incrementally with a 2-second debounce, and stops when the MCP server stops.

Alternatives to CICADA

Compare all alternatives →

Microsoft's official browser-automation MCP using Playwright's accessibility tree (no vision model).

Featured
Verified
stdio (local)
No auth
TypeScript
12 tools
Updated 21 days agoRepo

Up-to-date, version-specific library documentation injected into your coding agent.

Verified
stdio (local)
API key
TypeScript
2 tools
Updated 25 days agoRepo

Code intelligence engine that indexes repos into a persistent knowledge graph for AI coding agents.

Unverified
stdio (local)
No auth
C
14 tools
Updated 11 hours agoRepo