Code intelligence MCP server for 17+ programming languages.
CICADA (io.github.wende/cicada) โ Model Context Protocol (MCP) Server
The io.github.wende/cicada server provides code intelligence for AI assistants across 17+ programming languages. It focuses on contextual analysis, discovery, and attribution, using context compaction to deliver token-efficient access to languages such as Elixir, Python, TypeScript, JavaScript, and Rust.
๐ ๏ธ Key Features
Code intelligence with contextual analysis, discovery, and attribution
Context compaction for AI code assistants
Access to 17+ programming languages
๐ Use Cases
Enable structured, token-efficient code context for AI assistants
Support code understanding across multiple languages (e.g., Elixir, Python, Rust)
โก Developer Benefits
Designed for tighter context via compaction (token-efficiency is emphasized in the source)
โ ๏ธ Limitations
No tool count or specific tool behavior is provided in the available server data
โ ๏ธ Disclaimer โ Today's AI agents operate completely differently from when this project was conceived. In current benchmarks, using a code intelligence tool yields little to no advantage for frontier models. CICADA is discontinued, and I'd advise against using it or any other "code intelligence" tool.
Code Intelligence: Contextual Analysis, Discovery, and Attribution
Context compaction for AI code assistants โ Give your AI structured, token-efficient access to 17+ languages including Elixir, Python, TypeScript, JavaScript, Rust, and more.
The core problem: AI code assistants waste context on blind searches. Grep dumps entire files when you only need a function signature, leaving less room for actual reasoning.
The Context Compaction Approach
Instead of raw text dumps, CICADA gives your AI structured, pre-indexed knowledge:
Traditional Search
CICADA
Grep dumps entire files
Returns only signatures + call sites
Misses aliased imports
Tracks all reference types
No semantic understanding
Keyword search finds verify_credentials when you ask for "authentication"
What You Get
AST-level indexing โ Module/function/class definitions with signatures, specs, docs
cicada watch - Watch for file changes and automatically reindex
cicada index - Re-index code with custom options (-f/--force, --keywords, --embeddings, --watch)
cicada index-pr - Index pull requests for PR attribution
cicada run [tool] - Execute any of the 7 MCP tools directly from CLI
cicada agents install - Install Claude Code agents to ./.claude/ directory
cicada link [parent_dir] - Links current repository to an existing index
cicada clean - Completely removes cicada integration from your folder as well as all settings
Ask your assistant:
code
# Elixir
"Show me the functions in MyApp.User"
"Where is authenticate/2 called?"
# Python
"Show me the AuthService class methods"
"Where is login() used in the codebase?"
# Both languages
"Find code related to API authentication"
Privacy & Security
100% local: parsing + indexing happen on your machine; no external access.
No telemetry: CICADA doesn't collect usage or any telemetry.
Read-only tools: MCP endpoints only read the index; they can't change your repo.
Optional GitHub access: PR features rely on gh and your existing OAuth token.
When to choose CICADA: You want local-first operation with rich git context (PR attribution, blame, function evolution tracking) and efficient token usage.
When to choose Serena: You need code editing capabilities through LSP and can accept higher resource usage.
When to choose Codicil: You have an Elixir project and prefer LLM-powered semantic summaries (Elixir-only).
Contributing
bash
git clone https://github.com/wende/cicada.git
cd cicada
uv sync
pytest