mcpField
K
keremurat-json

keremurat-json

リモート
github.com/keremurat開発ツール056 週間前に更新
リポジトリ

keremurat-json について

keremurat-jsonは、2つのJSON文字列を再帰的に比較する開発者向けMCPサーバーです。オブジェクト、プロパティ、配列の順序を無視し、差分のパスと型を報告します。

主な機能

  1. 01ネストしたオブジェクトと配列を再帰比較
  2. 02オブジェクト、プロパティ、配列の順序を無視
  3. 03キーの欠落、余分なキー、値の差を報告
  4. 04差分のパスを表示
  5. 05値のデータ型を確認

活用シーン

  1. 01JSON設定の変更を確認
  2. 02APIレスポンスのJSONを比較
  3. 03ネストした構造の差分を特定

MCP 対応

MCPクライアントに `compare_json` ツールを提供し、2つのJSON文字列を受け取って差分レポートを返します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://server.smithery.ai/@keremurat/json/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://server.smithery.ai/@keremurat/json/mcp認証が必要

ツール

詳細

🔍 JSON Compare MCP サーバー

Python MCP Docker Smithery

詳細かつ順序に依存しない JSON 比較 MCP ツール

2 つの JSON ファイルをスマートに比較し、差異を検出します!

🎯 クイックスタート • 📦 機能 • 🚀 使用方法 • 🧪 テスト


✨ 機能

  • 🔍 詳細な比較 - ネストされたオブジェクトや配列を含む、すべての階層を比較します
  • 🔀 順序に依存しない比較 - プロパティやオブジェクトの順序は関係ありません
  • 📊 詳細なレポート - 不足、余分、異なる値について詳細に報告します
  • 🎯 パスの追跡 - 各差異の正確な位置を示します(例:root.user.settings.theme)
  • 🏷️ 型のチェック - 値の型も比較します
  • ⚡ 高速かつ効率的 - 最適化された再帰アルゴリズム

🎯 クイックスタート

1. インストール
git clone https://github.com/yourusername/json-compare-mcp.git
cd json-compare-mcp
pip install -r requirements.txt
2. MCP サーバーを起動
python server.py
3. テスト
python test_compare.py

📦 内容

json-compare-mcp/
├── 🐍 app.py              # JSON karşılaştırma implementasyonu
├── 🚀 server.py           # MCP server yapılandırması
├── 🧪 test_compare.py     # Test suite
├── 📋 requirements.txt    # Python bağımlılıkları
├── 🐳 Dockerfile          # Container yapılandırması
├── ⚙️ smithery.yaml       # Smithery deployment config
└── 📁 test_samples/       # Örnek JSON dosyaları
    ├── file1.json
    ├── file2.json
    └── file3_different.json

🚀 使用方法

MCP ツール:compare_json
# İki JSON string'ini karşılaştır
compare_json(
    json1='{"name": "Ahmet", "age": 30, "city": "Istanbul"}',
    json2='{"age": 30, "city": "Istanbul", "name": "Ahmet"}'
)

注: ファイルパスではなく、JSON 文字列を直接使用してください!

出力形式
{
  "status": "different",
  "total_differences": 11,
  "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": 2,
    "value_mismatches": 8,
    "type_mismatches": 0
  }
}

🔍 比較の仕組み

レベル 1:トップレベルオブジェクトの比較
  • ✅ 両方の JSON に含まれるトップレベルのオブジェクト/キーを検出します
  • ✅ 順序は重要ではありません - オブジェクトの順序は異なっていてもかまいません
  • ✅ 不足/余分なオブジェクトを検出して通知します
  • ✅ 一致するオブジェクトについては、レベル 2 に進みます
レベル 2:内部オブジェクト/プロパティの比較
  • ✅ すべてのプロパティを比較します
  • ✅ 順序は重要ではありません - プロパティの順序は異なっていてもかまいません
  • ✅ プロパティの有無、型、内容を確認します
  • ✅ 配列は順序に依存せず比較します
差異の種類
種類説明
missing_keyキーは file1 にありますが、file2 にはありません
extra_keyキーは file2 にありますが、file1 にはありません
value_mismatch値が異なります
type_mismatchデータ型が異なります

🧪 テスト

テストスイートを実行
python test_compare.py
テストシナリオ
  1. 順序に依存しないテスト:内容は同じで順序が異なる → identical
  2. 差異の検出:値が異なる → 詳細な差異レポート
  3. 同じファイルとの比較:同じファイル → identical
テスト出力
✅ Test 1 - Sıra-bağımsız: BAŞARILI
✅ Test 2 - Farklılık tespiti: BAŞARILI
✅ Test 3 - Aynı dosya: BAŞARILI

🔍 Test 2 Detayları:
   - Eksik anahtarlar: 1
   - Fazla anahtarlar: 2
   - Değer uyuşmazlıkları: 8
   - Tip uyuşmazlıkları: 0
   - Toplam fark: 11

🛠️ 開発

新しいツールを追加する

app.py ファイルに新しい関数を追加します:

def myNewTool(param: str) -> str:
    # Your logic
    return result

server.py ファイルに MCP ツールとして登録します:

@mcp.tool()
async def my_new_tool(param: str) -> str:
    """Tool açıklaması"""
    return myNewTool(param)

🚀 デプロイ

Smithery へのデプロイ
  1. リポジトリを GitHub にプッシュします
  2. Smithery でリポジトリを連携します
  3. ワンクリックでデプロイします!🎉
Docker へのデプロイ
docker build -t json-compare-mcp .
docker run -p 8000:8000 json-compare-mcp
手動でのデプロイ
pip install -r requirements.txt
python server.py

📋 必要条件

  • Python 3.11+
  • mcp
  • requests

🤝 貢献

  1. 🍴 フォークします
  2. 🌱 フィーチャーブランチを作成します
  3. 💻 変更を加えます
  4. 🧪 テストします
  5. 📝 プルリクエストを送信します

📄 ライセンス

MIT ライセンス - 詳細については LICENSE ファイルをご覧ください。


より良い JSON 比較のために ❤️ を込めて作成

順序に依存しない、詳細、信頼性の高い比較 🚀

コメント

MCP は初めてですか?

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

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