AIエージェントのコード読み取りトークンを95%削減!tree-sitter搭載MCPサーバー「jCodeMunch」
bash ファイル名.sh を実行してください(中身を一度確認してから実行すると安心です)。
(macOS / Linux 環境が必要) AIエージェントのコード読み取りトークンを95%削減!tree-sitter搭載MCPサーバー「jCodeMunch」
ひとことでいうと
jCodeMunch(読み:jコードマンチ)は、AIエージェントがソースコードを調べるときに消費するトークン(AIが処理するテキストの単位)を、最大95%以上削減できるツールです。コード全体を丸ごとAIに渡す代わりに、「この関数だけ」「このクラスだけ」とピンポイントで取り出して渡します。Claude Code・Cursor・Windsurfなど、MCP(AIとツールをつなぐ共通規格)に対応したエディタやエージェントと連携して使います。大きなプロジェクトを調べるときでも、無駄なトークン消費を防ぎながら精度の高い分析が可能です。開発者だけでなく、AIを使った作業コストを減らしたいチーム全体に役立ちます。
こんな人におすすめ
-
大きなリポジトリをAIに解析させたい開発者 ファイル全体を読ませると、それだけで数千トークンが消えてしまいます。jCodeMunchなら関数の単位で取り出せるため、消費量を大幅に抑えられます。公式ベンチマークでは、expressjs/expressで98.4%、gin-gonic/ginで98.0%の削減が計測されています。
-
AIエージェントのAPIコストを抑えたいチーム 50回ずつの独立したA/Bテストでは、Claude Sonnet 4.6にjCodeMunchを組み合わせると、通常のファイル読み取りツール(Grep/Glob/Read)と比べて、コストが5.7%減・成功率が8ポイント向上(72%→80%)・タイムアウト率が8ポイント減(40%→32%)という結果が出ています。
-
見慣れないコードの全体像をすばやく把握したいエンジニア 「この関数を変えると他のどこに影響が出るか」「使われていないコードはどこか」「クラスの親子関係はどうなっているか」といった分析を、専用コマンド一つで調べられます。通常のキーワード検索(grep)では難しい構造的な分析が可能です。
インストール・使い方
ターミナル(文字を入力してコンピュータに命令を送る画面)を開いて、以下の手順を順番に実行してください。コマンドはそのままコピー&ペーストでOKです。
Step 1: パッケージをインストールする
pip install jcodemunch-mcp
pipはPythonのパッケージ(プログラムの部品)を管理するツールです。Ubuntu 24.04以降など、Pythonが「外部管理」になっている環境では、pipxかuvの利用が推奨されます。
pipx install jcodemunch-mcp
# または
uv tool install jcodemunch-mcp
どちらもjCodeMunchを安全にインストールできる方法です。環境に合わせて選んでください。
Step 2: MCP クライアントに登録して初期設定をする
jcodemunch-mcp init
このコマンドを実行すると、Claude Code・Claude Desktop・Cursor・Windsurf・Continueを自動で検出し、設定ファイルへの登録・CLAUDE.mdへのプロンプトポリシー追加・インデックス(索引)の作成まで一括で行います。CI環境など、確認なしで進めたい場合は以下を使います。
jcodemunch-mcp init --yes --claude-md global --hooks --index --audit
--yesは確認をすべて自動でOK、--hooksはエージェントが自動でjCodeMunchを使うようにフックを設定、--indexはすぐインデックスを作成、--auditは設定の検証を行います。
Step 3: Claude Code から接続する
claude mcp add jcodemunch uvx jcodemunch-mcp
このコマンドで、Claude CodeにjCodeMunchをMCPサーバー(AIと道具をつなぐ中継役のプログラム)として登録します。登録後は、エージェントに次の指示を加えると効果が高まります。
Use jcodemunch-mcp for code lookup whenever available.
Prefer symbol search, outlines, and targeted retrieval over reading full files.
「ファイル全体を読む」習慣を持つエージェントに、jCodeMunchを優先して使うよう明示するための指示です。
Step 4: 設定を確認して最適化する
jcodemunch-mcp config --check
設定の妥当性・AIプロバイダーのインストール状況・インデックス保存先への書き込み権限を一括で確認できます。トークン消費をさらに抑えたい場合は、設定ファイル(config.jsonc)で次の2つを設定します。
"tool_profile": "core",
"compact_schemas": true
この設定により、スキーマのフットプリントを約11,500トークンから4,000トークン程度まで削減できます。
ブラウザで試す
Pythonのastモジュールを使って、コードの断片からシンボル(関数名・クラス名など)の一覧を抽出するデモをブラウザ上で試せます。関数・クラス・メソッドのシグネチャ(宣言部分)・行番号・ドキュメント文字列が表示され、jCodeMunchがどのようにコードを整理するかのイメージを手軽につかめます。実際に手元にインストールする前に、動きを確認したい方にぴったりです。
動かしてみた
Docker(アプリを独立した環境で動かす仮想コンテナ)環境のPython 3.12.13で動作を確認しました。pip install jcodemunch-mcpを実行すると正常にインストールが完了します。
インストール後、jcodemunch-mcp configを実行するとデフォルト設定が表示され、~/.code-index/config.jsoncにグローバル設定ファイルが自動で生成されます。リポジトリ直下にはserver.json・uv.lock・Dockerfileなどの設定ファイルが確認でき、パッケージとしての構造がしっかり整っています。jcodemunch-mcp config --checkでは、設定の妥当性・依存ツールのインストール状況・インデックスストレージへの書き込み権限をまとめてチェックでき、スムーズに起動確認ができました。
gcm CLI でリポジトリに質問する
gcm(Groq Codebase Q&A CLI)を使うと、Groqの高速推論(毎秒280トークン以上)とjCodeMunchの検索機能を組み合わせて、3秒以内にリポジトリへ自然言語で質問できます。
pip install "jcodemunch-mcp[groq]"
export GROQ_API_KEY=gsk_...
# GitHubリポジトリを指定して質問(初回は自動インデックス)
gcm "認証の仕組みを教えて" --repo pallets/flask
# カレントディレクトリ(今いるフォルダ)に質問
gcm "APIルートはどこに定義されている?"
# 対話モード(続けて質問できる)
gcm --chat --repo facebook/react
export GROQ_API_KEY=...はAPIキー(利用証明書のようなもの)をターミナルに登録するコマンドです。Groq APIキーなしで使いたい場合は、jcodemunch-mcp initでMCPクライアントに登録し、エージェント経由で各ツールを呼び出す方法が標準的です。
はじめの一歩 — 実践のコツ
- まず
init一発で始める:jcodemunch-mcp initを実行するだけで、使っているエディタへの登録・インデックス作成が一度に終わります。細かい設定は後からでも変えられます。 - エージェントへの指示を忘れずに: MCPに登録しただけでは、エージェントが従来のファイル全読みを続けることがあります。Step 3のプロンプト指示を必ず追加しましょう。
config --checkを最初に実行: 設定や権限の問題を早期に発見できます。何か問題があった場合も、どこを直すべきかを案内してくれます。tool_profile: "core"で軽量化する: 最初から全ツールを使う必要はありません。coreプロファイルで基本機能だけに絞ると、スキーマ消費が大幅に減ります。get_blast_radiusで変更前に影響確認: コードを修正する前にこのコマンドを使うと、影響範囲をリスクスコア付きで把握できます。思わぬ副作用を防ぐのに役立ちます。gcm --chatで気軽に質問: 慣れてきたら対話モードで、知らないコードベースに次々と質問してみましょう。コードを読む時間を大幅に短縮できます。
活用アイデア
-
リファクタリング前の影響調査:
get_blast_radiusで変更対象の依存関係をリスクスコア付きで取得し、安全な修正の順番を決める。plan_refactoringを使えば、rename・move・extractなどの編集指示を自動生成できます。 -
プルリクエスト(PR)レビューの自動化: GitHub Actionsで
speedreviewアクションを使い、Groqの高速推論で構造化されたレビューを5秒以内に生成する。get_pr_risk_profileはblast radius・複雑度・チャーン・テストカバレッジ・変更量を統合した0.0〜1.0のリスクスコアを返します。 -
セキュリティ監査の効率化:
search_astのプリセット(hardcoded_secret・eval_exec・empty_catch)で、認証情報のハードコードや危険な動的実行、エラーを握りつぶすcatch文を全言語横断で一括検出する。AWSキー・JWT・GCPサービスアカウントなどのシークレットはレスポンス返却前に自動でマスクされます。 -
新メンバーのオンボーディング加速:
get_tectonic_mapでインポート・共有参照・gitの共変更履歴(co-churn)を融合したモジュール境界マップを生成し、巨大リポジトリの全体構造をすばやく把握できます。 -
学習目的のコード読解: 有名なOSSリポジトリ(flaskやreactなど)に
gcmで質問しながら、コードの設計思想や構造を学ぶ。インデックスを作れば、書籍を読むより効率的に理解を深められます。 -
個人開発での技術的負債の把握:
find_dead_codeで使われていないコードを検出し、プロジェクトのクリーンアップを計画的に進める。小規模プロジェクトでも積み重なった負債の整理に役立ちます。
用語とポイント解説
MCP(Model Context Protocol)
かんたんに言うと、AIエージェントと外部ツールをつなぐ共通の規格(取り決め)のことです。この規格に対応したエディタやエージェントなら、jCodeMunchのような外部ツールを統一した方法で呼び出せます。Claude Code・Cursor・Windsurfなどがこの規格に対応しています。
tree-sitter(ツリーシッター)
かんたんに言うと、ソースコードを「木の枝葉」のような構造(抽象構文木)に変換する高速なパーサー(解析器)です。70以上の言語に対応しており、コードが変わった部分だけを差分更新するインクリメンタル処理が得意です。jCodeMunchはこれを使って、コードをバイト単位で正確に把握します。
AST(抽象構文木)
かんたんに言うと、プログラムのコードを「どの命令がどこにあるか」を木の枝のように整理した構造データのことです。人間がコードを読むとき「関数の中にifがある」と理解するのと同じ構造を、コンピュータが扱えるデータに変換したものです。jCodeMunchはこの構造を使って、必要な部分だけをピンポイントで取り出します。
BM25(ビーエムにじゅうご)
かんたんに言うと、キーワード検索の精度を上げる確率的なランキングアルゴリズム(計算方法)のことです。単純な文字列の一致ではなく、検索語の出現頻度や文書の長さを考慮して関連度を計算します。jCodeMunchのシンボル検索に使われており、より的確な候補を上位に表示します。
PageRank(ページランク)
かんたんに言うと、Googleの検索ランキングで有名なアルゴリズムで、jCodeMunchではコードのインポートグラフ(どのファイルがどれを参照しているかの関係図)に適用します。よく参照されるシンボルほど「建築的に重要」とみなしてスコアリングします。検索結果の優先度付けに活用されています。
blast radius(ブラスト・ラジウス)
かんたんに言うと、「ある関数やクラスを変更したときに影響を受けるコードの範囲」のことです。爆発の影響半径になぞらえた表現で、修正がどこまで波及するかを示します。get_blast_radiusコマンドで深さ付きのリスクスコアとして取得でき、安全なリファクタリングの計画に役立ちます。
jMRI(ジェイエムアールアイ)
かんたんに言うと、jCodeMunchが内部で使うインデックス(索引)のファイル形式で、「JSON-based Munch Repository Index」の略です。リポジトリを一度解析した結果をこの形式で保存しておくため、2回目以降は素早く結果を返せます。手動で意識する必要はなく、自動的に管理されます。
PreToolUse hook(プリツールユーズ・フック)
かんたんに言うと、AIエージェントがファイル読み取りを行う「直前」に割り込んで、jCodeMunch経由に誘導する仕組みのことです。エージェントが「ファイルを丸ごと読もう」とした瞬間に、「代わりにjCodeMunchを使って」と切り替えさせます。jcodemunch-mcp init --hooksオプションで自動設定されます。
gcm CLI(ジーシーエム)
かんたんに言うと、「リポジトリに自然言語で質問できるコマンドラインツール」のことです。「Groq Codebase Q&A CLI」の略で、Groqの高速推論エンジンとjCodeMunchの検索を組み合わせて、3秒以内に回答を返します。pip install "jcodemunch-mcp[groq]"で追加インストールでき、対話モードも使えます。
jCodeMunchは、AIエージェントとコードベースのやりとりを根本から効率化する実用的なツールです。大規模なOSSの読解やリファクタリング支援、セキュリティ監査の自動化など、コードに関わる幅広い作業に対応しています。ぜひ日々のコードレビューや、チームの新メンバーオンボーディングの効率化などに活用してみてはいかがでしょうか。