local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Xcode 诊断 MCP 插件
用于从 Xcode 构建日志中提取和查看错误和警告的 MCP(模型控制协议)插件。
概述
此插件实现了模型控制协议 (MCP) 规范,为任何兼容的 AI 助手提供 Xcode 诊断功能。它连接到 Xcode 的构建系统,从您的 Swift 项目中提取、解析和显示诊断信息(错误和警告)。它可以帮助 AI 助手快速识别代码中的问题,而无需手动搜索构建日志。
请注意,由于这在日志级别起作用,因此在运行此工具之前 Xcode 必须已经尝试过构建。
先决条件
- macOS 操作系统
- 已安装 Xcode
- Python 3.6+
安装
从 PyPI 安装
安装 Xcode Diagnostics MCP 插件的最简单方法:
Copy
从 GitHub 安装
您可以直接从 GitHub 安装:
Copy
从源代码安装
从源安装:
- 克隆或下载此存储库
- 使用 pip 安装插件:Copy
该插件现在可以与任何兼容 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 活动日志的原始输出
示例输出
Copy
测试
该插件包括一个测试套件来验证解析功能:
Copy
执照
该项目可在 MIT 许可下使用。
This server cannot be installed
连接到 Xcode 的构建系统以提取、解析和显示来自 Swift 项目的错误和警告,帮助 AI 助手快速识别代码问题,而无需手动搜索构建日志。