项目简介

xClaude Plugin 是一个专为AI助手(如Claude Code)设计的Model Context Protocol (MCP) 服务器集合,旨在简化iOS应用的开发、测试和自动化流程。它包含8个专注于不同工作流的MCP服务器,提供了共22个工具,涵盖了Xcode项目管理、iOS模拟器操作以及Facebook IDB高级UI自动化功能。通过模块化设计,用户可以根据当前任务启用特定的MCP服务器,从而优化上下文并提高效率。

主要功能点

  • 模块化MCP服务器: 提供8个不同工作流(如编译、UI交互、构建、AI辅助、环境设置、测试、项目维护、混合模式)的MCP服务器,每个服务器仅加载所需工具,实现上下文信息的极致精简。
  • 丰富的工具集: 包含22个工具,用于:
    • Xcode操作: 构建项目、清理构建产物、运行测试、列出Scheme/Target、检查Xcode版本。
    • iOS模拟器管理: 列出设备、启动/关闭设备、创建/删除模拟器、安装/启动/终止应用、截屏、打开URL、获取应用容器路径、健康检查。
    • IDB UI自动化: 查询无障碍树(UI元素描述)、点击UI坐标、文本输入/按键、手势操作、语义化查找UI元素、评估无障碍数据质量。
  • AI原生设计: 专注于为LLM提供结构化的工具接口和上下文信息,支持AI模型直接调用工具完成复杂的iOS开发任务。
  • 智能目的地解析: 在构建和测试工具中,能够自动解析不完整的模拟器目的地字符串,自动补齐最新的OS版本信息。

安装步骤

  1. 环境要求:
    • macOS 13.0+ 或 Linux (部分功能可能仅限macOS)
    • Xcode 15.0+ (仅限macOS,用于iOS开发)
    • Node.js 18+
    • 可选: IDB (Facebook iOS Development Bridge),用于高级UI自动化
  2. 安装插件: 在你的MCP客户端(如Claude Code)的命令行界面中执行以下命令:
    /plugin marketplace add conorluddy/xclaude-plugin
    /plugin install xclaude-plugin
    或从本地文件路径安装(请将 '/path/to/xclaude-plugin' 替换为你的本地仓库实际路径):
    /plugin marketplace add /path/to/xclaude-plugin
    /plugin install xclaude-plugin

MCP服务器配置

xClaude Plugin 提供了多个独立的MCP服务器。为了优化LLM的上下文和响应效率,强烈建议每次只启用一个MCP服务器。MCP客户端需要配置MCP服务器的启动命令及其参数才能建立连接。

以下是MCP客户端配置各个服务器的示例信息(您无需直接编辑JSON,MCP客户端通常会提供友好的图形界面或命令行工具进行配置):

  • xc-compile (极简编译)

    • server_name: 'xc-compile'
    • command: 'node'
    • args: '["/path/to/xclaude-plugin/mcp-servers/xc-compile/dist/index.js"]'
    • 描述: 仅用于快速编译和错误提取。
  • xc-interact (纯UI交互)

    • server_name: 'xc-interact'
    • command: 'node'
    • args: '["/path/to/xclaude-plugin/mcp-servers/xc-interact/dist/index.js"]'
    • 描述: 用于UI交互和验证,无构建操作。
  • xc-build (核心构建)

    • server_name: 'xc-build'
    • command: 'node'
    • args: '["/path/to/xclaude-plugin/mcp-servers/xc-build/dist/index.js"]'
    • 描述: 提供构建验证、清理和Scheme发现功能。
  • xc-ai-assist (AI辅助UI)

    • server_name: 'xc-ai-assist'
    • command: 'node'
    • args: '["/path/to/xclaude-plugin/mcp-servers/xc-ai-assist/dist/index.js"]'
    • 描述: AI驱动的UI自动化,支持构建、UI检查和截屏。
  • xc-setup (环境设置)

    • server_name: 'xc-setup'
    • command: 'node'
    • args: '["/path/to/xclaude-plugin/mcp-servers/xc-setup/dist/index.js"]'
    • 描述: 用于初始化环境配置和验证。
  • xc-testing (测试执行)

    • server_name: 'xc-testing'
    • command: 'node'
    • args: '["/path/to/xclaude-plugin/mcp-servers/xc-testing/dist/index.js"]'
    • 描述: 运行测试套件和UI流程自动化。
  • xc-meta (项目维护)

    • server_name: 'xc-meta'
    • command: 'node'
    • args: '["/path/to/xclaude-plugin/mcp-servers/xc-meta/dist/index.js"]'
    • 描述: 用于项目维护和工具健康检查。
  • xc-hybrid (全功能)

    • server_name: 'xc-hybrid'
    • command: 'node'
    • args: '["/path/to/xclaude-plugin/mcp-servers/xc-hybrid/dist/index.js"]'
    • 描述: 包含所有22个工具,适用于复杂的多任务工作流。

请将上述命令中的 '/path/to/xclaude-plugin/' 替换为你的本地 'xclaude-plugin' 仓库的实际路径。

基本使用方法

  1. 选择MCP服务器: 根据您当前需要执行的任务,在MCP客户端中启用对应的MCP服务器(例如,如果要修复编译错误,请启用'xc-compile')。
  2. 向LLM提问: 在您的LLM聊天界面中,像平常一样描述您的任务。LLM将识别并调用已启用MCP服务器中的相关工具。
    • 示例1 (快速编译): 启用'xc-compile'后,提问:"Build the project and show me the errors." (构建项目并显示错误)
    • 示例2 (UI交互): 启用'xc-interact'后,提问:"Tap the Login button, then check if the profile screen appears." (点击登录按钮,然后检查个人资料页面是否出现)
    • 示例3 (AI驱动UI迭代): 启用'xc-ai-assist'后,提问:"Update the button color to blue, rebuild, and show me a screenshot." (将按钮颜色更新为蓝色,重新构建,并显示截图)
  3. 遵循LLM提示: LLM可能会要求提供更多信息(例如scheme名称、设备ID等),请根据提示进行回复。
  4. 避免直接调用Bash: 除非是文件操作或Git命令,否则对于iOS开发任务,总是优先使用插件提供的工具,而非直接使用'xcodebuild'或'xcrun simctl'等Bash命令,因为插件工具提供了更结构化和精简的输出。

信息

分类

开发者工具