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:
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
local-only server
The server can only run on the client's local machine because it depends on local resources.
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.
Related MCP Servers
- -securityFlicense-qualityProvides AI-powered assistance for coding problems using Google's Gemini AI, combined with Perplexity insights and Stack Overflow references, facilitating contextual analysis and automatic response archiving for improved troubleshooting.Last updated -10TypeScript
- AsecurityAlicenseAqualityBridges Claude AI with Xcode, enabling AI-powered code assistance, project management, and automated development tasks securely on your local machine.Last updated -967254TypeScriptMIT License
- AsecurityAlicenseAquality🍎 Build iOS Xcode workspace/project and feed back errors to llm.Last updated -245PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to build and test Xcode projects directly through a standardized interface, with capabilities for running tests, monitoring progress, and accessing logs in real-time.Last updated -29TypeScript