使用说明

项目简介

PolarVista Xcode MCP Server 提供了一个 Model Context Protocol (MCP) 接口,使得 LLM (大型语言模型) 应用能够直接与 Xcode 项目进行交互,实现自动化构建和测试。通过该服务器,AI 助手可以触发 Xcode 项目的构建、运行单元测试、监控构建进度以及访问详细的日志信息,所有操作均通过标准化的 MCP 协议进行。

主要功能点

  • Xcode 项目构建:支持使用指定的 Scheme 和 Configuration 构建 Xcode 项目。
  • 单元测试:能够运行 Xcode 项目的单元测试,并支持指定运行或跳过特定测试用例。
  • 代码覆盖率:生成代码覆盖率报告,帮助评估测试质量。
  • 实时日志:实时流式传输构建和测试日志,方便监控进度。
  • 详细报告:提供详细的构建和测试报告,方便问题排查和结果分析。
  • JSON 输出:所有操作结果和日志均可输出为 JSON 格式,易于程序解析。
  • 日志持久化:自动持久化存储所有操作日志,方便追溯和审计。

安装步骤

  1. 克隆仓库

    git clone https://github.com/MCP-Mirror/PolarVista_Xcode-mcp-server.git
    cd PolarVista_Xcode-mcp-server
  2. 安装依赖 确保已安装 Node.js (16+) 和 npm。然后运行:

    npm install
  3. 构建服务器

    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' 命令以及服务器程序文件。

基本使用方法

  1. 启动服务器 在仓库根目录下,运行以下命令启动服务器,并指定日志存储根目录:

    npm run start /path/to/build/logs/directory

    将 '/path/to/build/logs/directory' 替换为您希望存放日志的实际路径。

  2. 配置 MCP 客户端 在您的 MCP 客户端(如 Claude Desktop)中,根据上述 “服务器配置” 部分的说明,配置 'xcode-build' 服务器连接。

  3. 使用 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 文件和代码中的工具定义,了解更多参数和使用细节。

信息

分类

开发者工具