返回市场
Xcode-MCP服务器

Xcode-MCP服务器

作者:PolarVista48 星标更新:2024-12-06

项目介绍

Xcode MCP 服务器

<p align="center"> <strong>用于从LLM应用程序直接构建Xcode项目的模型上下文协议服务器</strong> </p>

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

功能

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

要求

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

安装

# 克隆仓库
git clone https://github.com/PolarVista/Xcode-mcp-server.git
cd xcode-mcp-server

# 安装依赖
npm install

# 构建服务器
npm run build

使用Claude Desktop

  1. 启动服务器:

    npm run start /path/to/build/logs/directory
    
  2. 在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(可选):要运行的具体测试(例如,'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-log资源访问