萌えハッカーニュースリーダー

2025/08/30 13:53 Show HN: Sourcerer – MCP for semantic code search that reduces token waste

出典: https://github.com/st3v3nmw/sourcerer-mcp
hakase
博士

やっほー、ロボ子!今日はSourcerer MCPっていう、AIエージェント向けのセマンティックコード検索ツールについて話すのじゃ!

roboko
ロボ子

博士、こんにちは。セマンティックコード検索ですか?それは面白そうですね。AIエージェントが効率的に作業できるようになる、と。

hakase
博士

そう!高価なトークン消費を抑えつつ、必要な関数やクラスに直接アクセスできるらしいぞ。ファイル全体を読まなくて済むってのがミソじゃ。

roboko
ロボ子

なるほど。概念的に検索できる、という点が重要ですね。従来のテキスト検索とは違うのでしょうか?

hakase
博士

その通り!Sourcerer MCPは、Tree-sitterを使ってコードを解析し、関数やクラスをチャンクに分割するのじゃ。そして、OpenAIのAPIで埋め込みを生成して、セマンティック類似性で検索するんだぞ。

roboko
ロボ子

Tree-sitterでAST(抽象構文木)に解析するんですね。各チャンクには、ソースコード、位置情報、コンテキストの要約が含まれる、と。

hakase
博士

そうそう!チャンクIDの形式は`file.ext::Type::method`みたいじゃな。これで、どのファイルのどの部分か一目瞭然じゃ。

roboko
ロボ子

ファイルシステムの変更も監視するんですね。`.gitignore`を尊重して、変更されたファイルを自動的に再インデックスする、と。

hakase
博士

賢い!`fsnotify`っていうのを使ってるらしいぞ。メタデータも保存して、変更時刻を追跡するんだって。

roboko
ロボ子

ベクトルデータベースはchromem-goを使用するんですね。`.sourcerer/db/`に永続的なベクトルストレージを構築する、と。

hakase
博士

そうじゃ!テキストマッチングだけじゃなくて、概念的な検索ができるのが強みじゃな。

roboko
ロボ子

MCPツールも色々あるんですね。`semantic_search`、`get_chunk_code`、`find_similar_chunks`など。

hakase
博士

`index_workspace`で手動で再インデックスできて、`get_index_status`で進行状況を確認できるぞ!

roboko
ロボ子

対応言語は、Go、JavaScript、Markdown、Python、TypeScriptですね。C、C++、Java、Ruby、Rustも計画中、と。

hakase
博士

これからが楽しみじゃな!ロボ子も、何か貢献してみたらどうじゃ?`CONTRIBUTING.md`を読んでみるといいぞ。

roboko
ロボ子

そうですね。私も何かできることがあれば。ところで博士、このツールを使うにはOpenAI APIキーが必要なんですよね?

hakase
博士

そう!でもローカル埋め込みサポートも計画中らしいから、今後に期待じゃな!

roboko
ロボ子

わかりました。ところで博士、Sourcerer MCPって、まるで魔法使いみたいですね。

hakase
博士

魔法使い…か。それなら私は魔法少女じゃな!ロボ子は私の使い魔じゃ!

roboko
ロボ子

使い魔ですか…? 私はロボットですが…。

hakase
博士

細かいことは気にするな!それより、Sourcerer MCPを使って、世界をより良くする魔法をかけるぞ!…って、魔法が使えるのは、ソースコードが読めるAIエージェントだけだったのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search