分享一下有意思的Xcode 的 MCP

Xcode 的 MCP 用这个实现在 VS code 或者 Cursor 中开发 iOS 应用的时候还能启动虚拟机并且获取日志 支持Xcode 项目管理、模拟器管理、Bundle ID 提取等功能。

概述

该项目实现了一个 MCP 服务器,将 Xcode 操作暴露为可以通过 MCP 协议由 AI 代理调用的工具。它通过标准化接口使程序化与 Xcode 项目交互,优化了代理驱动的开发工作流。

使用 Cursor 在 iOS 模拟器中构建、安装和启动应用,并在运行时捕获日志。

为什么?

XcodeBuild MCP 工具主要目的是简化和标准化 AI 代理与 Xcode 项目的交互。通过提供专门用于常见 Xcode 操作的工具,它消除了对手动或可能不正确的命令行调用的依赖。

这确保了一个可靠且高效的开发过程,使代理能够无缝利用 Xcode 的功能,同时降低配置错误的风险。

重要的是,这个 MCP 使 AI 代理能够独立验证代码更改,通过构建项目、检查错误并自主迭代。与用户驱动的工具如 Sweetpad 相比,XcodeBuild MCP 使代理能够有效地自动化这些工作流程。

功能

XcodeBuildMCP 服务器提供了以下工具功能:

Xcode 项目管理

  • Discover Projects: Xcode 项目和工作区发现
  • 构建操作 : 适用于 macOS、iOS 模拟器和 iOS 设备目标的平台特定构建工具
  • 项目信息 : 工具以列出方案并显示 Xcode 项目和工作空间的构建设置
  • 清理操作 : 使用 xcodebuild 的原生清理动作清理构建产品

模拟器管理

  • 模拟器控制 : 列出、启动和打开 iOS 模拟器
  • 应用部署 : 在 iOS 模拟器上安装并启动应用
  • 日志捕获 : 从模拟器捕获运行时日志

应用工具

  • 提取包标识符 : 从 iOS 和 macOS 应用程序包中提取包标识符
  • 应用启动 : 在模拟器和 macOS 上启动已构建的应用程序

开始使用

先决条件

  • Xcode 命令行工具
  • Node.js (v16 或更高版本)
  • npm

注意

如果您使用了 mise,可以跳过 Node.js 和 npm 的安装步骤。

一行设置与 mise x

安装 mise:

shell 复制代码
# macOS (Homebrew)
brew install mise

# Other installation methods
# See https://mise.jdx.dev/getting-started.html

有关 Mise 的更多信息,请访问官方文档

配置 MCP 客户端

配置你的 MCP 客户端(Windsurf、Cursor、Claude Desktop 等)使用 XcodeBuildMCP 服务器,添加以下配置:

perl 复制代码
{
  "mcpServers": {
    "XcodeBuildMCP": {
      "command": "mise",
      "args": [
        "x",
        "npm:xcodebuildmcp@latest",
        "--",
        "xcodebuildmcp"
      ]
    }
  }
}

或者,如果你已经有现成的 Node.js 环境,可以使用 npx 而不是 mise:

json 复制代码
{
  "mcpServers": {
    "XcodeBuildMCP": {
      "command": "npx",
      "args": [
        "xcodebuildmcp"
      ]
    }
  }
}

演示

在 Cursor 中构建和运行 iOS 应用

Demo1.mp4

在 Claude Code 中构建和运行 iOS 应用

Demo3.mp4

本地开发环境设置

先决条件

  • Node.js (16 或更高版本)
  • npm
  • Xcode 命令行工具

安装

  1. 克隆仓库

  2. 安装依赖:

    复制代码
    npm install
  3. 构建项目:

    arduino 复制代码
    npm run build
  4. 启动服务器:

    bash 复制代码
    node build/index.js

配置您的 MCP 客户端

为了将您的 MCP 客户端配置为使用本地 XcodeBuildMCP 服务器,请添加以下配置:

json 复制代码
{
  "mcpServers": {
    "XcodeBuildMCP": {
      "command": "node",
      "args": [
        "/path_to/XcodeBuildMCP/build/index.js"
      ]
    }
  }
}

调试

你可以通过以下方式使用 MCP Inspector:

bash 复制代码
npx @modelcontextprotocol/inspector node build/index.js

许可证

本项目采用 MIT 许可证 - 详情请参见 LICENSE 文件。

About

一个模型上下文协议(MCP)服务器,提供与 AI 助手和其他 MCP 客户端集成的 Xcode 相关工具。

相关推荐
为美好的生活献上中指2 天前
《Spring AI MCP 实战全景:AI 股票大师如何用模型上下文协议接入金融数据宇宙——从 JSON-RPC 握手到企业级部署与安全加固》
serverless·mcp·模型上下文协议·promptinjection·toolpoisoning·mcp生态
吴佳浩2 天前
Tool 的安全性与执行沙箱:从 Docker 到 gVisor 的防御架构
agent·ai编程·mcp
xrlfreedom2 天前
大厂 MCP 面试实录:桌面客户端 stdio Server 调试与提示注入防护方案设计
resources·mcp·提示注入防护
deepseek232 天前
WSO2 Agent Manager 正式可用:企业 Agent 从能跑到可治理,沙盒、身份与 MCP 如何落地
人工智能·ai agent·mcp·企业治理
学电子她就能回来吗3 天前
把自然语言变成可制造 CAD:开源 SolidWorks Automation Skill 的工程化实践
人工智能·python·自动化·solidworks·mcp
吴佳浩3 天前
Function Calling 为什么不够用?深入拆解 MCP 标准协议的设计哲学
agent·ai编程·mcp
吴佳浩3 天前
从零手写一个生产级 MCP Server:鉴权、流式传输与状态管理
agent·ai编程·mcp
咖啡星人k3 天前
MCP 工具调用的成本控制:按量计费下的四个止损点
工程实践·mcp·成本控制
咖啡星人k3 天前
用 MCP 把找读抽做成一条信息流水线
信息检索·工作流·mcp
光依旧3 天前
MCP实战手记系列(五):让工具返回一个能点的界面(文末附github源码链接)
java·spring ai·前端集成·mcp·mcp apps