{
  "markdown": "# 🔍 JSON Compare MCP Server\n\n<div align=\"center\">\n\n![Python](https://img.shields.io/badge/python-3.11+-blue.svg)\n![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)\n![Docker](https://img.shields.io/badge/docker-ready-blue.svg)\n![Smithery](https://img.shields.io/badge/Smithery-Deploy%20Ready-orange.svg)\n\n**Derinlemesine ve sıra-bağımsız JSON karşılaştırma MCP tool'u**\n\n*İki JSON dosyasını akıllıca karşılaştırın, farklılıkları tespit edin!*\n\n[🎯 Hızlı Başlangıç](#-hızlı-başlangıç) • [📦 Özellikler](#-özellikler) • [🚀 Kullanım](#-kullanım) • [🧪 Test](#-test)\n\n</div>\n\n---\n\n## ✨ Özellikler\n\n- 🔍 **Derinlemesine Karşılaştırma** - Nested objeler ve array'ler dahil tüm seviyeler\n- 🔀 **Sıra-Bağımsız** - Property ve obje sıralaması önemli değil\n- 📊 **Detaylı Raporlama** - Eksik, fazla ve farklı değerlerin detaylı raporu\n- 🎯 **Path Tracking** - Her farkın tam konumu (örn: `root.user.settings.theme`)\n- 🏷️ **Tip Kontrolü** - Değer tiplerini de karşılaştırır\n- ⚡ **Hızlı ve Verimli** - Optimize edilmiş recursive algoritma\n\n## 🎯 Hızlı Başlangıç\n\n### 1. Kurulum\n\n```bash\ngit clone https://github.com/yourusername/json-compare-mcp.git\ncd json-compare-mcp\npip install -r requirements.txt\n```\n\n### 2. MCP Server'ı Başlat\n\n```bash\npython server.py\n```\n\n### 3. Test Et\n\n```bash\npython test_compare.py\n```\n\n## 📦 Ne İçeriyor?\n\n```\njson-compare-mcp/\n├── 🐍 app.py              # JSON karşılaştırma implementasyonu\n├── 🚀 server.py           # MCP server yapılandırması\n├── 🧪 test_compare.py     # Test suite\n├── 📋 requirements.txt    # Python bağımlılıkları\n├── 🐳 Dockerfile          # Container yapılandırması\n├── ⚙️ smithery.yaml       # Smithery deployment config\n└── 📁 test_samples/       # Örnek JSON dosyaları\n    ├── file1.json\n    ├── file2.json\n    └── file3_different.json\n```\n\n## 🚀 Kullanım\n\n### MCP Tool: `compare_json`\n\n```python\n# İki JSON string'ini karşılaştır\ncompare_json(\n    json1='{\"name\": \"Ahmet\", \"age\": 30, \"city\": \"Istanbul\"}',\n    json2='{\"age\": 30, \"city\": \"Istanbul\", \"name\": \"Ahmet\"}'\n)\n```\n\n**Not:** Artık dosya yolu değil, direkt JSON string kullanın!\n\n### Çıktı Formatı\n\n```json\n{\n  \"status\": \"different\",\n  \"total_differences\": 11,\n  \"differences\": [\n    {\n      \"type\": \"missing_key\",\n      \"path\": \"root.user.settings.language\",\n      \"key\": \"language\",\n      \"file1_value\": \"tr\",\n      \"message\": \"Key 'language' exists in file1 but missing in file2\"\n    },\n    {\n      \"type\": \"value_mismatch\",\n      \"path\": \"root.user.name\",\n      \"file1_value\": \"Ahmet Yılmaz\",\n      \"file2_value\": \"Mehmet Demir\",\n      \"message\": \"Value mismatch at 'root.user.name'\"\n    }\n  ],\n  \"summary\": {\n    \"missing_keys\": 1,\n    \"extra_keys\": 2,\n    \"value_mismatches\": 8,\n    \"type_mismatches\": 0\n  }\n}\n```\n\n## 🔍 Karşılaştırma Mantığı\n\n### Seviye 1: Üst Seviye Obje Karşılaştırma\n\n- ✅ Her iki JSON'daki üst seviye objeleri/anahtarları tespit et\n- ✅ **SIRALAMA ÖNEMLİ DEĞİL** - Objeler farklı sırada olabilir\n- ✅ Eksik/fazla objeleri tespit et ve uyar\n- ✅ Eşleşen objeler için Seviye 2'ye geç\n\n### Seviye 2: İç Nesne/Property Karşılaştırma\n\n- ✅ Tüm property'leri karşılaştır\n- ✅ **SIRALAMA ÖNEMLİ DEĞİL** - Property'ler farklı sırada olabilir\n- ✅ Property varlığı, tip ve içerik kontrolü\n- ✅ Array'ler için sıra-bağımsız karşılaştırma\n\n### Fark Tipleri\n\n| Tip | Açıklama |\n|-----|----------|\n| `missing_key` | Anahtar file1'de var, file2'de yok |\n| `extra_key` | Anahtar file2'de var, file1'de yok |\n| `value_mismatch` | Değerler farklı |\n| `type_mismatch` | Veri tipleri farklı |\n\n## 🧪 Test\n\n### Test Suite'i Çalıştır\n\n```bash\npython test_compare.py\n```\n\n### Test Senaryoları\n\n1. **Sıra-bağımsız test**: Aynı içerik, farklı sıralama → `identical`\n2. **Farklılık tespiti**: Farklı değerler → detaylı fark raporu\n3. **Kendisi ile**: Aynı dosya → `identical`\n\n### Test Çıktısı\n\n```\n✅ Test 1 - Sıra-bağımsız: BAŞARILI\n✅ Test 2 - Farklılık tespiti: BAŞARILI\n✅ Test 3 - Aynı dosya: BAŞARILI\n\n🔍 Test 2 Detayları:\n   - Eksik anahtarlar: 1\n   - Fazla anahtarlar: 2\n   - Değer uyuşmazlıkları: 8\n   - Tip uyuşmazlıkları: 0\n   - Toplam fark: 11\n```\n\n## 🛠️ Geliştirme\n\n### Yeni Tool Eklemek\n\n[app.py](app.py) dosyasına yeni fonksiyon ekle:\n\n```python\ndef myNewTool(param: str) -> str:\n    # Your logic\n    return result\n```\n\n[server.py](server.py) dosyasına MCP tool olarak kaydet:\n\n```python\n@mcp.tool()\nasync def my_new_tool(param: str) -> str:\n    \"\"\"Tool açıklaması\"\"\"\n    return myNewTool(param)\n```\n\n## 🚀 Deployment\n\n### Smithery Deployment\n\n1. Repository'yi GitHub'a push et\n2. Smithery'de repository'yi bağla\n3. Tek tıkla deploy et! 🎉\n\n### Docker Deployment\n\n```bash\ndocker build -t json-compare-mcp .\ndocker run -p 8000:8000 json-compare-mcp\n```\n\n### Manuel Deployment\n\n```bash\npip install -r requirements.txt\npython server.py\n```\n\n## 📋 Gereksinimler\n\n- Python 3.11+\n- mcp\n- requests\n\n## 🤝 Katkıda Bulunma\n\n1. 🍴 Fork et\n2. 🌱 Feature branch oluştur\n3. 💻 Değişiklikleri yap\n4. 🧪 Test et\n5. 📝 Pull request gönder\n\n## 📄 Lisans\n\nMIT License - Detaylar için [LICENSE](LICENSE) dosyasına bakın.\n\n---\n\n<div align=\"center\">\n\n**Made with ❤️ for better JSON comparison**\n\n*Sıra-bağımsız, derinlemesine, güvenilir* 🚀\n\n</div>\n",
  "bytes": 5156,
  "sha": "1e1bdc6d2d079d0b3628233c20ec41b6e35fb9828642bab431198200c564cf96",
  "repo_slug": "keremurat/mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ai_smithery_keremurat_mcp_f9fa377a/readme"
}