Xcode项目构建服务

Xcode MCP Server是一个通过模型上下文协议接口为Xcode项目提供构建和测试功能的服务,支持AI助手直接触发构建、运行测试、监控进度和访问日志。

  • by PolarVista
  • TypeScript
  • 本地部署
  • 53 星标
  • 更新于
在 GitHub 查看 PolarVista/Xcode-mcp-server

使用说明

Xcode MCP服务器

A Model Context Protocol server for building Xcode projects directly from LLM applications

Xcode MCP Server提供了一个模型上下文协议接口,用于构建和测试Xcode项目。它使AI助手能够通过标准化的界面直接触发构建、运行测试、监控进度和访问日志。

特性

  • 使用自定义方案和配置构建Xcode项目
  • 使用粒度控制运行单元测试(运行特定测试或跳过测试)
  • 生成代码覆盖率报告
  • 实时流式传输构建和测试日志
  • 访问详细的构建和测试报告
  • JSON格式的输出
  • 自动日志持久化

需求

  • Node.js 16+
  • Xcode命令行工具
  • TypeScript
  • MCP兼容客户端(例如Claude Desktop)

安装

# Clone the repository
git clone https://github.com/PolarVista/Xcode-mcp-server.git
cd xcode-mcp-server

# Install dependencies
npm install

# Build the server
npm run build

使用Claude Desktop

  1. 启动服务器:

    npm run start /path/to/build/logs/directory
    
  2. 在克劳德桌面设置中:

           "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"
       }
    

可用工具

建筑工程

使用指定参数构建Xcode项目。

参数:

  • projectPath (必需):指向.xcodeproj或.xcworkspace的路径
  • scheme (必填):构建方案名称
  • configuration (可选):构建配置(调试/发布,默认为调试)
  • destination (可选):构建目标(默认为“平台=iOS模拟器,名称=iPhone 15 Pro”)

Claude中的示例用法:

build_project({
  projectPath: "/path/to/Project.xcodeproj",
  scheme: "MyApp",
  configuration: "Debug"
})

run_tests

运行带有可选筛选的单元测试。

参数:

  • projectPath (必需):指向.xcodeproj或.xcworkspace的路径
  • scheme (必填):测试方案名称
  • testIdentifier (可选):要运行的特定测试(例如,“MyTests/testExample”)
  • skipTests (可选):要跳过的测试标识符数组
  • configuration (可选):构建配置(调试/发布,默认为调试)
  • destination (可选):测试目标(默认为“平台=iOS模拟器,名称=iPhone 15 Pro”)

Claude中的示例用法:

run_tests({
  projectPath: "/path/to/Project.xcodeproj",
  scheme: "MyAppTests",
  testIdentifier: "LoginTests/testSuccessfulLogin",
  skipTests: ["PerformanceTests/testLargeDataLoad"],
  configuration: "Debug"
})

日志

  • 所有日志都存储在指定的基目录中 build-logs/
  • 构建操作创建:
    • 纯文本日志(build-[timestamp].log)
    • JSON格式的日志(build-[timestamp].log.json)
    • Xcode报告(report-[timestamp].txt)
  • 测试操作创建:
    • 测试日志(test-[timestamp].log)
    • JSON格式的日志(test-[timestamp].log.json)
    • 试验报告(test-report-[timestamp].txt)
    • 代码覆盖率报告(coverage-[timestamp].txt)
  • 最新日志(构建或测试)可通过以下方式访问 xcode-build://latest-log 资源