mcpField
C
codebase-context-mcp

codebase-context-mcp

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

codebase-context-mcp について

codebase-context-mcpは、ARM64環境にも対応するコードベースのインデックス作成・検索用MCPサーバーです。ネイティブバインディングの代わりに、WASM解析、純粋なJavaScriptによるBM25検索、JSONインデックスを採用しています。

主な機能

  1. 01コードをシンボルとチャンクに索引化
  2. 02BM25によるシンボルとコードの検索
  3. 03行番号付きのファイルアウトライン表示
  4. 04技術スタックとディレクトリ構成の要約
  5. 05再索引時に変更のないファイルを除外

活用シーン

  1. 01索引化したリポジトリ内のシンボル検索
  2. 02ファイルの関数、インポート、エクスポートを確認
  3. 03プロジェクトの言語とディレクトリ構成を把握
  4. 04ARM64ホスト上でコードベースを索引化

MCP 対応

標準のMCP stdioトランスポートを使い、索引作成、シンボル・コード検索、ファイルアウトライン、プロジェクト要約のツールを公開します。

設定

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

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

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

パッケージ
npmcodebase-context-mcp1.0.1

ツール

5

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
directorystringはいインデックスを作成するプロジェクトルートディレクトリの絶対パス

詳細

codebase-context-mcp

あらゆるプラットフォームで動作する、コードベースのインデックス作成と検索のための MCP サーバー — Raspberry Pi や Apple Silicon など、ほとんどの代替手段が動作しない ARM64 デバイスにも対応しています。

問題

@zilliz/claude-context-mcp などの一般的なコードベースインデックス作成用 MCP サーバーは、x86_64 用のビルド済みバイナリのみを提供するネイティブ C++ バインディング(tree-sitter、faiss-node)に依存しています。ARM64 — Raspberry Pi、Apple Silicon Mac、AWS Graviton、その他の arm64 ホスト — を使用している場合、ビルド済みバイナリが見つからず、代替手段もないため、npm install は失敗します。自分でネイティブモジュールをクロスコンパイルしない限り、回避策はありません。

解決策

このパッケージは、すべてのネイティブ依存関係を同等の WASM 実装に置き換えます。tree-sitter パーサーは WebAssembly として実行され、検索には純粋な JS による BM25 実装を使用し、インデックスはプレーンな JSON として保存されます。ネイティブバインディングがないため、ARM64、x86_64、macOS、Linux、Windows など、あらゆるアーキテクチャで初回から npm install が成功します。

そのまま置き換えて利用できます — 標準の MCP stdio トランスポートを介して、同じ基本ツール(インデックス作成、検索、アウトライン、概要)を提供します。

ツール

ツール説明
index_codebaseディレクトリをシンボル/チャンクに解析し、JSON としてキャッシュします
search_symbols名前またはパターンで関数、クラス、型を検索します
search_codeインデックス済みファイル全体を対象に、BM25 全文検索を行います
get_file_outline行番号付きのファイル構造:関数、クラス、インポート、エクスポート
get_project_summary技術スタック、言語別ファイル数、ディレクトリ構造

対応言語

TypeScript、TSX、JavaScript、Python、C#、VB.NET、XML、CSS、JSON

インストール

Claude Code(推奨)
claude mcp add codebase-context -s user -- npx codebase-context-mcp

または、ローカルのクローンから:

git clone https://github.com/Jhackman2019/codebase-context-mcp.git
cd codebase-context-mcp
npm install && npm run build
claude mcp add codebase-context -s user -- node /path/to/codebase-context-mcp/dist/index.js
MCP 設定(JSON)
{
  "mcpServers": {
    "codebase-context": {
      "command": "npx",
      "args": ["codebase-context-mcp"]
    }
  }
}

動作の仕組み

  • 解析: web-tree-sitter(WASM) — ネイティブ版と同等の AST 品質で、あらゆるアーキテクチャ上で動作します
  • 検索: BM25 テキストランキング(純粋な JS)+シンボル名によるマッチング
  • ストレージ: ~/.codebase-context-mcp/<project-hash>.json に JSON ファイルのインデックスを保存
  • トランスポート: @modelcontextprotocol/sdk を介した MCP stdio
  • 増分処理: 内容のハッシュ値が変わっていないファイルは、インデックスの再作成時にスキップされます

安全制限

制限値
最大ファイル数20,000
最大ファイルサイズ512KB
デフォルトの除外対象node_modules、.git、dist、build、.venv、バイナリ、ロックファイル
.gitignore尊重します(ルートレベル)

開発

npm install
npm run build    # Build with tsup
npm run dev      # Watch mode
npm start        # Run the server

ライセンス

MIT

コメント

MCP は初めてですか?

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

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