Xcode Diagnostics MCP Plugin
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.
Related MCP server: MCP Xcode
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:
pip install mcp-xcode-diagnosticsInstalación desde GitHub
Puedes instalarlo directamente desde GitHub:
pip install git+https://github.com/leftspin/mcp-xcode-diagnostics.gitInstalación desde la fuente
Para instalar desde la fuente:
Clonar o descargar este repositorio
Instalar el complemento usando pip:
cd mcp-xcode-diagnostics pip install .
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
{
"success": true,
"log_file": "/path/to/build.xcactivitylog",
"timestamp": "2025-03-11T12:34:56.789",
"errors": [
{
"type": "error",
"message": "use of unresolved identifier 'NonExistentType'",
"file_path": "/path/to/MyFile.swift",
"line_number": 42,
"column": 15,
"code": " let x: NonExistentType = value",
"notes": []
}
],
"warnings": [
{
"type": "warning",
"message": "static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode",
"file_path": "/path/to/SharedManager.swift",
"line_number": 10,
"column": 16,
"code": " static var sharedInstance: SharedManager?",
"notes": [
{
"type": "note",
"message": "convert 'sharedInstance' to a 'let' constant to make 'Sendable' shared state immutable",
"file_path": "/path/to/SharedManager.swift",
"line_number": 10,
"column": 16
}
]
}
],
"error_count": 1,
"warning_count": 1
}Pruebas
El complemento incluye un conjunto de pruebas para verificar la funcionalidad de análisis:
# Run all tests
python -m unittest test_xcode_diagnostics.pyLicencia
Este proyecto está disponible bajo la licencia MIT.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnable Claude Code, Cursor, or your favorite LLM to interact with Xcode, building your projects the same way you do, and seeing the same errors. Greatly increases productivity when working on iOS, iPadOS, macOS, visionOS, tvOS projects & Swift packages - or any time you might use Xcode.295MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to build, test, run, and manage Apple platform projects (iOS, macOS, tvOS, watchOS, visionOS) directly through Xcode. Provides comprehensive control over Xcode projects, Swift packages, simulators, and development workflows without leaving your editor.5121MIT
- Flicense-qualityCmaintenanceBridges Xcode and Cursor to provide real-time access to build errors, warnings, and debug output from Xcode's DerivedData, enabling automated error analysis and fixes directly within Cursor.
- Alicense-qualityDmaintenanceAn MCP server that enables AI assistants to parse Xcode and Swift build outputs into structured, token-efficient formats like JSON or TOON. It provides tools for executing build commands and extracting detailed diagnostic information such as errors, warnings, and test failures.8MIT
Related MCP Connectors
Proof and repair for Apple coding agents: validate Swift, run Xcode evidence, and repair failures.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/leftspin/mcp-xcode-diagnostics'
If you have feedback or need assistance with the MCP directory API, please join our Discord server