返回市场
xc工具-mcp服务器

xc工具-mcp服务器

作者:nzrsky2 星标更新:2025-05-27

项目介绍

XCTools MCP Server

一个提供对Xcode开发工具(包括xcrunxcodebuildxctrace)结构化访问的模型上下文协议(MCP)服务器。

安装

方法1:使用uvx

  1. 前提条件

    • Python 3.13+
    • 已安装命令行工具的Xcode
    • uvx: curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 直接使用uvx运行

    uvx xctools-mcp-server
    

方法2:本地开发安装

  1. 前提条件

    • Python 3.13+
    • 已安装命令行工具的Xcode
  2. 克隆并安装

    git clone https://github.com/nzrsky/xctools-mcp-server
    cd xctools-mcp-server
    pip install .
    
  3. 运行服务器

    xctools-mcp-server
    

方法3:从源码构建

  1. 构建wheel
    python -m build --wheel
    pip install dist/xctools_mcp_server-0.1.0-py3-none-any.whl
    

配置

对于Claude Desktop

在你的~/Library/Application Support/Claude/claude_desktop_config.json中添加:

{
  "mcpServers": {
    "xctools": {
      "command": "xctools-mcp-server",
      "args": [],
      "env": {}
    }
  }
}

或者如果使用uvx:

{
  "mcpServers": {
    "xctools": {
      "command": "uvx",
      "args": ["xctools-mcp-server"],
      "env": {}
    }
  }
}

对于带有MCP扩展的VS Code

  1. 从VS Code市场安装MCP扩展
  2. 在你的VS Code设置(settings.json)中添加服务器配置:
{
  "mcp.servers": {
    "xctools": {
      "command": "xctools-mcp-server",
      "args": [],
      "env": {}
    }
  }
}

或者如果使用uvx:

{
  "mcp.servers": {
    "xctools": {
      "command": "uvx",
      "args": ["xctools-mcp-server"],
      "env": {}
    }
  }
}
  1. 重启VS Code以加载MCP服务器
  2. 使用命令面板(Cmd+Shift+P)搜索"MCP"命令与Xcode开发工具交互

对于其他MCP客户端

服务器通过标准输入输出运行,因此可以直接调用它:

已安装的包:

xctools-mcp-server

使用uvx:

uvx xctools-mcp-server

功能

  • 通过xcrun访问完整的Xcode工具链
  • 使用xcodebuild进行项目构建和测试
  • 使用xctrace(Instruments)进行性能分析
  • SDK和目标管理
  • 具有详细消息的全面错误处理
  • 跨平台兼容性(安装了Xcode的macOS)

可用工具

XCRUN工具

  • xcrun_find_tool - 查找开发工具(如clang、swift等)的路径
  • xcrun_show_sdk_path - 显示SDK路径
  • xcrun_show_sdk_version - 显示SDK版本
  • xcrun_run_tool - 通过xcrun运行任何开发工具

XCODEBUILD工具

  • xcodebuild_build - 构建Xcode项目或工作区
  • xcodebuild_test - 运行项目的测试
  • xcodebuild_archive - 归档项目用于分发
  • xcodebuild_list - 列出目标、方案和配置
  • xcodebuild_show_sdks - 列出所有可用的SDK
  • xcodebuild_show_destinations - 显示有效的构建目标

XCTRACE工具(Instruments)

  • xctrace_record - 记录新的Instruments跟踪
  • xctrace_import - 将支持的文件导入到跟踪格式
  • xctrace_export - 从跟踪文件导出数据
  • xctrace_list - 列出可用的设备、模板或仪器
  • xctrace_symbolicate - 使用调试符号符号化跟踪

使用示例

查找开发工具

# 查找特定工具的路径
"查找clang编译器的路径"

# 显示iOS SDK路径
"显示iOS SDK的路径"

# 获取SDK版本信息
"显示iOS SDK的版本"

构建项目

# 构建Xcode项目
"为iOS模拟器构建MyApp.xcodeproj项目"

# 运行工作区的测试
"在iPhone 15 Pro模拟器上运行MyApp.xcworkspace的测试"

# 归档用于分发
"归档MyApp.xcworkspace以发布"

# 列出项目信息
"列出MyApp.xcodeproj中的所有方案和目标"

使用Instruments进行性能分析

# 记录时间剖析器跟踪
"为iPhone 15 Pro上的MyApp记录30秒的时间剖析器跟踪"

# 列出所有可用的Instruments模板
"列出所有可用的Instruments模板"

# 导出跟踪数据
"将跟踪文件的数据导出为XML格式"

# 导入文件进行分析
"将.dtps文件导入Instruments跟踪格式"

SDK和目标管理

# 列出所有可用的SDK
"显示可用于构建的所有SDK"

# 显示构建目标
"列出所有可用于iOS构建的目标"

# 通过xcrun运行工具
"使用版本标志通过xcrun运行swift命令"

错误处理

服务器包括全面的错误处理:

  • 命令失败:返回来自xcrun、xcodebuild和xctrace的详细错误消息
  • 缺少Xcode:检测Xcode命令行工具不可用时
  • 无效参数:验证工具参数并提供有用的错误消息
  • 工具可用性:执行前检查所需工具

故障排除

常见问题

  1. "xcrun: error: unable to find utility"

    • 确保已安装Xcode命令行工具:xcode-select --install
    • 验证Xcode是否正确配置:xcode-select -p
  2. "No developer directory found"

    • 从Mac App Store安装Xcode
    • 接受Xcode许可:sudo xcodebuild -license accept
  3. 权限错误

    • 确保用户具有访问Xcode工具所需的权限
    • 尝试使用适当的macOS开发权限运行
  4. 未找到工具错误

    • 验证特定工具是否在你的Xcode安装中可用
    • 某些工具可能需要特定的Xcode版本或额外组件

要求

  • macOS:必需(Xcode开发工具仅适用于macOS)
  • Xcode:Xcode命令行工具或完整的Xcode安装
  • Python:3.13或更高版本
  • MCP客户端:Claude Desktop、带有MCP扩展的VS Code或其他兼容MCP的客户端

贡献

欢迎贡献!请随意提交拉取请求。

许可

本项目根据MIT许可证授权 - 详情参见LICENSE文件。

  • 无效参数:在执行前验证输入参数
  • 文件操作:安全地处理临时文件用于推送通知

安全考虑

  • 服务器仅暴露读取和模拟器管理操作
  • 不访问指定应用路径之外的主机文件系统
  • 推送通知负载被验证其结构
  • 明确且记录隐私权限更改

开发笔记

  • 特别为iOS开发工作流程构建
  • 优化常见模拟器管理任务
  • 结构化输出解析用于JSON响应
  • 支持单个和批量操作
  • 兼容Xcode 15+模拟器特性