mcpField
C
codebase-synapse

codebase-synapse

ローカル
github.com/iwiels開発ツール213 週間前に更新

codebase-synapse について

codebase-synapseはリポジトリをローカルのナレッジグラフに索引化し、コーディングエージェントに検索、依存関係分析、アーキテクチャ情報を提供します。SQLiteに索引を保存し、Git履歴分析やセッションをまたぐメモリツールも備えています。

主な機能

  1. 01セマンティック、全文、ハイブリッド検索
  2. 02呼び出しグラフと依存関係の追跡
  3. 03影響範囲とアーキテクチャ境界の分析
  4. 04Git履歴と変更の連動関係の調査
  5. 05永続メモリとセッションメモリ
  6. 06codebase-guardによる重要ファイル書き込みの阻止

活用シーン

  1. 01関数の呼び出し元と呼び出し先を検索
  2. 02ファイル編集前に影響範囲を評価
  3. 03ファイル履歴と同時変更を追跡
  4. 04エージェント向けの編集コンテキストを準備

MCP 対応

stdioのMCPサーバーとして、MCPクライアントにコード検索、グラフ、アーキテクチャ、Git履歴、メモリのツールを提供します。索引は別途CLIコマンドで作成し、サーバーは既存のローカル索引を読み込みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"iwiels-codebase-synapse": {
"command": "npx",
"args": [
"-y",
"codebase-synapse"
]
}
}
}
起動コマンドnpx -y codebase-synapse

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmcodebase-synapse0.1.13

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🧠 Codebase Synapse

AI エージェントにコードベース全体の深い理解を与えます。

コードベースをローカルのナレッジグラフにインデックス化する MCP サーバーです。52 個の AI ツールを備え、セマンティック検索、呼び出しグラフのたどり、Git の履歴調査、影響範囲分析などを利用できます。


Codebase Synapse — ナレッジグラフの可視化

Claude Code · Cursor · Windsurf · Zed · あらゆる MCP クライアントに対応

CI npm version License: Apache-2.0 MCP Registry


問題

AI コーディングエージェント(Claude、Cursor など)は強力ですが、限られたコンテキストしか扱えません。開いたファイルや渡したファイルしか見ることができません。呼び出しチェーン、アーキテクチャパターン、影響範囲について尋ねても、推測するしかありません。

Codebase Synapse がこの問題を解決します。リポジトリ全体を SQLite に保存されるローカルのナレッジグラフにインデックス化し、構造分析に基づいた確かな回答を AI エージェントに提供します。幻覚ではありません。

Codebase Synapse のデモ — インデックス作成と影響分析
仕組み
graph LR
    A["📁 Your Codebase"] -->|Tree-sitter| B["🧩 Parser"]
    B -->|Symbols & Edges| C["🕸️ Knowledge Graph"]
    C -->|SQLite| D["💾 Local DB"]
    D -->|52 MCP Tools| E["🤖 AI Agent"]
    
    style A fill:#1a1b26,stroke:#7aa2f7,color:#c0caf5
    style B fill:#1a1b26,stroke:#bb9af7,color:#c0caf5
    style C fill:#1a1b26,stroke:#9ece6a,color:#c0caf5
    style D fill:#1a1b26,stroke:#e0af68,color:#c0caf5
    style E fill:#1a1b26,stroke:#f7768e,color:#c0caf5

⚡ クイックスタート

1. プロジェクトをインデックス化する(Zoekt 形式の CLI)
codebase-synapse index /path/to/your/repo

インデックス作成は独立した CLI コマンドとして実行され、~/.codebase-synapse/codebase.db に書き込みます。初回のインデックス作成には時間がかかりますが、再実行時には変更されたファイルのみを再インデックス化します。MCP サーバーはインデックスを作成せず、事前に作成されたインデックスを読み取るだけです。

2. MCP サーバーを起動する
npx codebase-synapse

これだけです。Docker もデータベースの設定もクラウドも必要ありません。サーバーは stdio 経由で起動し、事前に作成されたインデックスを MCP クライアントに提供します。

クライアントを設定する
Claude Code / Claude Desktop

claude_desktop_config.json または mcp_servers.json に追加します。

{
  "mcpServers": {
    "codebase-synapse": {
      "command": "npx",
      "args": ["-y", "codebase-synapse"]
    }
  }
}
Cursor

.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "codebase-synapse": {
      "command": "npx",
      "args": ["-y", "codebase-synapse"]
    }
  }
}
その他の MCP クライアント

stdio トランスポートに対応する MCP クライアントであれば利用できます。以下を指定してください。

npx -y codebase-synapse

✨ できること

🔍 検索と探索
ツール説明
semantic_searchローカル埋め込み(all-MiniLM-L6-v2)を使用したベクトル類似検索
search_codeコード全体を対象とした全文検索(FTS5 + BM25 ランキング)
search_symbol名前またはパターンで関数、クラス、型を検索
hybrid_searchRRF 融合によるセマンティック検索と語彙検索の組み合わせ
find_similarMinHash + LSH を使用して構造的に類似したコードを検索
find_symbol_everywhereインデックス化されたすべてのプロジェクトからシンボルを検索
🕸️ ナレッジグラフ
ツール説明
get_callers / get_callees呼び出しグラフをどちらの方向にもたどる
get_imports / get_dependents依存関係のチェーンをたどる
impact_analysisファイルを編集する前に影響範囲を算出
find_path2 つのシンボル間の最短経路を検索
find_dead_code到達不能な関数と未使用のエクスポートを検出
get_pagerankアーキテクチャ内で最も重要なノードを特定
query_graphナレッジグラフに対して Cypher 風のクエリを実行
🏗️ アーキテクチャ
ツール説明
get_architectureプロジェクト全体のアーキテクチャ概要(言語、エントリーポイント、ホットスポット)
get_file_structureシンボル注釈付きのディレクトリツリー
project_overview主要な指標を含む概要
get_route_mapHTTP ルートとハンドラーの対応関係を抽出
suggest_boundariesLeiden クラスタリングによるモジュール境界の検出
check_boundaries定義された境界に照らしてモジュール間の依存関係を検証
get_clustersコードベース全体でコミュニティを検出
🔬 Git の考古学
ツール説明
git_archaeologyファイルの詳細な履歴分析(作成者、変更量、変遷)
get_hotspots複雑さ × 変更頻度が最も高いファイル
detect_change_coupling常に一緒に変更されるファイル
get_recent_semantic_changes最近の意味的に重要な変更
index_git_historygit log から時系列分析を構築
🧠 メモリとコンテキスト
ツール説明
memory_store / memory_search / memory_listセッションをまたいで保持されるメモ、事実、決定事項
session_remember / session_recallセッション内の短期メモリ
get_contextAI エージェント向けの予算に応じたコンテキスト準備
get_edit_context特定のファイル編集に特化したコンテキスト
get_working_set最近アクセスまたは変更されたファイル
manage_adrArchitecture Decision Records の管理
🛡️ コードベースガード

ボーナスとして、codebase-guard は Claude Code 用の PreToolUse フックで、エージェントが最初に impact_analysis を実行するまで、影響の大きいファイルへの書き込みをブロックします。

ナレッジグラフの PageRank スコアと影響範囲データを使って、アーキテクチャ上のハブを特定します。コアファイルを誤って編集することはもうありません。

🔧 技術詳細

言語Rust(ネイティブバイナリとしてコンパイル)
トランスポートMCP stdio(JSON-RPC)
ストレージSQLite(WAL モード、設定不要)
エンベディングCandle 経由の all-MiniLM-L6-v2(オフライン、ローカル、遅延ロード)
パースTree-sitter(10 言語)
配布ビルド済みバイナリを含む npm(Windows、macOS、Linux × x64、arm64)
対応言語

Rust · Python · TypeScript · JavaScript · Go · Java · C# · PHP · C · C++

アーキテクチャ
src/
├── parser/       # Tree-sitter parsing & entity extraction
├── graph/        # Knowledge graph, PageRank, Leiden clustering
├── indexer/      # Repository indexing pipeline
├── search/       # BM25 full-text + vector cosine + hybrid RRF
├── embedding/    # Candle-based local embeddings (feature-gated)
├── memory/       # Persistent & session memory stores
├── mcp/          # MCP protocol transport + 52 tool handlers
├── git/          # Git archaeology, intent classification, hotspots
├── context/      # Budgeted context preparation for AI
├── cypher/       # Nom-based Cypher parser → SQL CTE planner
├── similarity/   # MinHash + LSH structural similarity
├── semantic/     # Multi-signal scoring (tokens, directory, AST)
└── cli/          # Interactive TUI installer + artifact export/import

🤝 貢献

貢献を歓迎します!このプロジェクトでは、標準的な Rust ツールを使用しています。

# Run tests
cargo test

# Lint
cargo clippy -- -D warnings

# Format
cargo fmt --all

📄 ライセンス

Apache-2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。