mcpField
S
Sourcerer Mcp

Sourcerer Mcp

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

Sourcerer Mcp について

Sourcerer MCP は、セマンティックなコード検索とナビゲーションを行う MCP サーバーです。トークン消費を抑えたいコーディングエージェント向けに、Tree-sitter でコードをチャンクに分割し、ファイル全体を読まずに関数やクラスへ直接たどり着けるようにします。

主な機能

  1. 01Tree-sitter によるコードの解析とチャンク化
  2. 02埋め込みを用いた概念ベースの検索
  3. 03安定した ID によるチャンクの取得
  4. 04類似チャンクの検索
  5. 05ファイル変更時の自動再インデックス
  6. 06gitignore ルールへの対応

活用シーン

  1. 01大規模なコードベースで関連する関数を特定する
  2. 02コーディングエージェントのトークン消費を抑える
  3. 03既存コードと類似する実装を探す

MCP 対応

semantic_search、get_chunk_code、find_similar_chunks、index_workspace、get_index_status などのツールを MCP クライアントに提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Sourcerer MCP 🧙

AI エージェントが高価なトークンを消費せずに効率よく作業できるよう支援する、セマンティックコード検索・ナビゲーション用の MCP サーバーです。 ファイル全体を読む代わりに、エージェントは概念的に検索し、必要な特定の関数、クラス、コードチャンクに直接移動できます。

デモ

asciicast

要件

  • OpenAI API Key:埋め込みの生成に必要です(ローカルでの埋め込み生成は今後対応予定です)
  • Git:Git リポジトリである必要があります(.gitignore ファイルを尊重します)
  • .sourcerer/ を .gitignore に追加:このディレクトリには埋め込みベクトルデータベースが保存されます

インストール

Go
go install github.com/st3v3nmw/sourcerer-mcp/cmd/sourcerer@latest
Homebrew
brew tap st3v3nmw/tap
brew install st3v3nmw/tap/sourcerer

設定

Claude Code
claude mcp add sourcerer -e OPENAI_API_KEY=your-openai-api-key -e SOURCERER_WORKSPACE_ROOT=$(pwd) -- sourcerer
mcp.json
{
  "mcpServers": {
    "sourcerer": {
      "command": "sourcerer",
      "env": {
        "OPENAI_API_KEY": "your-openai-api-key",
        "SOURCERER_WORKSPACE_ROOT": "/path/to/your/project"
      }
    }
  }
}

仕組み

Sourcerer 🧙 は、コードベースのセマンティック検索インデックスを構築します。

1. コードの解析とチャンク分割
  • Tree-sitter を使用して、ソースファイルを AST に解析します
  • 意味のあるチャンク(関数、クラス、メソッド、型)を安定した ID で抽出します
  • 各チャンクには、ソースコード、位置情報、コンテキストを示す要約が含まれます
  • チャンク ID は file.ext::Type::method の形式です
2. ファイルシステムとの統合
  • fsnotify を使用してファイルの変更を監視します
  • git check-ignore を介して .gitignore ファイルを尊重します
  • 変更されたファイルを自動的に再インデックスします
  • 変更時刻を追跡するためのメタデータを保存します
3. ベクトルデータベース
  • .sourcerer/db/ に永続的なベクトルストレージを構築するため、chromem-go を使用します
  • OpenAI の API を介して埋め込みを生成し、セマンティックな類似性を実現します
  • 単なるテキスト一致ではなく、概念に基づく検索を可能にします
  • チャンク、埋め込み、メタデータを保持します
4. MCP ツール
  • semantic_search:セマンティック検索で関連するコードを見つけます
  • get_chunk_code:ID を指定して特定のチャンクを取得します
  • find_similar_chunks:類似したチャンクを見つけます
  • index_workspace:再インデックスを手動で開始します
  • get_index_status:インデックス作成の進捗を確認します

この方法により、AI エージェントはファイル全体を読まずに関連するコードを見つけられるため、 トークンの使用量と認知負荷を大幅に削減できます。

対応言語

各言語の関数、クラス、インターフェース、その他のコード構造を識別するには、Tree-sitter クエリを記述する必要があります。

対応済み: Go、JavaScript、Markdown、Python、TypeScript

対応予定: C、C++、Java、Ruby、Rust など

コントリビューション

すべてのコントリビューションを歓迎します!CONTRIBUTING.md をご覧ください。

$ ls @stephenmwangi.com
- gh:st3v3nmw/obsidian-spaced-repetition
- gh:st3v3nmw/lsfr

コメント

MCP は初めてですか?

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

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