Xcode 诊断 MCP 插件
用于从 Xcode 构建日志中提取和查看错误和警告的 MCP(模型控制协议)插件。
概述
此插件实现了模型控制协议 (MCP) 规范,为任何兼容的 AI 助手提供 Xcode 诊断功能。它连接到 Xcode 的构建系统,从您的 Swift 项目中提取、解析和显示诊断信息(错误和警告)。它可以帮助 AI 助手快速识别代码中的问题,而无需手动搜索构建日志。
请注意,由于这在日志级别起作用,因此在运行此工具之前 Xcode 必须已经尝试过构建。
Related MCP server: mcpxcodebuild
先决条件
macOS 操作系统
已安装 Xcode
Python 3.6+
安装
从 PyPI 安装
安装 Xcode Diagnostics MCP 插件的最简单方法:
从 GitHub 安装
您可以直接从 GitHub 安装:
从源代码安装
从源安装:
克隆或下载此存储库
使用 pip 安装插件:
cd mcp-xcode-diagnostics pip install .
该插件现在可以与任何兼容 MCP 的客户端一起使用。
特征
列出 DerivedData 中具有构建日志的所有 Xcode 项目
从特定项目的最新构建日志中提取错误和警告
解析复杂的诊断,包括相关注释和修复建议
提供有关每个问题的详细信息,包括文件路径、行号和错误消息
针对捕获 Swift 并发相关警告进行了优化
支持的诊断类型
该插件可以检测并显示各种类型的 Xcode 诊断,包括:
错误
语法错误(例如,“预期‘{’”或“预期表达式”)
类型错误(例如,“无法将类型 X 的值转换为预期参数类型 Y”)
未解析的标识符和缺失的导入
协议一致性错误
通用参数推断失败
访问控制违规
警告
未使用的变量、常量和结果
隐式转换可能会丢失精度
冗余代码或不必要的表达式
弃用警告
字符串插值问题
Swift 并发警告,包括:
非隔离全局共享可变状态警告
主要演员隔离警告
协议一致性并发警告
Actor 隔离违规
Swift 6 语言模式兼容性警告
注释和修复建议
相关注释为错误和警告提供了额外的上下文
提出代码更改以解决问题的修复建议
显示有问题的代码片段
限制
运行时日志中的二进制/序列化格式可能无法完全解析
一些高度专业化的诊断格式可能无法识别
非常大的构建日志可能会被截断
项目特定的自定义诊断可能未正确分类
MCP 工具
该插件提供了两个主要的 MCP 工具:
获取xcode项目
列出 DerivedData 目录中所有带有构建日志的 Xcode 项目。
参数:无
获取项目诊断
从特定项目的最新构建日志中获取诊断信息。
参数:
project_dir_name:DerivedData 中项目的目录名称(例如,'ProjectName-hash')include_warnings:除了错误之外是否包含警告(默认值:True)
调试信息
为了调试目的,插件将原始日志输出保存到:
/tmp/xcode-mcp-debug.log- 主应用程序日志/tmp/xcode-diagnostic-raw.log- Xcode 活动日志的原始输出
示例输出
测试
该插件包括一个测试套件来验证解析功能:
执照
该项目可在 MIT 许可下使用。