XcodeAutoPilot MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • XcodeAutoPilot 是一个 MCP 服务器实现,基于 MCP 协议为 LLM 客户端(如 Claude Code)提供对构建、错误分析、自动修复等能力的统一访问入口。服务器通过标准的 JSON-RPC 方式与客户端通信,当前实现通过标准输入输出(stdio)传输,支持多种工具接口,便于在自动化工作流中对 Xcode 项目进行构建、错误定位和修复。
  • 主要功能点

    • 提供 ListTools 与 CallTool 两类 MCP 请求的 JSON-RPC 接口,供客户端查询工具列表与调用具体工具。
    • 实现的工具集合包括 autopilot_build、autopilot_apply_fixes、autopilot_resolve_spm、autopilot_list_schemes、autopilot_clean、autopilot_cache_clean、autopilot_tuist_build、autopilot_test、autopilot_screenshot、autopilot_history。
    • 内置对 Xcode 构建、Tuist、SPM、缓存清理等流程的封装,提供结构化的诊断信息、上下文文本以及可能的相关定位信息。
    • 集成错误解析与上下文提取能力(如提取文件上下文、错误位置、推荐定位等),帮助 LLM 更准确地理解错误原因与修复点。
    • 日志与会话历史支持,便于评估 autopilot 的执行过程与结果。
  • 安装步骤

    • 克隆或获取源码后安装依赖并构建:
      • 安装依赖并构建:安装依赖并执行打包,将源代码编译为可执行的 dist/index.js。
    • 运行服务器:
      • 直接以 Node 运行打包后的入口文件(dist/index.js),使用 stdio 传输与客户端对接。
    • 验证运行环境要点:
      • 确保 macOS 13.0+、Xcode 14+、Node.js 18+、以及 Xcode 命令行工具已安装。
      • 服务器启动后,通过 Claude Code 的配置将 MCP 客户端指向该 MCP 服务器。
  • 服务器配置(MCP 客户端所需,示例为 JSON 配置用途,非代码块呈现)

    • 配置示例(Homebrew 安装方式): { "mcpServers": { "xcode-autopilot": { "command": "xcode-autopilot" } } }
    • 配置示例(直接 Node 启动方式,需指定执行文件路径): { "mcpServers": { "xcode-autopilot": { "command": "node", "args": ["/absolute/path/to/XcodeAutoPilot/dist/index.js"] } } } 注释说明:
    • serverName(此处为 xcode-autopilot)是在 MCP 客户端配置中使用的名称,用以标识一个具体的 MCP 服务实例。
    • command 指定启动服务器的执行命令;若采用 Homebrew 安装,通常为可执行的二进制名(xcode-autopilot),若为源码方式则通常需要通过 node 启动 dist/index.js。
    • args 用于传递启动参数,通常包含 dist/index.js 的绝对路径,确保服务器能够正确启动并监听 STDIO 传输。
    • MCP 客户端(如 Claude Code)需要的仅是上述 JSON 配置中的 serverName、command 与必要的 args;无需修改服务器端代码。
  • 基本使用方法

    • 启动服务器后,在 Claude Code(或其它 MCP 客户端)中通过配置将 xcode-autopilot MCP 服务器注册到客户端。
    • 客户端可以通过 MCP 的 JSON-RPC 接口查询工具列表(ListTools)并按需调用不同工具(CallTool)。
    • 通过 autopilot_build 获取构建诊断与上下文;使用 autopilot_apply_fixes 提交修复建议并获得改动结果;需要时可调用 autopilot_screenshot 进行可视化检查等。
    • 服务器端会维护会话历史,客户端可请求历史记录以追踪修复会话。
  • 说明与注意事项

    • 该实现依赖本地 Xcode、macOS 配置以及相关工具(xcodebuild、tuist、SPM 等)的正确安装与可用性。
    • MCP 客户端与服务器之间通过 JSON-RPC 进行通信,默认通过 stdio 传输,可扩展为 WebSocket/SSE 等传输方式。
    • 服务器具备多工具入口、错误上下文提取与上下文定位能力,帮助 LLM 更好地分析问题并给出修复建议。
  • 其他说明

    • 项目名称、服务器名称均指代同一个 MCP 服务实例,默认名称为 xcode-autopilot。

服务器信息