mcpField
J
jsondiff

jsondiff

ローカル
github.com/CloudCorpRecords開発ツール01 週間前に更新

jsondiff について

jsondiffは、JSONドキュメントをローカルで比較するコマンドラインツール兼stdio MCPサーバーです。キーと配列の順序を無視し、差異の種類やパス、全体の判定を報告します。

主な機能

  1. 01JSONの深い比較
  2. 02キーと配列の順序を無視
  3. 03差異の種類とパスを報告
  4. 04コマンドラインとstdio MCPサーバー

活用シーン

  1. 01二つのJSONドキュメントを比較
  2. 02不足または余分なキーを特定
  3. 03値や型の不一致を確認

MCP 対応

二つのJSON文字列を受け取り、順序に依存しない比較結果と差異のパスを返すcompare_jsonツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-jsondiff": {
"command": "npx",
"args": [
"-y",
"@reneturcios/jsondiff"
]
}
}
}
起動コマンドnpx -y @reneturcios/jsondiff

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

パッケージ
npm@reneturcios/jsondiff0.1.0
ocighcr.io/cloudcorprecords/jsondiff:0.1.0

ツール

1

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

パラメーター型必須説明
json1stringはい1 つ目の JSON ドキュメント(JSON 文字列)
json2stringはい2 つ目の JSON ドキュメント(JSON 文字列)

詳細

jsondiff

キーや配列の順序を気にせず、2つの JSON ドキュメントを詳細に比較します。jsondiff は両方のドキュメントをすべての階層で走査し、見つかった差分をそれぞれ報告します。一方にのみ存在するキー、異なる値、JSON 型が異なる値を、差分の正確なドット区切りパス、種類ごとの概要、および全体の identical / different ステータスとともに報告します。

完全にローカルで処理します。上流 API、アカウント、API キー、設定は不要です。

CLI

npx @reneturcios/jsondiff compare '<json1>' '<json2>'
npx @reneturcios/jsondiff compare --file1 a.json --file2 b.json
npx @reneturcios/jsondiff --version

どちらの入力も JSON 文字列です。--file1 / --file2 を指定すると、代わりにファイルから読み込みます。比較レポートは JSON として出力されます。

{
  "status": "different",
  "total_differences": 2,
  "differences": [
    {
      "type": "missing_key",
      "path": "root.user.settings.language",
      "key": "language",
      "file1_value": "tr",
      "message": "Key 'language' exists in file1 but missing in file2"
    },
    {
      "type": "value_mismatch",
      "path": "root.user.name",
      "file1_value": "Ahmet Yılmaz",
      "file2_value": "Mehmet Demir",
      "message": "Value mismatch at 'root.user.name'"
    }
  ],
  "summary": {
    "missing_keys": 1,
    "extra_keys": 0,
    "value_mismatches": 1,
    "type_mismatches": 0
  }
}

終了コード:成功時は 0、実行時エラー時は 1(有効な JSON ではない入力を含み、エラーには入力名が示されます)、使用方法のエラー時は 2 です。

MCP サーバー

同じバイナリで stdio MCP サーバーも起動できます。

npx -y @reneturcios/jsondiff mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "jsondiff": {
      "command": "npx",
      "args": ["-y", "@reneturcios/jsondiff", "mcp"]
    }
  }
}
ツール
  • compare_json — 2つの JSON 文字列を順序に依存せず詳細に比較し、すべての差分(キーの欠落、余分なキー、値の不一致、型の不一致)を完全なパス情報とともに報告します。
    • json1(文字列、必須)— 1つ目の JSON ドキュメント(JSON 文字列)
    • json2(文字列、必須)— 2つ目の JSON ドキュメント(JSON 文字列)

差分の種類:missing_key(1つ目のドキュメントにのみ存在)、extra_key(2つ目のドキュメントにのみ存在)、value_mismatch(JSON 型は同じで、内容が異なる)、type_mismatch(JSON 型が異なる)。配列は順序に依存せず比較されます。もう一方の配列に深い比較で等しい要素がない要素は、値の不一致として報告されます。

Docker

docker run -i ghcr.io/cloudcorprecords/jsondiff            # stdio MCP server
docker run --rm ghcr.io/cloudcorprecords/jsondiff compare '{"a":1}' '{"a":2}'

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (pure local, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

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

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