README
🚀 Xcode MCP 服务器
Xcode MCP 服务器是为直接从大语言模型(LLM)应用构建 Xcode 项目而创建的模型上下文协议服务器。它提供了构建和测试 Xcode 项目的 Model Context Protocol 接口,让 AI 助手能够通过标准化接口直接触发构建、运行测试、监控进度并访问日志。
🚀 快速开始
在使用 Xcode MCP 服务器之前,需要满足以下先决条件:
- Node.js 16+ 版本
- Xcode 命令行工具
- TypeScript
- 支持 MCP 的客户端(例如 Claude Desktop)
✨ 主要特性
- 项目构建:可使用自定义方案和配置构建 Xcode 项目。
- 单元测试:支持运行单元测试,且能进行细化控制,如运行特定测试或跳过某些测试。
- 报告生成:能够生成代码覆盖率报告。
- 日志传输:实时流式传输构建和测试日志。
- 报告访问:可访问详细的构建和测试报告。
- 输出格式:以 JSON 格式输出。
- 日志持久化:自动进行日志持久化。
📦 安装指南
# 克隆仓库
git clone https://github.com/PolarVista/Xcode-mcp-server.git
cd xcode-mcp-server
# 安装依赖项
npm install
# 构建服务器
npm run build
💻 使用示例
与 Claude Desktop 一起使用
启动服务器
npm run start /path/to/build/logs/directory
在 Claude Desktop 设置中配置
{
"xcode-build": {
"command": "node",
"args": ["/path/to/the/xcode-mcp-server/build/index.js", "/path/to/your/project/folder"],
"env": {
"PATH": "/usr/bin:/bin:/usr/local/bin:/usr/sbin:/sbin"
}
}
}
可用工具
build_project
使用指定参数构建 Xcode 项目。
参数说明:
| 参数 | 是否必需 | 详情 |
| ---- | ---- | ---- |
| projectPath | 是 | .xcodeproj 或 .xcworkspace 文件路径 |
| scheme | 是 | 构建方案名称 |
| configuration | 否 | 构建配置(Debug/Release,默认为 Debug) |
| destination | 否 | 构建目标(默认为 "platform=iOS Simulator,name=iPhone 15 Pro") |
示例用法(在 Claude 中):
build_project({
projectPath: "/path/to/Project.xcodeproj",
scheme: "MyApp",
configuration: "Debug"
})
run_tests
运行单元测试,支持可选过滤。
参数说明:
| 参数 | 是否必需 | 详情 |
| ---- | ---- | ---- |
| projectPath | 是 | .xcodeproj 或 .xcworkspace 文件路径 |
| scheme | 是 | 测试方案名称 |
| testIdentifier | 否 | 特定测试用例 ID(例如 'MyTests/testExample') |
| skipTests | 否 | 要跳过的测试标识符数组 |
| configuration | 否 | 构建配置(Debug/Release,默认为 Debug) |
| destination | 否 | 测试目标(默认为 "platform=iOS Simulator,name=iPhone 15 Pro") |
示例用法(在 Claude 中):
run_tests({
projectPath: "/path/to/Project.xcodeproj",
scheme: "MyAppTests",
testIdentifier: "LoginTests/testSuccessfulLogin",
skipTests: ["PerformanceTests/testLargeDataLoad"],
configuration: "Debug"
})
📚 详细文档
日志管理
- 所有日志保存在指定基目录下的
build-logs/目录中。 - 构建操作日志:
- 文本日志(
build-[时间戳].log) - JSON 格式日志(
build-[时间戳].log.json) - Xcode 报告(
report-[时间戳].txt)
- 文本日志(
- 测试操作日志:
- 测试日志(
test-[时间戳].log) - JSON 格式日志(
test-[时间戳].log.json) - 测试报告(
test-report-[时间戳].txt) - 代码覆盖率报告(
coverage-[时间戳].txt)
- 测试日志(
- 最新日志(构建或测试)可通过
xcode-build/[时间戳]/latest访问。
微信扫一扫