TypeScriptプロジェクト向けMCPサーバーが、Claude Codeのgrepパターンをインデックス化されたシンボル検索に置き換えました

ある開発者が、TypeScriptプロジェクトでのClaude Codeのパフォーマンスを向上させるため、grep-and-guessパターンをインデックス化されたシンボル検索に置き換えるMCPサーバーを作成しました。このツールは無料でオープンソースです。
現在のエージェント動作の問題点
TypeScriptプロジェクトでClaude CodeとCursorを使用する際、よくあるパターンは次の通りです:エージェントがファイルを検索し、可能性の高い一致を開き、大量のコードを読み込み、間違った場所だと気づき、再度試行します。エージェントはコードベースの構造的認識がなく、各セッションをゼロから開始します。
MCPサーバーの仕組み
このサーバーは、プロジェクトのライブSQLiteインデックスを維持することで、コードベースへの構造化されたアクセスを提供します。インデックスには以下が含まれます:
- シンボル
- コールサイト
- インポート
- クラス階層
これにより、エージェントは構造を直接クエリできます。「handleRequest」を検索する代わりに、エージェントはそのシンボルの正確なファイルと行に直接移動できます。
パフォーマンスベンチマーク
31ファイルのTypeScriptプロジェクトで、インデックスありとなしで同じタスクを実行したテスト結果:
- 1つの関数を検索:grepで1,350トークン vs インデックスで500トークン(63%削減)
- 3ファイルにわたる呼び出し元を追跡:grepで2,850トークン vs インデックスで900トークン(68%削減)
- 15ファイル以上の継承関係をマッピング:grepで4,800トークン vs インデックスで1,000トークン(79%削減)
grepのパフォーマンスはコードベースが成長するにつれて低下しますが、インデックス化されたクエリは一貫性を保ちます。
効率化の源泉
開発者は当初、シンボル検索が主な利点だと考えていましたが、インデックスが重要な効率向上をもたらす3つの主要領域を発見しました:
get_callersクエリは、エージェントが関数を呼び出す側を理解しようと4〜5ファイルを読むパターンを置き換えます- 部分的な読み込み:正確な行が分かることで、ファイル全体ではなく20行だけを読む(節約の半分以上を占める)
trace_middlewareは、エージェントにルートハンドラーの前に何が実行されるかを伝え、ルーター、各ミドルウェアファイルを読み、順序を再構築する必要性を排除します
制限事項
このツールは以下に苦戦します:
- 動的パターン(計算されたメソッド名など)
- 依存性注入の設定
- 自身のコードベース外のもの
完璧ではありませんが、このツールはエージェント支援開発における試行錯誤のループを大幅に削減します。
📖 Read the full source: r/ClaudeAI
👀 See Also

LLMスカーミッシュ:AIコーディングエージェントのためのリアルタイムストラテジーゲームベンチマーク
LLM Skirmishは、AIエージェントがコードを書いて1対1のリアルタイムストラテジーゲームで対戦するベンチマークです。修正版Screeps APIを使用し、5つのトーナメントラウンドにわたるインコンテキスト学習をテストします。

GlycemicGPT: セルフホスト型AI糖尿病モニター、BYOAIとプラグインSDK対応
GlycemicGPTは、Dexcom G7とTandemポンプをAI分析層に接続する、オープンソースで自己ホスト型のプラットフォームです。毎日のサマリー、食事分析、会話型チャット、設定可能なアラートを、すべて自分のハードウェア上で提供します。

AI機能:自動検証によるランタイムコード生成
AI Functionsは、実装コードの代わりに自然言語の仕様で関数を定義できるPythonライブラリです。実行時にLLMが生成したコードを実行し、失敗時に自動再試行をトリガーする事後条件で出力を検証します。
DuckDBのQuackプロトコルが複数の同時書き込みを可能にするクライアントサーバーを実現
DuckDBが「Quackリモートプロトコル」を導入。2つのDuckDBインスタンスがクライアントとサーバーとして通信できるようになり、同時書き込みをサポートし、HTTPをトランスポートとして活用します。