Skip to main content
Glama
wende

io.github.wende/cicada

by wende

CICADA

mcp-name: io.github.wende/cicada

Code Intelligence: Contextual Analysis, Discovery, and Attribution

AIコードアシスタント向けコンテキスト圧縮 – Elixir、Python、TypeScript、JavaScript、Rustなど17以上の言語に対応した、構造化されたトークン効率の高いアクセスをAIに提供します。

待ち時間最大50%削減 · トークン最大70%削減 · 説明作業最大99%削減 コンテキストがコンパクト = 品質向上

Python Version License: MIT codecov MCP Compatible

Elixir Support Python Support TypeScript Support JavaScript Support Rust Support +12 More

Install MCP Server

クイックインストール · セキュリティ · 開発者向け · AIアシスタント向け · ドキュメント


CICADAの理由

中核的な問題: AIコードアシスタントは、盲目的な検索にコンテキストを浪費します。grepは関数シグネチャだけが必要な場合でもファイル全体をダンプし、実際の推論に使える余地が減ってしまいます。

コンテキスト圧縮アプローチ

生のテキストダンプの代わりに、CICADAはAIに構造化され、事前にインデックス化された知識を提供します:

従来の検索

CICADA

grepがファイル全体をダンプ

シグネチャ+呼び出し箇所のみを返す

エイリアスされたインポートを見逃す

すべての参照タイプを追跡

意味論的理解がない

キーワード検索で「認証」を尋ねると verify_credentials を見つけられる

得られるもの

  • ASTレベルのインデックス – シグネチャ、スペック、ドキュメントを含むモジュール/関数/クラス定義

  • 17以上の言語サポート – Elixir、Python、TypeScript、JavaScript、Rust、Go、Java、Kotlin、Scala、C/C++、Ruby、C#、Visual Basic、Dart、PHP、Erlang(ベータ版)

  • 完全な呼び出し箇所追跡 – サポートされているすべての言語におけるエイリアス、インポート、動的参照

  • セマンティック検索 – キーワード抽出または埋め込み(Ollama統合)による概念からのコード検索

  • Git + PR属性 – コードが なぜ 存在するのかを明らかにする(単なる内容だけでなく)

  • 依存関係分析 – 双方向追跡(これを呼び出すもの、これが呼び出すもの)

  • 自動言語検出 – 複数言語のコードベースでシームレスに動作


Related MCP server: CodeGraph

インストール

# 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 zed
uvx cicada-mcp claude   # or cursor, vs

または

claude mcp add cicada uvx cicada-mcp
gemini mcp add cicada uvx cicada-mcp
codex mcp add cicada uvx cicada-mcp
kimi mcp add --transport stdio cicada -- cicada-mcp

エディタの組み込みMCP管理を使用してCICADAをインストールします。

インストール後に利用可能なコマンド:

  • cicada [claude|cursor|vs|gemini|codex|opencode|zed] - プロジェクトごとのワンコマンド対話型セットアップ

  • cicada-mcp - MCPサーバー(エディタで自動起動)

  • cicada serve - すべてのMCPツールにHTTPアクセスするためのREST APIサーバーを起動

  • cicada status - インデックスステータス、PRインデックス、リンクステータス、エージェントファイル、MCP設定を表示

  • cicada stats [repo] - 使用統計(ツール呼び出し、トークン、実行時間)を表示

  • cicada watch - ファイル変更を監視し、自動的に再インデックス

  • cicada index - カスタムオプション(-f/--force--keywords--embeddings--watch)でコードを再インデックス

  • cicada index-pr - PR属性のためにプルリクエストをインデックス

  • cicada run [tool] - 7つのMCPツールのいずれかをCLIから直接実行

  • cicada agents install - Claude Codeエージェントを ./.claude/ ディレクトリにインストール

  • cicada link [parent_dir] - 現在のリポジトリを既存のインデックスにリンク

  • cicada clean - フォルダからcicada統合とすべての設定を完全に削除

アシスタントに尋ねる:

# 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"

プライバシーとセキュリティ

  • 100%ローカル: 解析とインデックス作成はマシン上で行われます。外部アクセスはありません。

  • テレメトリなし: CICADAは使用状況やテレメトリを収集しません。

  • 読み取り専用ツール: MCPエンドポイントはインデックスを読み取るのみで、リポジトリを変更することはできません。

  • オプションのGitHubアクセス: PR機能は gh と既存のOAuthトークンに依存します。

  • データ構成:

    ~/.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 + reviews

    リポジトリにはエディタ設定(.mcp.json.cursor/mcp.json.vscode/settings.json.gemini/settings.json.codex/mcp.json、または .opencode.json)のみが追加されます。


開発者向け

エディタに一度CICADAを組み込めば、すべてのアシスタントセッションがコンテキストを継承します。

インストールと設定

cd /path/to/project
cicada claude   # or cicada cursor / cicada vs / cicada gemini / cicada codex / cicada opencode / cicada zed

PR属性の有効化(オプション)

brew install gh    # or apt install gh
gh auth login
cicada index-pr .     # incremental
cicada index-pr . --clean   # full rebuild

「42行目を導入したPRはどれ?」や「レビュアーは billing.ex について何と言ったか?」といった質問が可能になります。

ウォッチモードによる自動再インデックス

--watch フラグを指定してMCPサーバーを起動することで、ファイル変更時の自動再インデックスが有効になります:

.mcp.json

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

ウォッチモードが有効な場合:

  • 別のプロセスが .ex.exs(Elixir)および .py(Python)ファイルの変更を監視します

  • 変更は自動的に再インデックスされます(増分的、高速)

  • 2秒のデバウンスにより、急な編集時の過剰な再インデックスを防ぎます

  • MCPサーバーが停止すると、ウォッチプロセスも自動的に停止します

  • 除外ディレクトリ: deps_buildnode_modules.gitassetspriv.venvvenv

CLIチートシート

注: 言語検出は自動です – CICADAはElixir(mix.exs)およびPython(pyproject.toml)プロジェクトを自動的に検出します。

コマンド

目的

実行するタイミング

cicada claude

MCPの設定+増分再インデックス

初回セットアップ時、ローカル変更後

cicada status

インデックス健全性、リンクステータス、エージェントファイルの確認

セットアップ後、トラブルシューティング時

cicada stats

使用統計とトークンメトリクスの表示

月次レビュー、最適化時

cicada watch

ファイルを監視し、変更時に自動再インデックス

アクティブな開発中

cicada index --keywords .

キーワードインデックスで再構築

大規模リファクタリング後、キーワードモード有効化時

cicada index --embeddings .

埋め込み(セマンティック検索)で再構築

Ollamaを利用したセマンティック分析が必要な場合

cicada index-pr .

PRメタデータ/レビューの同期

新しいPRがマージされた後

トラブルシューティング

最初にインデクサーを実行してください:

cicada index /path/to/project

インデックス作成が正常に完了したことを確認してください。~/.cicada/projects/<hash>/index.json を確認してください。

コードに表示されている正確なモジュール名を使用してください(例: MyApp.UserUser ではありません)。

モジュールが最近追加された場合は、再インデックスしてください:

cicada index .

トラブルシューティングチェックリスト:

  1. 設定ファイルが存在することを確認:

    # For Claude Code
    ls -la .mcp.json
    
    # For Cursor
    ls -la .cursor/mcp.json
    
    # For VS Code
    ls -la .vscode/settings.json
  2. パスが絶対パスであることを確認:

    cat .mcp.json
    # Should contain: /absolute/path/to/project
    # Not: ./project or ../project
  3. インデックスが存在することを確認:

    ls -la ~/.cicada/projects/
    # Should show directory for your project
  4. エディタを完全に再起動(ウィンドウの再読み込みのみではありません)

  5. エディタのMCPログを確認:

    • Claude Code: --debug

    • Cursor: 設定 → MCP → ログを表示

    • VS Code: 出力パネル → MCP

GitHub CLIのセットアップ:

# 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-pr

よくある問題:

  • 「PRインデックスが見つかりません」→ cicada index-pr . を実行

  • 「GitHubリポジトリではありません」→ リポジトリにGitHubリモートがあることを確認

  • インデックスが遅い → 初回インデックスはすべてのPRを取得します。以降の実行は増分的です

  • レート制限 → GitHub APIにはレート制限があります。制限に達した場合は待機して再試行

強制再構築:

cicada index-pr --clean

エラー: 「キーワード検索は利用できません」

原因: インデックスがキーワード抽出なしで構築されました。

解決策:

# Re-index with keyword extraction
cicada index .  # or --keywords

確認:

cat ~/.cicada/projects/<hash>/config.yaml
# Should show:
# indexing:
#   mode: keywords

詳細: PRインデックス増分インデックス

要件:

  • Node.js(scip-pythonインデクサー用)

  • pyproject.tomlを含むPythonプロジェクト

初回セットアップ: CICADAは初回インデックス時にnpm経由でscip-pythonを自動的にインストールします。これには1分かかる場合があります。

既知の制限(ベータ版):

  • 初回のインデックスはElixirよりも遅い場合があります(SCIP生成ステップ)

  • 大規模な仮想環境(.venv)は自動的に除外されます

  • 一部の動的Pythonパターンは捕捉されない可能性があります

パフォーマンスのヒント:

# Ensure .venv is excluded
echo "/.venv/" >> .gitignore

# Use keywords mode for quickest indexing
cicada index --keywords .

問題を報告: 「Python」ラベルを付けて GitHub Issues


AIアシスタント向け

CICADAは、Elixir、Python、およびErlangコードベースでの効率的なコード探索のために設計された7つの焦点を絞ったMCPツールを提供します。

🧭 どのツールを使うべきか?

ニーズ

ツール

備考

探索を開始

query

🚀 ここから始めましょう - キーワード/パターン+フィルター(スコープ、最近、パス)によるスマートな発見

モジュールの完全なAPIを表示

search_module

関数、シグネチャ、スペック、ドキュメント。双方向分析には what_calls_it/what_it_calls を使用

関数の使用箇所を検索

search_function

定義+すべての呼び出し箇所。ワイルドカード(*)およびOR(`

`)パターンをサポート

Git履歴を追跡

git_history

統合ツール: blame、コミット、PR、関数の進化(4つのレガシーツールを置き換え)

結果を詳細に調査

expand_result

クエリ結果からモジュールまたは関数を自動展開

高度なインデックスクエリ

query_jq

パワーユーザー向けカスタムjqクエリ

これらのツールの動作を確認したいですか? 完全なワークフロー例 でプロのヒントと実際のシナリオをご覧ください。

コアツール

query - スマートコード発見(出発点)

  • キーワードとパターンを自動検出

  • フィルター: scope(public/private)、recent(過去14日間)、filter_type(modules/functions)、match_source(docs/strings)

  • スマートな次のステップの提案を含むスニペットを返す

  • path_pattern を使用して場所でフィルタリング

search_module - 深いモジュール分析

  • 完全なAPIを表示: 関数、シグネチャ、仕様、ドキュメント

  • Python: メソッド数とシグネチャを持つクラスを表示

  • Elixir: アリティ表記で関数を表示

  • 双方向解析:

    • what_calls_it=true → このモジュールを使用している箇所を確認(影響分析)

    • what_it_calls=true → このモジュールが依存しているものを確認

  • ワイルドカード(Elixir: MyApp.*、Python: api.handlers.*)とORパターン(MyApp.User|MyApp.Post)をサポート

  • 可視性(public/private/all)でフィルタリング

search_function - 関数使用状況の追跡

  • 定義と呼び出し箇所をすべて検索

  • what_calls_it=true(デフォルト)→ すべての呼び出し元を確認

  • what_it_calls=true → すべての依存関係を確認

  • include_usage_examples=true でコード例を含める

  • usage_type でフィルタ: source、tests、またはすべて

Git履歴(統合ツール)

git_history - すべてのGit操作を1つのツールで

  • 単一行: git_history("file.ex", start_line=42) → blame + PR

  • 行範囲: git_history("file.ex", start_line=40, end_line=60) → グループ化されたblame

  • 関数追跡: git_history("file.ex", function_name="create_user") → 進化

  • ファイル履歴: git_history("file.ex") → すべてのPR/コミット

  • 時間フィルタ: recent=true(14日)、recent=false(14日超)、recent=null(すべて)

  • 著者フィルタ: author="john"

  • 利用可能な場合、自動PRインデックス統合

追加ツール

expand_result - クエリ結果からドリルダウン

  • モジュールと関数を自動検出

  • 使用例を含む完全な詳細を表示

  • 含める内容を設定: コード、依存関係、呼び出し元

  • search_module と search_function の便利なラッパー

query_jq - 高度なインデックスクエリ

  • インデックスに対する直接のjqクエリ

  • | schema でスキーマ探索

  • コンパクト(デフォルト)または整形出力

  • 大きな結果のためのサンプルモード

詳細なパラメータと出力形式: MCP_TOOLS_REFERENCE.md.

トークンに優しいレスポンス

すべてのツールは、完全なファイルではなく構造化されたMarkdown/JSONスニペット(シグネチャ、呼び出し箇所、PRメタデータ)を返すため、プロンプトを簡潔に保てます。

v0.5.1の新機能: すべてのツールはデフォルトでコンパクト出力を使用し、トークン使用量を最小限に抑えるようになりました。詳細なドキュメントと仕様を含む完全な出力には verbose=true を使用してください。



ドキュメント

  • Codebook – 完全な機能リファレンスとユーザーガイド

  • Workflows – ツールを連鎖させる実世界の例

  • Installation – すべてのエディタ向けのステップバイステップ設定

  • Contributing – 開発ガイドラインとアーキテクチャ

  • CHANGELOG.md – リリースノート

深掘り:


ロードマップ

現在のステータス

本番対応:

  • ✅ Elixir (tree-sitter)

  • ✅ Python (SCIP)

  • ✅ TypeScript (SCIP)

  • ✅ JavaScript (SCIP)

  • ✅ Rust (SCIP)

ベータ版:

  • 🚧 Erlang (tree-sitter)

  • 🚧 Go (SCIP)

  • 🚧 Java/Kotlin/Scala (SCIP)

  • 🚧 C/C++ (SCIP)

  • 🚧 Ruby (SCIP)

  • 🚧 C#/Visual Basic (SCIP)

  • 🚧 Dart (SCIP)

  • 🚧 PHP (SCIP)


代替手段との比較

機能

CICADA

Serena

Codicil(Elixir専用)

解析方法

SCIP(静的インデックス)

LSP(リアルタイムサーバー)

LLMサマリー + 埋め込み

コード編集

Gitコンテキスト

✅ PR履歴、blame、進化

リソース使用量

低い(ディスクから読み取り)

高い(永続サーバープロセス)

中程度(API呼び出し)

プライバシー

100%ローカル

100%ローカル

外部LLM APIが必要

セマンティック検索

ローカルOllamaまたはキーワード

OpenAI/Anthropic埋め込み

コールグラフ

エイリアス解決付き双方向

LSPベース

CICADAを選ぶべき場合: リッチなGitコンテキスト(PR帰属、blame、関数進化追跡)と効率的なトークン使用量を備えたローカルファーストの運用が必要な場合。

Serenaを選ぶべき場合: LSPによるコード編集機能が必要で、より高いリソース使用量を受け入れられる場合。

Codicilを選ぶべき場合: Elixirプロジェクトがあり、LLMによるセマンティックサマリーを好む場合(Elixir専用)。


コントリビューション

git clone https://github.com/wende/cicada.git
cd cicada
uv sync
pytest

PRを提出する前に:

  • black cicada tests を実行

  • テストとカバレッジがパスすることを確認(pytest --cov=cicada --cov-report=term-missing

  • 動作が変更された場合はドキュメントを更新

以下のissue/PRを歓迎します:

  • 新しい言語の文法

  • ツール出力の改善

  • より良いオンボーディングドキュメントとチュートリアル


ライセンス

MIT – LICENSE を参照。

盲目的な検索でコンテキストを無駄にしないでください。あなたのAIにCICADAを。

はじめる · 問題を報告

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

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

  • A
    license
    A
    quality
    D
    maintenance
    Provides 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.
    6
    12
    3
    MIT
  • A
    license
    -
    quality
    A
    maintenance
    Supercharges AI coding agents with a pre-indexed semantic code graph, enabling instant symbol relationships, impact analysis, and context retrieval across 20+ languages.
    83,491
    66,716
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Provides 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.
    10
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Make 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

View all related MCP servers

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…

View all MCP Connectors

Latest Blog Posts

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