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

Cortex: エビングハウス減衰を備えたOpenClawエージェント向けローカルメモリレイヤー
Cortexは、OpenClawエージェントにおけるコンテキスト圧縮の問題を解決するために構築されたオープンソースのメモリツールです。エビングハウスの忘却曲線を実装して事実の減衰を管理し、ファイルからのインポートを優先し、19MBの単一Goバイナリ(SQLite使用)として動作します。

AIコーディングエージェントが20ターン後に粗悪なコードを出力する理由:コンテキスト盲目
APIログの詳細な監査により、CursorとClaude Codeは賢くなっているわけではなく、ノイズで膨れ上がったコンテキストウィンドウに窒息し、アーキテクチャを破壊していることが明らかになった。

RunLobsterとホスト型OpenClawソリューションの比較
ある開発者がRunLobsterをKiwiClaw、xCloud、そしてセルフホスト型OpenClawとそれぞれ2週間ずつ比較テストしました。RunLobsterは単なるホスティングではなく、根本的に異なるプロダクトとしてのアプローチを持ち、3,000のワンクリック統合機能と時間とともに蓄積されるメモリ機能を特徴としています。

私のオープンクローが物理的な身体を手に入れました:目、脚、声を持つロボット犬
なし