mcpField
J
jDataMunch MCP

jDataMunch MCP

ローカル
github.com/jgravelleデータ・分析821 週間前に更新

jDataMunch MCP について

jDataMunch MCP は、CSV、Excel、Parquet、JSONL ファイルをインデックス化し、コーディングエージェントやアナリストがデータ行をプロンプトに貼り付けずに問い合わせられるようにするローカルの MCP サーバーです。フィルタリング、集計、結合はサーバー側で実行され、結果のみが返されます。個人利用は無料で、商用利用には有料ライセンスが必要です。

主な機能

  1. 01データセットを一度インデックス化して繰り返し照会
  2. 02列のプロファイルとデータ品質の確認
  3. 03サーバー側でのフィルタリング、集計、データセット間の結合
  4. 04Excel や Parquet などのオプション形式への対応
  5. 05GitHub リポジトリからのデータファイルの直接インデックス化

活用シーン

  1. 01全行を読み込まずに未知のデータセットの構造を把握
  2. 02大規模な CSV ファイルをカテゴリ別に件数集計
  3. 03列の削除や名称変更による影響の事前確認

MCP 対応

jDataMunch は stdio で動作する MCP サーバーで、describe_dataset、get_rows、aggregate、index_repo など約 39 のツールを MCP クライアントに公開し、ローカルにインデックス化されたデータへの問い合わせを可能にします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"jgravelle-jdatamunch": {
"command": "uvx",
"args": [
"jdatamunch-mcp"
]
}
}
}
起動コマンドuvx jdatamunch-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypijdatamunch-mcp1.31.13

ツール

39

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
namestringいいえデータセット識別子の上書き値(デフォルトはファイル名の拡張子を除いた部分)
pathstringはいデータファイルの絶対パス(.csv、.tsv、.xlsx、.xls、.parquet、.jsonl、.ndjson)
depthenumいいえプロファイルの深度(B7)。'shallow' は高速な初見用に最大 100k 行に制限します。'standard' は完全なプロファイルです(デフォルト)。'deep' は相関関係も事前計算します。shallow | standard | deep
sheetstringいいえインデックスを作成する Excel シート名(デフォルト:最初のシート)
encodingstringいいえファイルエンコーディングの上書き値(省略時は自動検出)
delimiterstringいいえCSV 区切り文字の上書き値(省略時は自動検出)
header_rowintegerいいえ列見出しを含む行番号(0 始まり、デフォルトは 0)
incrementalbooleanいいえファイルハッシュに変更がなければ再インデックスをスキップします(デフォルトは true)

詳細

jDataMunch MCP:AI エージェント向けの表形式データ検索

jDataMunch は、CSV、Excel、Parquet、JSONL ファイルの行をコンテキストウィンドウに貼り付けずに質問に回答する、コーディングエージェントとアナリスト向けの MCP サーバーです。

データセットを一度インデックス化すれば、列のプロファイル、フィルター処理した行、サーバー側の集計、複数データセット間の結合を取得できます。これにより、100 万行のファイルを扱うコストは、数百万トークンではなく数千トークンになります。

インストール · クイックスタート · ベンチマーク · 商用ライセンス

PyPI version PyPI - Python Version License MCP Local-first

個人利用は無料です。 商用利用には有料ライセンスが必要です — 以下の利用条件をご覧ください。


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, .xlspip install "jdatamunch-mcp[excel]"
Parquet.parquetpip 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.md3 ステップで何もない状態からインデックス作成まで
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を実装しています。同じレスポンスエンベロープ、同じトークン計算です。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。