io.github.wende/cicada
CICADA
mcp-name: io.github.wende/cicada
Code Intelligence: Contextual Analysis, Discovery, and Attribution
Kontextkomprimierung für KI-Code-Assistenten – Geben Sie Ihrer KI strukturierten, tokeneffizienten Zugriff auf 17+ Sprachen, darunter Elixir, Python, TypeScript, JavaScript, Rust und mehr.
Bis zu 50 % weniger Wartezeit · Bis zu 70 % weniger Tokens · Bis zu 99 % weniger Erklärungsaufwand Engerer Kontext = Bessere Qualität
Schnellinstallation · Sicherheit · Entwickler · KI-Assistenten · Dokumentation
Warum CICADA?
Das Kernproblem: KI-Code-Assistenten verschwenden Kontext mit blinden Suchen. Grep wirft ganze Dateien aus, obwohl nur eine Funktionssignatur benötigt wird, und lässt weniger Raum für tatsächliches Denken.
Der Ansatz der Kontextkomprimierung
Anstelle von rohen Textauszügen gibt CICADA Ihrer KI strukturiertes, vorindiziertes Wissen:
Traditionelle Suche | CICADA |
Grep wirft ganze Dateien aus | Gibt nur Signaturen + Aufrufstellen zurück |
Übersieht importierte Aliase | Verfolgt alle Referenztypen |
Kein semantisches Verständnis | Stichwortsuche findet |
Was Sie bekommen
AST-Level-Indexierung – Modul-/Funktions-/Klassendefinitionen mit Signaturen, Spezifikationen, Dokumentation
Unterstützung für 17+ Sprachen – Elixir, Python, TypeScript, JavaScript, Rust, Go, Java, Kotlin, Scala, C/C++, Ruby, C#, Visual Basic, Dart, PHP, Erlang (Beta)
Vollständige Aufrufstellenverfolgung – Aliase, Importe, dynamische Referenzen in allen unterstützten Sprachen
Semantische Suche – Finden Sie Code nach Konzept mit Stichwortextraktion oder Embeddings (Ollama-Integration)
Git + PR-Zuordnung – Zeigen Sie auf, warum Code existiert, nicht nur, was
Abhängigkeitsanalyse – Bidirektionale Verfolgung (was ruft dies auf, was ruft dies auf)
Automatische Spracherkennung – Funktioniert nahtlos in polyglotten Codebasen
Related MCP server: CodeGraph
Installieren
# 1. Install uv (if needed)
# curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install cicada-mcp
# In your repo
cicada claude # or: cicada cursor, cicada vs, cicada gemini, cicada codex, cicada opencode, cicada zeduvx cicada-mcp claude # or cursor, vsoder
claude mcp add cicada uvx cicada-mcpgemini mcp add cicada uvx cicada-mcpcodex mcp add cicada uvx cicada-mcpkimi mcp add --transport stdio cicada -- cicada-mcpVerwendet die integrierte MCP-Verwaltung Ihres Editors, um CICADA zu installieren.
Verfügbare Befehle nach der Installation:
cicada [claude|cursor|vs|gemini|codex|opencode|zed]- Ein-Befehl-interaktive Einrichtung pro Projektcicada-mcp- MCP-Server (wird automatisch vom Editor gestartet)cicada serve- Startet REST-API-Server für HTTP-Zugriff auf alle MCP-Toolscicada status- Zeigt Indexstatus, PR-Index, Linkstatus, Agentendateien, MCP-Konfigurationen ancicada stats [repo]- Zeigt Nutzungsstatistiken (Tool-Aufrufe, Tokens, Ausführungszeiten)cicada watch- Überwacht Dateiänderungen und indiziert automatisch neucicada index- Indiziert Code mit benutzerdefinierten Optionen neu (-f/--force,--keywords,--embeddings,--watch)cicada index-pr- Indiziert Pull-Requests für die PR-Zuordnungcicada run [tool]- Führt eines der 7 MCP-Tools direkt über die CLI auscicada agents install- Installiert Claude Code-Agenten im Verzeichnis./.claude/cicada link [parent_dir]- Verknüpft das aktuelle Repository mit einem bestehenden Indexcicada clean- Entfernt die CICADA-Integration vollständig aus Ihrem Ordner sowie alle Einstellungen
Fragen Sie Ihren Assistenten:
# 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"Datenschutz & Sicherheit
100 % lokal: Parsing + Indexierung erfolgen auf Ihrem Rechner; kein externer Zugriff.
Keine Telemetrie: CICADA sammelt keine Nutzungsdaten oder Telemetrie.
Nur-Lese-Werkzeuge: MCP-Endpunkte lesen nur den Index; sie können Ihr Repository nicht ändern.
Optionaler GitHub-Zugriff: PR-Funktionen basieren auf
ghund Ihrem vorhandenen OAuth-Token.Datenlayout:
~/.cicada/projects/<repo_hash>/ ├─ index.json # modules, functions, call sites, metadata ├─ config.yaml # indexing options + mode ├─ hashes.json # incremental indexing cache └─ pr_index.json # optional PR metadata + reviewsIhr Repository erhält lediglich eine Editor-Konfiguration (
.mcp.json,.cursor/mcp.json,.vscode/settings.json,.gemini/settings.json,.codex/mcp.jsonoder.opencode.json).
Für Entwickler
Binden Sie CICADA einmal in Ihren Editor ein, und jede Assistentensitzung erbt den Kontext.
Installieren & Konfigurieren
cd /path/to/project
cicada claude # or cicada cursor / cicada vs / cicada gemini / cicada codex / cicada opencode / cicada zedPR-Zuordnung aktivieren (optional)
brew install gh # or apt install gh
gh auth login
cicada index-pr . # incremental
cicada index-pr . --clean # full rebuildErmöglicht Fragen wie „Welcher PR hat Zeile 42 eingeführt?“ oder „Was haben die Reviewer zu billing.ex gesagt?“
Automatische Neuindizierung mit Watch-Modus
Aktivieren Sie die automatische Neuindizierung bei Dateiänderungen, indem Sie den MCP-Server mit dem Flag --watch starten:
** .mcp.json**
{
"mcpServers": {
"cicada": {
"command": "cicada-mcp",
"args": ["--watch"],
"env": {
"CICADA_CONFIG_DIR": "/home/user/.cicada/projects/<hash>"
}
}
}
}Wenn der Watch-Modus aktiviert ist:
Ein separater Prozess überwacht
.ex,.exs(Elixir) und.py(Python)-Dateien auf ÄnderungenÄnderungen werden automatisch neu indiziert (inkrementell, schnell)
Eine 2-Sekunden-Entprellung verhindert übermäßige Neuindizierung bei schnellen Bearbeitungen
Der Watch-Prozess stoppt automatisch, wenn der MCP-Server stoppt
Ausgeschlossene Verzeichnisse:
deps,_build,node_modules,.git,assets,priv,.venv,venv
CLI-Spickzettel
Hinweis: Die Spracherkennung erfolgt automatisch – CICADA erkennt Elixir (mix.exs) und Python (pyproject.toml)-Projekte automatisch.
Befehl | Zweck | Ausführen, wenn |
| MCP konfigurieren + inkrementelle Neuindizierung | Ersteinrichtung, nach lokalen Änderungen |
| Indexzustand, Linkstatus, Agentendateien prüfen | Nach Einrichtung, Fehlerbehebung |
| Nutzungsstatistiken und Token-Metriken anzeigen | Monatliche Überprüfungen, Optimierung |
| Dateien überwachen und bei Änderungen automatisch neu indizieren | Während der aktiven Entwicklung |
| Mit Stichwortindexierung neu erstellen | Nach großen Refactorings oder Aktivierung des Stichwortmodus |
| Mit Embeddings neu erstellen (semantische Suche) | Wenn Sie eine Ollama-gestützte semantische Analyse wünschen |
| PR-Metadaten/-Bewertungen synchronisieren | Nachdem neue PRs gemergt wurden |
Fehlerbehebung
Führen Sie zuerst den Indexer aus:
cicada index /path/to/projectStellen Sie sicher, dass die Indexierung erfolgreich abgeschlossen wurde. Überprüfen Sie ~/.cicada/projects/<hash>/index.json.
Verwenden Sie den genauen Modulnamen, wie er im Code erscheint (z. B. MyApp.User, nicht User).
Wenn das Modul kürzlich hinzugefügt wurde, indizieren Sie neu:
cicada index .Checkliste zur Fehlerbehebung:
Überprüfen, ob die Konfigurationsdatei existiert:
# For Claude Code ls -la .mcp.json # For Cursor ls -la .cursor/mcp.json # For VS Code ls -la .vscode/settings.jsonPrüfen, ob Pfade absolut sind:
cat .mcp.json # Should contain: /absolute/path/to/project # Not: ./project or ../projectSicherstellen, dass der Index existiert:
ls -la ~/.cicada/projects/ # Should show directory for your projectEditor vollständig neu starten (nicht nur Fenster neu laden)
Editor-MCP-Protokolle prüfen:
Claude Code: --debug
Cursor: Einstellungen → MCP → Protokolle anzeigen
VS Code: Ausgabefeld → MCP
GitHub CLI einrichten:
# Install GitHub CLI
brew install gh # macOS
sudo apt install gh # Ubuntu
# or visit https://cli.github.com/
# Authenticate
gh auth login
# Index PRs
cicada index-prHäufige Probleme:
„Kein PR-Index gefunden“ → Führen Sie
cicada index-pr .aus„Kein GitHub-Repository“ → Stellen Sie sicher, dass das Repository ein GitHub-Remote hat
Langsame Indexierung → Die erste Indexierung ruft alle PRs ab; nachfolgende Läufe sind inkrementell
Ratenbegrenzung → Die GitHub-API hat Ratenbegrenzungen; warten Sie und wiederholen Sie den Vorgang, wenn Sie die Grenzen erreichen
Neuerstellung erzwingen:
cicada index-pr --cleanFehler: „Stichwortsuche nicht verfügbar“
Ursache: Der Index wurde ohne Stichwortextraktion erstellt.
Lösung:
# Re-index with keyword extraction
cicada index . # or --keywordsÜberprüfen:
cat ~/.cicada/projects/<hash>/config.yaml
# Should show:
# indexing:
# mode: keywordsWeitere Details: PR-Indexierung, Inkrementelle Indexierung.
Anforderungen:
Node.js (für den scip-python-Indexer)
Python-Projekt mit pyproject.toml
Ersteinrichtung: CICADA installiert scip-python automatisch über npm beim ersten Indexieren. Dies kann eine Minute dauern.
Bekannte Einschränkungen (Beta):
Die erste Indexierung kann langsamer sein als bei Elixir (SCIP-Generierungsschritt)
Große virtuelle Umgebungen (.venv) werden automatisch ausgeschlossen
Einige dynamische Python-Muster werden möglicherweise nicht erfasst
Leistungstipps:
# Ensure .venv is excluded
echo "/.venv/" >> .gitignore
# Use keywords mode for quickest indexing
cicada index --keywords .Probleme melden: GitHub Issues mit dem Label „Python“
Für KI-Assistenten
CICADA liefert 7 spezialisierte MCP-Tools für eine effiziente Code-Erkundung in Elixir-, Python- und Erlang-Codebasen.
🧭 Welches Tool sollten Sie verwenden?
Bedarf | Tool | Hinweise | |
Erkundung beginnen |
| 🚀 HIER STARTEN - Intelligente Erkennung mit Stichworten/Mustern + Filtern (Bereich, aktuell, Pfad) | |
Vollständige API eines Moduls anzeigen |
| Funktionen, Signaturen, Spezifikationen, Dokumentation. Verwenden Sie | |
Finden, wo eine Funktion verwendet wird |
| Definition + alle Aufrufstellen. Unterstützt Platzhalter ( | `)-Muster |
Git-Verlauf verfolgen |
| Einheitliches Tool: Blame, Commits, PRs, Funktionsentwicklung (ersetzt 4 Legacy-Tools) | |
In Ergebnisse eintauchen |
| Erweitert automatisch Module oder Funktionen aus Abfrageergebnissen | |
Erweiterte Indexabfragen |
| Benutzerdefinierte jq-Abfragen für Power-User |
Möchten Sie diese Tools in Aktion sehen? Schauen Sie sich Vollständige Workflow-Beispiele mit Profi-Tipps und realen Szenarien an.
Kernwerkzeuge
query - Intelligente Code-Erkennung (Ihr Ausgangspunkt)
Erkennt automatisch Stichworte vs. Muster
Filter:
scope(öffentlich/privat),recent(letzte 14 Tage),filter_type(Module/Funktionen),match_source(Dokumentationen/Zeichenketten)Gibt Ausschnitte mit intelligenten nächsten Schritten zurück
Verwenden Sie
path_pattern, um nach Ort zu filtern
search_module - Tiefgehende Modulanalyse
Vollständige API anzeigen: Funktionen, Signaturen, Spezifikationen, Dokumentation
Für Python: Zeigt Klassen mit Methodenanzahlen und Signaturen
Für Elixir: Zeigt Funktionen mit Stelligkeitsnotation
Bidirektionale Analyse:
what_calls_it=true→ Wer verwendet dieses Modul (Auswirkungsanalyse)what_it_calls=true→ Wovon dieses Modul abhängt
Unterstützt Platzhalter (Elixir:
MyApp.*, Python:api.handlers.*) und ODER-Muster (MyApp.User|MyApp.Post)Nach Sichtbarkeit filtern (public/private/all)
search_function - Nachverfolgung der Funktionsnutzung
Definitionen und alle Aufrufstellen finden
what_calls_it=true(Standard) → Alle Aufrufer anzeigenwhat_it_calls=true→ Alle Abhängigkeiten anzeigenCodebeispiele mit
include_usage_examples=trueeinfügenNach
usage_typefiltern: source, tests oder all
Git-Verlauf (Einheitliches Werkzeug)
git_history - Alle Git-Operationen in einem Werkzeug
Einzelne Zeile:
git_history("file.ex", start_line=42)→ blame + PRZeilenbereich:
git_history("file.ex", start_line=40, end_line=60)→ gruppierter blameFunktionsverfolgung:
git_history("file.ex", function_name="create_user")→ EntwicklungDateiverlauf:
git_history("file.ex")→ alle PRs/CommitsZeitfilter:
recent=true(14d),recent=false(>14d),recent=null(alle)Autorenfilter:
author="john"Automatische PR-Index-Integration, wenn verfügbar
Zusätzliche Werkzeuge
expand_result - Detailansicht aus Abfrageergebnissen
Erkennt automatisch Modul vs. Funktion
Zeigt vollständige Details mit Nutzungsbeispielen
Konfigurierbar: Code, Abhängigkeiten, Aufrufer
Praktischer Wrapper um search_module und search_function
query_jq - Erweiterte Indexabfragen
Direkte jq-Abfragen gegen den Index
Schemaerkennung mit
| schemaKompakte (Standard) oder hübsche Ausgabe
Beispielmodus für große Ergebnisse
Detaillierte Parameter + Ausgabeformate: MCP_TOOLS_REFERENCE.md.
Token-freundliche Antworten
Alle Werkzeuge geben strukturierte Markdown/JSON-Ausschnitte (Signaturen, Aufrufstellen, PR-Metadaten) statt vollständiger Dateien zurück, um Prompts schlank zu halten.
Neu in v0.5.1: Alle Werkzeuge verwenden standardmäßig kompakte Ausgabe, um die Token-Nutzung zu minimieren. Verwenden Sie verbose=true für detaillierte Ausgabe mit vollständiger Dokumentation und Spezifikationen.
Dokumentation
Codebook – Vollständige Funktionsreferenz und Benutzerhandbücher
Workflows – Praxisbeispiele, die Werkzeuge miteinander verketten
Installation – Schritt-für-Schritt-Einrichtung für alle Editoren
Contributing – Entwicklungsrichtlinien und Architektur
CHANGELOG.md – Versionshinweise
Vertiefungen:
Keyword-Extraktionsanalyse – Semantische Suchinterna
PR-Indexierung – GitHub-Integrationsdetails
MCP-Werkzeugaufruf-Benchmarking – Token/Zeit-Benchmarks
Werkzeug-Auffindbarkeit – UX-Verbesserungsforschung
Roadmap
Aktueller Status
Produktionsreif:
✅ Elixir (tree-sitter)
✅ Python (SCIP)
✅ TypeScript (SCIP)
✅ JavaScript (SCIP)
✅ Rust (SCIP)
Beta:
🚧 Erlang (tree-sitter)
🚧 Go (SCIP)
🚧 Java/Kotlin/Scala (SCIP)
🚧 C/C++ (SCIP)
🚧 Ruby (SCIP)
🚧 C#/Visual Basic (SCIP)
🚧 Dart (SCIP)
🚧 PHP (SCIP)
Vergleich mit Alternativen
Funktion | CICADA | Codicil (nur Elixir) | |
Analysemethode | SCIP (statischer Index) | LSP (Echtzeitserver) | LLM-Zusammenfassungen + Embeddings |
Codebearbeitung | ❌ | ✅ | ❌ |
Git-Kontext | ✅ PR-Verlauf, blame, Entwicklung | ❌ | ❌ |
Ressourcennutzung | Niedrig (Lesen von Festplatte) | Hoch (dauerhafte Serverprozesse) | Mittel (API-Aufrufe) |
Datenschutz | 100% lokal | 100% lokal | Erfordert externe LLM-APIs |
Semantische Suche | Lokales Ollama oder Schlüsselwörter | ❌ | OpenAI/Anthropic-Embeddings |
Aufrufgraph | Bidirektional mit Alias-Auflösung | LSP-basiert | ❌ |
Wann CICADA wählen: Sie möchten einen lokalen Erstbetrieb mit umfangreichem Git-Kontext (PR-Zuordnung, blame, Funktionsentwicklungsverfolgung) und effizienter Token-Nutzung.
Wann Serena wählen: Sie benötigen Codebearbeitungsfähigkeiten durch LSP und können eine höhere Ressourcennutzung akzeptieren.
Wann Codicil wählen: Sie haben ein Elixir-Projekt und bevorzugen LLM-gestützte semantische Zusammenfassungen (nur Elixir).
Mitwirken
git clone https://github.com/wende/cicada.git
cd cicada
uv sync
pytestVor dem Einreichen eines PRs:
Führen Sie
black cicada testsausStellen Sie sicher, dass Tests + Abdeckung bestanden werden (
pytest --cov=cicada --cov-report=term-missing)Aktualisieren Sie die Dokumentation, wenn sich das Verhalten ändert
Wir begrüßen Issues/PRs für:
Neue Sprachgrammatiken
Verbesserungen der Werkzeugausgabe
Bessere Einführungsdokumentation und Tutorials
Lizenz
MIT – siehe LICENSE.
Verschwenden Sie keinen Kontext mit blinden Suchen. Geben Sie Ihrer KI CICADA.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides intelligent code context and analysis through semantic compression, AST parsing, and multi-language support. Offers 60-80% token reduction while enabling AI assistants to understand codebases through local analysis, OpenAI-enhanced insights, and GitHub repository integration.6123MIT
- Alicense-qualityAmaintenanceSupercharges AI coding agents with a pre-indexed semantic code graph, enabling instant symbol relationships, impact analysis, and context retrieval across 20+ languages.83,49166,716MIT
- Alicense-qualityBmaintenanceProvides AI coding assistants with deep, semantic understanding of local codebases via AST-aware chunking, cross-repo symbol graphs, and architectural memory, enabling context-aware code search and dependency tracing.10MIT
- Alicense-qualityDmaintenanceMake any LLM a codebase expert instantly. Provides deep code intelligence through semantic search, architecture mapping, security analysis, and smart context that fits perfectly in token windows.MIT
Related MCP Connectors
Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wende/cicada'
If you have feedback or need assistance with the MCP directory API, please join our Discord server