使用说明
项目简介
PolarVista Xcode MCP Server 提供了一个 Model Context Protocol (MCP) 接口,使得 LLM (大型语言模型) 应用能够直接与 Xcode 项目进行交互,实现自动化构建和测试。通过该服务器,AI 助手可以触发 Xcode 项目的构建、运行单元测试、监控构建进度以及访问详细的日志信息,所有操作均通过标准化的 MCP 协议进行。
主要功能点
- Xcode 项目构建:支持使用指定的 Scheme 和 Configuration 构建 Xcode 项目。
- 单元测试:能够运行 Xcode 项目的单元测试,并支持指定运行或跳过特定测试用例。
- 代码覆盖率:生成代码覆盖率报告,帮助评估测试质量。
- 实时日志:实时流式传输构建和测试日志,方便监控进度。
- 详细报告:提供详细的构建和测试报告,方便问题排查和结果分析。
- JSON 输出:所有操作结果和日志均可输出为 JSON 格式,易于程序解析。
- 日志持久化:自动持久化存储所有操作日志,方便追溯和审计。
安装步骤
-
克隆仓库
git clone https://github.com/MCP-Mirror/PolarVista_Xcode-mcp-server.git cd PolarVista_Xcode-mcp-server -
安装依赖 确保已安装 Node.js (16+) 和 npm。然后运行:
npm install -
构建服务器
npm run build
服务器配置
对于 MCP 客户端(例如 Claude Desktop),您需要配置服务器的启动命令和参数,以便客户端能够连接到 PolarVista Xcode MCP Server。以下是一个示例配置,您需要根据实际情况修改路径:
{ "serverName": "xcode-build", // 服务器名称,客户端用于识别 "command": "node", // 启动服务器的命令,这里使用 node 运行 JavaScript 文件 "args": [ // 传递给启动命令的参数 "/path/to/the/PolarVista_Xcode-mcp-server/build/index.js", // 指向编译后的服务器入口文件路径 "/path/to/your/build/logs/directory" // 指定构建日志的存储根目录 ] }
参数说明:
- 'serverName': MCP 客户端用以识别和调用此服务器的名称,可以自定义。
- 'command': 执行服务器程序的命令,通常为 'node' 或 'python' 等,取决于服务器的实现语言。
- 'args': 传递给服务器程序的参数数组。
- 第一个参数应为服务器入口文件 'index.js' 的绝对路径。
- 第二个参数为日志文件存储的根目录,请替换为您希望存放 Xcode 构建和测试日志的路径。
注意:
- 请将 '/path/to/the/PolarVista_Xcode-mcp-server/build/index.js' 替换为实际的 'index.js' 文件路径。
- 请将 '/path/to/your/build/logs/directory' 替换为您希望存放构建日志的目录的实际路径。
- 确保 MCP 客户端能够访问到 'node' 命令以及服务器程序文件。
基本使用方法
-
启动服务器 在仓库根目录下,运行以下命令启动服务器,并指定日志存储根目录:
npm run start /path/to/build/logs/directory将 '/path/to/build/logs/directory' 替换为您希望存放日志的实际路径。
-
配置 MCP 客户端 在您的 MCP 客户端(如 Claude Desktop)中,根据上述 “服务器配置” 部分的说明,配置 'xcode-build' 服务器连接。
-
使用 LLM 调用工具 配置完成后,您可以使用 LLM 应用通过 'build_project' 和 'run_tests' 工具来构建和测试 Xcode 项目。例如,在 Claude 中可以这样调用:
构建项目:
build_project({ projectPath: "/path/to/Project.xcodeproj", // Xcode 项目文件路径 scheme: "MyApp", // Xcode Scheme 名称 configuration: "Debug" // 构建配置 (可选, 默认为 Debug) })运行测试:
run_tests({ projectPath: "/path/to/Project.xcodeproj", // Xcode 项目文件路径 scheme: "MyAppTests", // 测试 Scheme 名称 testIdentifier: "LoginTests/testSuccessfulLogin", // 指定运行的测试用例 (可选) skipTests: ["PerformanceTests/testLargeDataLoad"], // 跳过的测试用例 (可选) configuration: "Debug" // 构建配置 (可选, 默认为 Debug) })请参考仓库 README.md 文件和代码中的工具定义,了解更多参数和使用细节。
信息
分类
开发者工具