k

keremurat-jsonmcp

@smithery/keremurat-jsonmcp
Hosted
0 Stars 3 次浏览 smithery 更新于 2026-08-23

Compare two JSON files deeply, ignoring order, to surface every difference. Get a clear, structure鈥�

该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

🔍 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ıç](# -hızlı-başlangıç) • [📦 Özellikler](# -özellikler) • [🚀 Kullanım](# -kullanım) • [🧪 Test](# -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

| Tip | Açıklama |
|- -- --|- -- -- -- -- -|
| missing_key | Anahtar file1'de var, file2'de yok |
| extra_key | Anahtar file2'de var, file1'de yok |
| value_mismatch | Değerler farklı |
| type_mismatch | Veri 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 🚀

相关 MCP 服务