mcpField
K
keremurat-mcp

keremurat-mcp

Remote
github.com/keremuratDeveloper Tools0Updated 56w ago
Repository

About keremurat-mcp

keremurat-mcp is an MCP server for developers to compare two JSON strings recursively. It ignores object, property, and array order, and reports difference paths and types.

Key features

  1. 01Recursively compare nested objects and arrays
  2. 02Ignore object, property, and array order
  3. 03Report missing keys, extra keys, and value differences
  4. 04Include paths to differences
  5. 05Check value data types

Use cases

  1. 01Review changes between JSON configurations
  2. 02Compare JSON API responses
  3. 03Locate differences in nested structures

MCP support

It exposes the `compare_json` tool to MCP clients, accepting two JSON strings and returning a difference report.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://server.smithery.ai/@keremurat/mcp/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://server.smithery.ai/@keremurat/mcp/mcpAuth required

Tools

Details

From the project README

🔍 JSON Compare MCP Server

Python MCP Docker Smithery

Derinlemesine ve sıra-bağımsız JSON karşılaştırma MCP tool'u

İki JSON dosyasını akıllıca karşılaştırın, farklılıkları tespit edin!

🎯 Hızlı Başlangıç • 📦 Özellikler • 🚀 Kullanım • 🧪 Test


✨ Özellikler

  • 🔍 Derinlemesine Karşılaştırma - Nested objeler ve array'ler dahil tüm seviyeler
  • 🔀 Sıra-Bağımsız - Property ve obje sıralaması önemli değil
  • 📊 Detaylı Raporlama - Eksik, fazla ve farklı değerlerin detaylı raporu
  • 🎯 Path Tracking - Her farkın tam konumu (örn: root.user.settings.theme)
  • 🏷️ Tip Kontrolü - Değer tiplerini de karşılaştırır
  • ⚡ Hızlı ve Verimli - Optimize edilmiş recursive algoritma

🎯 Hızlı Başlangıç

1. Kurulum
git clone https://github.com/yourusername/json-compare-mcp.git
cd json-compare-mcp
pip install -r requirements.txt
2. MCP Server'ı Başlat
python server.py
3. Test Et
python test_compare.py

📦 Ne İçeriyor?

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

🚀 Kullanım

MCP Tool: 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"}'
)

Not: Artık dosya yolu değil, direkt JSON string kullanın!

Çıktı Formatı
{
  "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
  }
}

🔍 Karşılaştırma Mantığı

Seviye 1: Üst Seviye Obje Karşılaştırma
  • ✅ Her iki JSON'daki üst seviye objeleri/anahtarları tespit et
  • ✅ SIRALAMA ÖNEMLİ DEĞİL - Objeler farklı sırada olabilir
  • ✅ Eksik/fazla objeleri tespit et ve uyar
  • ✅ Eşleşen objeler için Seviye 2'ye geç
Seviye 2: İç Nesne/Property Karşılaştırma
  • ✅ Tüm property'leri karşılaştır
  • ✅ SIRALAMA ÖNEMLİ DEĞİL - Property'ler farklı sırada olabilir
  • ✅ Property varlığı, tip ve içerik kontrolü
  • ✅ Array'ler için sıra-bağımsız karşılaştırma
Fark Tipleri
TipAçıklama
missing_keyAnahtar file1'de var, file2'de yok
extra_keyAnahtar file2'de var, file1'de yok
value_mismatchDeğerler farklı
type_mismatchVeri tipleri farklı

🧪 Test

Test Suite'i Çalıştır
python test_compare.py
Test Senaryoları
  1. Sıra-bağımsız test: Aynı içerik, farklı sıralama → identical
  2. Farklılık tespiti: Farklı değerler → detaylı fark raporu
  3. Kendisi ile: Aynı dosya → identical
Test Çıktısı
✅ 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

🛠️ Geliştirme

Yeni Tool Eklemek

app.py dosyasına yeni fonksiyon ekle:

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

server.py dosyasına MCP tool olarak kaydet:

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

🚀 Deployment

Smithery Deployment
  1. Repository'yi GitHub'a push et
  2. Smithery'de repository'yi bağla
  3. Tek tıkla deploy et! 🎉
Docker Deployment
docker build -t json-compare-mcp .
docker run -p 8000:8000 json-compare-mcp
Manuel Deployment
pip install -r requirements.txt
python server.py

📋 Gereksinimler

  • Python 3.11+
  • mcp
  • requests

🤝 Katkıda Bulunma

  1. 🍴 Fork et
  2. 🌱 Feature branch oluştur
  3. 💻 Değişiklikleri yap
  4. 🧪 Test et
  5. 📝 Pull request gönder

📄 Lisans

MIT License - Detaylar için LICENSE dosyasına bakın.


Made with ❤️ for better JSON comparison

Sıra-bağımsız, derinlemesine, güvenilir 🚀

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.