local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Complemento MCP de diagnóstico de Xcode
Un complemento MCP (Protocolo de control de modelos) para extraer y ver errores y advertencias de los registros de compilación de Xcode.
Descripción general
Este complemento implementa la especificación del Protocolo de Control de Modelos (MCP) para proporcionar funciones de diagnóstico de Xcode a cualquier asistente de IA compatible. Se conecta al sistema de compilación de Xcode para extraer, analizar y mostrar diagnósticos (errores y advertencias) de tus proyectos Swift. Ayuda a los asistentes de IA a identificar rápidamente problemas en tu código sin tener que buscar manualmente en los registros de compilación.
Tenga en cuenta que, dado que esto funciona a nivel de registro, Xcode ya debe haber intentado una compilación antes de ejecutar esta herramienta.
Prerrequisitos
- sistema operativo macOS
- Xcode instalado
- Python 3.6+
Instalación
Instalación desde PyPI
La forma más sencilla de instalar el complemento Xcode Diagnostics MCP:
Instalación desde GitHub
Puedes instalarlo directamente desde GitHub:
Instalación desde la fuente
Para instalar desde la fuente:
- Clonar o descargar este repositorio
- Instalar el complemento usando pip:Copy
El complemento ahora se puede utilizar con cualquier cliente compatible con MCP.
Características
- Enumera todos los proyectos de Xcode que tienen registros de compilación en DerivedData
- Extrae errores y advertencias del último registro de compilación de un proyecto específico
- Analiza diagnósticos complejos, incluidas notas asociadas y sugerencias de solución.
- Proporciona información detallada sobre cada problema, incluidas rutas de archivos, números de línea y mensajes de error.
- Optimizado para capturar advertencias relacionadas con la concurrencia de Swift
Tipos de diagnóstico admitidos
El complemento puede detectar y mostrar varios tipos de diagnósticos de Xcode, incluidos:
Errores
- Errores de sintaxis (por ejemplo, "se esperaba '{'" o "se esperaba expresión")
- Errores de tipo (por ejemplo, "no se puede convertir el valor del tipo X al tipo de argumento esperado Y")
- Identificadores no resueltos e importaciones faltantes
- Errores de conformidad del protocolo
- Fallos en la inferencia de parámetros genéricos
- Violaciones del control de acceso
Advertencias
- Variables, constantes y resultados no utilizados
- Conversiones implícitas que pueden perder precisión
- Código redundante o expresiones innecesarias
- Advertencias de desuso
- Problemas de interpolación de cadenas
- Advertencias de concurrencia de Swift, que incluyen:
- Advertencias globales compartidas y no aisladas sobre estados mutables
- Advertencias de aislamiento del actor principal
- Advertencias de concurrencia de conformidad con el protocolo
- Violaciones del aislamiento del actor
- Advertencias de compatibilidad del modo de lenguaje Swift 6
Notas y sugerencias para solucionar problemas
- Notas asociadas que proporcionan contexto adicional para errores y advertencias
- Sugerencias de solución que proponen cambios de código para resolver problemas
- Fragmentos de código que muestran el código problemático
Limitaciones
- Es posible que los formatos binarios/serializados en los registros de tiempo de ejecución no se analicen por completo
- Es posible que no se reconozcan algunos formatos de diagnóstico altamente especializados
- Los registros de compilación muy grandes pueden truncarse
- Es posible que los diagnósticos personalizados específicos del proyecto no estén categorizados correctamente
Herramientas MCP
El complemento proporciona dos herramientas MCP principales:
obtener_proyectos_xcode
Enumera todos los proyectos de Xcode con registros de compilación en el directorio DerivedData.
Parámetros : Ninguno
obtener_diagnósticos_del_proyecto
Obtiene información de diagnóstico del último registro de compilación de un proyecto específico.
Parámetros :
project_dir_name
: Nombre del directorio del proyecto en DerivedData (por ejemplo, 'ProjectName-hash')include_warnings
: si se deben incluir advertencias además de errores (valor predeterminado: Verdadero)
Información de depuración
Para fines de depuración, el complemento guarda la salida del registro sin procesar en:
/tmp/xcode-mcp-debug.log
- Registros principales de la aplicación/tmp/xcode-diagnostic-raw.log
: salida sin procesar de los registros de actividad de Xcode
Ejemplo de salida
Pruebas
El complemento incluye un conjunto de pruebas para verificar la funcionalidad de análisis:
Licencia
Este proyecto está disponible bajo la licencia MIT.
This server cannot be installed
Se conecta al sistema de compilación de Xcode para extraer, analizar y mostrar errores y advertencias de sus proyectos Swift, lo que ayuda a los asistentes de IA a identificar rápidamente problemas de código sin tener que buscar manualmente en los registros de compilación.