JSON Diff

Una herramienta de comparación JSON para comparar dos cadenas JSON.

Documentación

MCP JSONDiff Kel

Python 3.13+ License Version

Herramienta eficiente de comparación JSON basada en el Model Context Protocol (MCP), diseñada específicamente para escenarios de conversación con IA.

📋 Introducción del proyecto

Durante el desarrollo asistido por IA, la comparación JSON suele enfrentar los siguientes problemas:

  1. Precisión insuficiente: Los métodos tradicionales de comparación con IA pueden producir errores de juicio
  2. Sesgo de comprensión: La IA puede malinterpretar los requisitos, generando código de comparación en lugar de resultados de comparación directos
  3. Salida extensa: Los resultados de comparación son demasiado detallados, dificultando la obtención rápida de información clave

Este proyecto proporciona un servicio estandarizado de comparación JSON a través del protocolo MCP, garantizando que la IA pueda completar tareas de comparación JSON de manera precisa y rápida.

🛠️ Guía de implementación

Usando uvx (recomendado)

uvx mcp-jsondiff-kel@latest

Usando pip

pip install mcp-jsondiff-kel

Instalación desde el código fuente

git clone https://github.com/your-username/mcp-jsondiff.git
cd mcp-jsondiff
pip install -e .

Configuración de la aplicación

Configuración de Claude Desktop

Agregue la siguiente configuración en el archivo de configuración de la aplicación:

{
  "mcpServers": {
    "mcp_jsondiff": {
      "command": "uvx",
      "args": [
        "mcp-jsondiff-kel@latest"
      ]
    }
  }
}

Configuración de Cherry Studio

{
  "mcpServers": {
    "mcp_jsondiff": {
      "command": "uvx",
      "args": [
        "mcp-jsondiff-kel@latest"
      ]
    }
  }
}

📖 Ejemplos de uso

Ejemplo de demostración usando Cherry Studio

Primero seleccione esta herramienta mcp en el cuadro de diálogo image-20250828221215427 Luego ingrese un texto como el siguiente para realizar la comparación json对比,预期值:{"a":1,"b":2}, 实际值:{"a":1,"b":2}

Comparación de cadenas

image-20250828221334908

Comparación JSON

image-20250828221439044

Comparación JSON con escape

image-20250828221359169

Comparación JSON anidado

image-20250828221531975

Video de demostración

https://www.bilibili.com/video/BV1yYh2zNEcY/?spm_id_from=333.1387.homepage.video_card.click&vd_source=1a77b8b856c66190a0ab82a7acb92136

🚀 Características del proyecto

  • 🔍 Comparación inteligente: Detección profunda de diferencias JSON basada en la librería deepdiff
  • ⚡ Respuesta rápida: Algoritmo de comparación optimizado, compatible con documentos JSON grandes
  • 🔄 Entrada flexible: Admite dos formatos de entrada: cadenas JSON y objetos de diccionario
  • 📊 Salida clara: Informe de diferencias estructurado para localizar problemas rápidamente
  • 🔧 Integración MCP: Integración perfecta con aplicaciones de IA que admiten el protocolo MCP
  • 🐍 Python nativo: Basado en Python 3.13+, con rendimiento excelente

🔧 Documentación de la API

Herramienta principal: jsonDiff

Función: Compara dos objetos o cadenas JSON y devuelve información detallada de las diferencias

Parámetros:

  • expectKey (Union[str, dict]): Valor JSON esperado, admite cadenas JSON u objetos de diccionario
  • actualKey (Union[str, dict]): Valor JSON real, admite cadenas JSON u objetos de diccionario

Valor de retorno:

{
  "differences": "DeepDiff对象,包含所有差异信息",
  "is_identical": "布尔值,表示两个JSON是否完全一致",
  "message": "字符串,描述对比结果或错误信息"
}

Características:

  • Ignora automáticamente las diferencias de orden en los arreglos (ignore_order=True)
  • Admite comparación de estructuras JSON anidadas
  • Manejo inteligente de errores, proporciona mensajes de error claros

🧪 Depuración y pruebas

Depuración con el inspector MCP

npx @modelcontextprotocol/inspector uvx mcp-jsondiff-kel

Ejecutar pruebas localmente

cd src/mcp_jsondiff_kel
python server.py

🏗️ Estructura del proyecto

mcp-jsondiff/
├── pyproject.toml          # 项目配置和依赖
├── README.md              # 项目文档
├── src/
│   └── mcp_jsondiff_kel/
│       ├── __init__.py    # 包入口点
│       ├── __main__.py    # 命令行入口
│       └── server.py      # MCP服务器核心逻辑
└── uv.lock               # 依赖锁定文件

🔧 Pila tecnológica

  • Python 3.13+: Entorno de ejecución principal
  • FastMCP: Marco de implementación del protocolo MCP
  • DeepDiff: Motor de detección de diferencias JSON
  • Hatchling: Sistema de compilación

🤝 Guía de contribución

¡Damos la bienvenida a las contribuciones de la comunidad! Siga los siguientes pasos:

  1. Haga un fork de este repositorio
  2. Cree una rama de características (git checkout -b feature/AmazingFeature)
  3. Realice los cambios (git commit -m 'Add some AmazingFeature')
  4. Envíe a la rama (git push origin feature/AmazingFeature)
  5. Abra un Pull Request

Configuración del entorno de desarrollo

# 克隆仓库
git clone https://github.com/your-username/mcp-jsondiff.git
cd mcp-jsondiff

# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
python -m pytest

📝 Registro de cambios

v0.1.5

  • Publicación de la versión inicial
  • Compatibilidad con funciones básicas de comparación JSON
  • Integración del protocolo MCP
  • Manejo de errores y formato de salida fácil de usar

📄 Licencia

Este proyecto está bajo la licencia MIT: consulte el archivo LICENSE para obtener más detalles.

👥 Autores

🙏 Agradecimientos

📞 Soporte y comentarios

Si encuentra problemas durante el uso o tiene sugerencias de mejora, por favor:

  1. Envíe un problema en GitHub Issues
  2. Envíe un correo electrónico a 2220041897@qq.com
  3. Participe en la discusión de la comunidad

⭐ Si este proyecto le resulta útil, ¡denos una estrella!