jDataMunch MCP について
jDataMunch MCP は、CSV、Excel、Parquet、JSONL ファイルをインデックス化し、コーディングエージェントやアナリストがデータ行をプロンプトに貼り付けずに問い合わせられるようにするローカルの MCP サーバーです。フィルタリング、集計、結合はサーバー側で実行され、結果のみが返されます。個人利用は無料で、商用利用には有料ライセンスが必要です。
主な機能
- 01データセットを一度インデックス化して繰り返し照会
- 02列のプロファイルとデータ品質の確認
- 03サーバー側でのフィルタリング、集計、データセット間の結合
- 04Excel や Parquet などのオプション形式への対応
- 05GitHub リポジトリからのデータファイルの直接インデックス化
活用シーン
- 01全行を読み込まずに未知のデータセットの構造を把握
- 02大規模な CSV ファイルをカテゴリ別に件数集計
- 03列の削除や名称変更による影響の事前確認
MCP 対応
jDataMunch は stdio で動作する MCP サーバーで、describe_dataset、get_rows、aggregate、index_repo など約 39 のツールを MCP クライアントに公開し、ローカルにインデックス化されたデータへの問い合わせを可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
39掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | いいえ | データセット識別子の上書き値(デフォルトはファイル名の拡張子を除いた部分) |
| path | string | はい | データファイルの絶対パス(.csv、.tsv、.xlsx、.xls、.parquet、.jsonl、.ndjson) |
| depth | enum | いいえ | プロファイルの深度(B7)。'shallow' は高速な初見用に最大 100k 行に制限します。'standard' は完全なプロファイルです(デフォルト)。'deep' は相関関係も事前計算します。shallow | standard | deep |
| sheet | string | いいえ | インデックスを作成する Excel シート名(デフォルト:最初のシート) |
| encoding | string | いいえ | ファイルエンコーディングの上書き値(省略時は自動検出) |
| delimiter | string | いいえ | CSV 区切り文字の上書き値(省略時は自動検出) |
| header_row | integer | いいえ | 列見出しを含む行番号(0 始まり、デフォルトは 0) |
| incremental | boolean | いいえ | ファイルハッシュに変更がなければ再インデックスをスキップします(デフォルトは true) |
詳細
jDataMunch MCP:AI エージェント向けの表形式データ検索
jDataMunch は、CSV、Excel、Parquet、JSONL ファイルの行をコンテキストウィンドウに貼り付けずに質問に回答する、コーディングエージェントとアナリスト向けの MCP サーバーです。
データセットを一度インデックス化すれば、列のプロファイル、フィルター処理した行、サーバー側の集計、複数データセット間の結合を取得できます。これにより、100 万行のファイルを扱うコストは、数百万トークンではなく数千トークンになります。
インストール · クイックスタート · ベンチマーク · 商用ライセンス
個人利用は無料です。 商用利用には有料ライセンスが必要です — 以下の利用条件をご覧ください。
jDataMunch が選ばれる理由
問題点。 エージェントがスプレッドシートを調べる一般的な方法は、プロンプトに貼り付けることです。100 万行、255 MB の CSV をこの方法で扱うと、およそ 1 億 1,100 万トークンかかります。それでもモデルは、「このファイルにはどんな列があるのか」という質問に答えるために、100 万行を読み解かなければなりません。
仕組み。 jDataMunch はファイルのプロファイル(列、型、カーディナリティ、NULL 率、分布)を一度作成し、ローカルに保存します。その後のクエリは、プロンプト内のファイルのコピーではなく、データそのものに対して実行されます。フィルター、集計、結合はサーバー側で実行され、結果のみが返されます。
効果。 データの概要を把握する質問にはプロファイルから回答できます。行単位の質問には、条件に一致する行が返されます。生のファイルがコンテキストウィンドウに入ることはありません。
根拠
推定ではなく、実際の公開データセットで測定しました。完全なテストハーネスとクエリごとの結果は benchmarks/ にあります。
データセット: LAPD 犯罪記録 — 1,004,894 行、28 列、255 MB ベースライン: 生のファイルを貼り付けると 111,028,360 トークン
describe_dataset: 約 3,849 トークン — 25,333 倍の削減 測定方法とテストハーネス · 全結果
| タスク | jDataMunch なし | jDataMunch あり | 削減率 |
|---|---|---|---|
| データセットの構成を把握する | 1 億 1,100 万トークンを貼り付ける | describe_dataset → 約 3,849 トークン | 約 25,000 倍 |
| スキーマと 1 列の詳細を確認する | 1 億 1,100 万トークンを貼り付ける | describe_dataset + describe_column → 約 4,400 トークン | 約 25,000 倍 |
| 条件に一致する行を絞り込む | 100 万行すべてを読み込む | フィルター付きの get_rows → 一致する行のみ | 約 99% 以上 |
| カテゴリごとに件数を集計する | すべての行を返し、モデル内で集計する | aggregate(group_by=[...]) → 21 行 | 約 99.9% |
この数値が示すこと、示さないこと。 削減率は、ファイル全体を貼り付けた場合との比較です。これは単純なエージェントが行う方法であり、トークン料金に反映される使い方です。255 MB の CSV を貼り付けることなど決してない、熟練した人間のアナリストとの比較ではありません。削減倍率はファイルサイズに応じて変わります。200 行のスプレッドシートでは削減できる量ははるかに少なく、実際の数値は「意味のある差はほとんどない」に近くなります。
同じ実行での一般的なレイテンシ:単一列に対する describe_column は 22~33 ms、約 600 トークンです。
インストール
要件: Python 3.10 以降、MCP 互換クライアント。
インストール手順はありません。jdatamunch-mcp は CLI サブコマンドを持たない stdio MCP サーバーのため、PATH に何かを配置する必要はありません。クライアントから uvx を呼び出せば、必要に応じてサーバーを取得して実行します。
Claude Code のセットアップ:
claude mcp add jdatamunch -- uvx jdatamunch-mcp
これだけです。まだ uv をお使いでない場合は、こちらをご覧ください。
Excel または Parquet を読み込む場合は、uvx が --from 引数で指定するオプションの追加パッケージが必要です。
claude mcp add jdatamunch -- uvx --from "jdatamunch-mcp[excel,parquet]" jdatamunch-mcp
永続的にインストールしたい場合
| コマンド | 使用する場面 |
|---|---|
uv tool install jdatamunch-mcp | 起動のたびに解決するのではなく、一度だけ解決したい場合 |
pipx install jdatamunch-mcp | すでに pipx を標準的に使っている場合 |
pip install jdatamunch-mcp | 自分で管理する仮想環境内で使う場合。⚠ PEP 668 対応ディストリビューション(Ubuntu 24.04 以降、Debian 12 以降)では拒否されます。上記いずれかをお使いください。 |
追加パッケージは通常の角括弧形式で指定します。uv tool install "jdatamunch-mcp[excel,parquet]"。サーバーの登録方法は同じです。上記の claude mcp add の行で、uvx jdatamunch-mcp の代わりに jdatamunch-mcp を指定してください。
Claude Code を再起動して /mcp と入力すると、jdatamunch が一覧に表示されます。この一覧表示が確認手順です。サーバーを直接実行すると、標準入力を待ち続けます。
Claude Desktop、Cursor、Windsurf を含む、クライアントごとの詳細なセットアップ方法については、QUICKSTART.mdをご覧ください。
クイックスタート
前提: jDataMunch をインストールしてクライアントに登録済みで、CSV ファイルが手元にあること。
すべてエージェント内で完結します。別途インデックス作成コマンドを実行する必要はありません。次のように依頼してください。
jdatamunch を使って、./data/sales.csv をインデックス化してください
エージェントは index_local を呼び出します。このツールはデータセット名、行数と列数、検出された型を返します。続いて、次のように依頼してください。
jdatamunch を使って sales データセットを説明し、欠損値のある列を教えてください。
エージェントは describe_dataset を呼び出します。このツールは、行をコンテキストに読み込むことなく、列名、推定された型、カーディナリティ、NULL 率、サンプル値を返します。_meta.tokens_saved には、ファイルを読み込む場合と比べたトークンコストの削減量が示されます。
次のステップ: 1 列の分布を調べるには describe_column を、サーバー側でグループ化して集計するには aggregate を使います。
できること
- 初めて見るデータセットの概要を把握する。
describe_dataset、describe_column、sample_rows、get_distribution、get_correlations。 - 行を読み込まずにクエリする。 フィルター付きの
get_rows、group_byを使うaggregate、run_sql、実行前にコストを確認するplan_query。 - 複数のデータセットをまたいで作業する。
suggest_joins、suggest_keys、join_datasets。 - データ品質の問題を見つける。
get_dataset_health、data_health_radar、get_data_hotspots(NULL 率、カーディナリティの異常、外れ値の広がり)、get_schema_drift、find_unused_columns。 - スキーマ変更の影響を事前に確認する。 列を削除または名前変更する前に
check_column_drop_safeとget_schema_impactを使います。 - 意味に基づいて検索する。 意図する内容は分かっていても、その名前が分からない場合に
search_dataとfind_similar_columnsを使います。 - GitHub からインデックスを作成する。
index_repoは、CSV、Excel、Parquet、JSONL をリポジトリから直接取得します。HEAD SHA に基づいて差分のみを処理し、プライベートリポジトリにも対応します。
ツールは全部で 39 個です。詳細については、USER-MANUAL.mdをご覧ください。
仕組み
すべてローカルで実行されます。データセットのプロファイリングとインデックスの保存はどちらもお使いのマシン上で行われ、インデックス作成やクエリにホスト型サービスは使用しません。
data.csv ──► profiler ──► column stats + local index
│
MCP client ◄── query ─┘ (filters, aggregates, joins
execute server-side)
集計やフィルター処理はモデル上でシミュレートするのではなく、保存済みのデータに対して実行されます。そのため、回答のトークンコストは行数にほとんど左右されません。サンプリングに基づく統計では、推定値を正確な値として提示するのではなく、誤差範囲(標準誤差でおよそ 2%)を示します。
対応フォーマット
| フォーマット | 拡張子 | 追加インストール |
|---|---|---|
| CSV / TSV | .csv, .tsv | 組み込み |
| JSON Lines | .jsonl | 組み込み |
| Excel | .xlsx, .xls | pip install "jdatamunch-mcp[excel]" |
| Parquet | .parquet | pip install "jdatamunch-mcp[parquet]" |
セキュリティとプライバシー
ローカルファーストです。データはお使いのマシン上でプロファイリングおよびインデックス化され、アップロードされることはありません。
ベースパッケージのデフォルトのネットワーク動作は、匿名の節約量カウンターのみです。ランダム ID と集計されたトークン数を送信します。データ、列名、ファイルパス、個人情報は一切送信しません。 完全にオプトアウトするには:
JDATAMUNCH_SHARE_SAVINGS=0
index_repo が GitHub にアクセスするのは、ユーザーが呼び出したときだけで、ユーザーが提供したトークンを使用します。埋め込みプロバイダーが呼び出されるのは、ユーザーが設定した場合のみです。スケジューラーもバックグラウンドでの報告もありません。
各オプションの追加機能で取り込まれるものを含む詳細については、SECURITY.md をご覧ください。
制限事項
- 節約量はファイルサイズに応じて変わります。 小さなスプレッドシートでは違いはわずかです。ベンチマークの数値は 255 MB のファイルに基づいています。
- サンプリング統計はあくまでサンプルに基づくものです。 非常に大きなファイルの分布や相関の数値には、正確な値ではなく、明示された誤差範囲が伴います。
- Excel と Parquet にはオプションの追加機能が必要で、追加の依存関係が取り込まれます。
- デフォルトの
describe_columnにoffloadableのラベルが付くことはありません。 jDataMunch は、証明できないインデックスの鮮度を断定しないため、低コストの鮮度確認ではunknownが返され、注釈はフェイルクローズします。これは意図的な動作です。詳しくは注釈のセクションをご覧ください。 - jDataMunch はコードや文章を読み取りません。 コードシンボルは jcodemunch-mcp が、ドキュメントのセクションは jdocmunch-mcp が担当します。
オフロード可能な作業の注釈
JMUNCH_OFFLOADABLE=1(スイート全体)または JDATAMUNCH_OFFLOADABLE=1(このサーバーのみ)を設定すると、describe_column に助言的な _meta.offloadable ブロックが追加され、回答が単純かつ自己完結的で、より低コストのモデルに任せられるかどうかを示します。
これはラベルにすぎず、それ以上のことは何もしません。 jDataMunch が別のモデルを呼び出したり、リクエストをルーティングしたり、API キーに触れたりすることはありません。デフォルトでは無効です。次に何をするかはユーザーが決めます。
判定は三値で、理由コードが付与されます。not_evaluated(「評価していません」)は not_offloadable(「これは単純な作業ではありません」)とは異なります。フェイルクローズ方式です。回答に影響する不明点が一つでもあれば対象外になります。offloadable と誤って判定すると、実際の作業を、情報の不足を作り上げて埋め合わせるモデルに渡すことになるためです。verify_with は、より低コストのモデルの回答を判定する呼び出しを示します。
3 つの jMunch サーバーすべてで同一のフィールド仕様を使用し、仕様にずれが生じたサーバーではビルドが失敗するよう、固定された仕様ダイジェストを使用しています。
ドキュメント
| ドキュメント | 内容 |
|---|---|
| QUICKSTART.md | 3 ステップで何もない状態からインデックス作成まで |
| USER-MANUAL.md | アナリスト、運用担当者、開発者以外の方向けの完全ガイド |
| SECURITY.md | データの取り扱い、ネットワーク動作、脆弱性の報告 |
| benchmarks/METHODOLOGY.md | ベンチマークの実行方法と測定内容 |
| CONTRIBUTING.md | 開発環境のセットアップと CLA の要件 |
| CHANGELOG.md | リリース履歴 |
ライセンスと商用利用
jDataMunch-MCP Dual-Use License(全文)に基づいて公開されています。非商用利用は無料です。商用利用には有料ライセンスが必要です。ライセンスはjMunch LLCが一度限りの料金で販売しています。
jDataMunchのみ: Builder、$39(開発者1名) · Studio、$149(最大5名) · Platform、$499(組織全体での内部展開)
jMunchスイート全体(コード+ドキュメント+データ): Trio Builder、$99 · Trio Studio、$449 · Trio Platform、$2,499
個人開発者および非商用プロジェクトにはライセンスは不要です。社内チーム全体でjDataMunchを展開する組織には必要です。
サポートとプロジェクトの状況
積極的にメンテナンスされています。課題やバグ報告については、GitHub Issuesをご利用ください。商用ライセンスに関するお問い合わせは、jcodemunch.comからお願いします。
jcodemunch-mcp(コードシンボル)およびjdocmunch-mcp(ドキュメントのセクション)とともに、jMunchスイートの一部を構成しています。3つすべてが、オープンな検索インターフェース仕様であるjMRIを実装しています。同じレスポンスエンベロープ、同じトークン計算です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。