README
🚀 Xcode 诊断 MCP 插件
此插件用于从 Xcode 构建日志中提取和查看错误与警告信息。它能连接到 Xcode 构建系统,提取、解析并展示 Swift 项目的诊断信息,助力 AI 助手快速识别代码问题,无需手动搜索构建日志。
🚀 快速开始
在使用此插件前,需确保满足以下先决条件:
- macOS 操作系统
- 安装了 Xcode
- Python 3.6+
同时,因为插件基于日志级别工作,所以必须在运行此工具之前让 Xcode 先尝试进行一次构建。
✨ 主要特性
- 提取诊断信息:可从 Xcode 构建日志中提取错误和警告信息。
- 解析结构化数据:对诊断信息进行结构化解析,便于后续处理和展示。
- 集成到 MCP 环境:支持与 MCP 框架无缝集成,提供统一接口。
📦 安装指南
从 PyPI 安装
这是安装 MCP-Xcode-Diagnostics 插件最简单的方法:
pip install mcp-xcode-diagnostics
从 GitHub 安装
从 GitHub 克隆仓库并安装:
git clone https://github.com/yourusername/mcp-xcode-diagnostics.git
cd mcp-xcode-diagnostics
pip install .
从源码安装
直接从源代码安装:
python setup.py install
💻 使用示例
基础用法
xc_diag
xc_diag 是用于诊断和分析 Xcode 构建问题的工具,使用示例如下:
xc_diag --project <项目路径> [--config <配置文件>]
参数说明:
- --project:必选参数,指定要分析的 Xcode 项目路径。
- --config:可选参数,指定自定义的诊断配置文件。
xc_report
xc_report 是用于生成构建报告的工具,使用示例如下:
xc_report --build-output <构建日志路径>
参数说明:
- --build-output:必选参数,指定包含构建结果的日志路径。
高级用法
以下是使用 xc_diag 工具并指定配置文件的示例:
xc_diag --project /path/to/your/project --config /path/to/your/config.json
📚 详细文档
支持的诊断类型
插件支持以下类型的错误和警告:
- 构建错误:语法错误、编译器报错等。
- 警告信息:编译器警告、潜在问题提示等。
- 并发警告:与 Swift 并发编程相关的警告,例如竞态条件检测。
局限性
尽管插件功能强大,但仍有一些限制:
- 日志依赖:完全依赖于 Xcode 的构建日志输出格式,若日志格式发生变化可能导致解析失败。
- 资源消耗:处理大量构建日志时可能会占用较多内存和 CPU 资源。
调试信息
插件在以下位置记录调试信息:
- 日志文件:
/var/log/mcp-xcode-diagnostics.log - 错误报告:
/tmp/mcp-xcode-diagnostics-error-<timestamp>.log
示例输出
以下是 JSON 格式的示例输出:
{
"errors": [
{
"message": "Use of undeclared identifier 'tableViewCell'",
"file": "MainViewController.swift",
"line": 23,
"column": 15
}
],
"warnings": [
{
"message": "Missing Swift header for public class PodsDummy_Pods_Pods_Swift",
"file": "_Pods-Swift.h",
"line": 5
}
],
"error_count": 1,
"warning_count": 1
}
测试
插件附带测试套件来验证解析功能,运行所有测试的命令如下:
python -m unittest test_xcode_diagnostics.py
📄 许可证
该开源项目采用 MIT 协议进行开源。
Scan to join WeChat group