关于 MCPXcode
MCPXcode 是面向 Xcode 的开源 MCP 实现,通过封装 xcrun、xctrace 等命令行工具,为 AI 助手提供结构化的开发和性能分析操作。项目处于积极开发阶段。
主要功能
- 01封装 xcrun 命令
- 02封装 xctrace 性能追踪
- 03提供结构化工具输出
- 04报告语义化错误与诊断
- 05管理模拟器和 SDK
适用场景
- 01列出方案并构建 Xcode 项目
- 02在模拟器中启动或安装应用
- 03记录并分析应用性能追踪
MCP 相关
MCPXcode 通过 MCP 工具向 AI 助手开放 Xcode 相关操作,包括模拟器、SDK、构建及性能追踪功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCPXcode
!!! 此项目正在积极开发中,因此可能会遇到意外问题
简介
MCPXcode 是 Model Context Protocol (MCP) 面向 Xcode 的开源实现。它通过提供结构化协议,在 Xcode 环境中交换上下文并执行工具,从而实现 Xcode 与 AI 助手之间的无缝集成。
本项目遵循 MCP 规范,在 Xcode 开发环境与 AI 工具之间建立桥梁,通过上下文理解和可编程交互,优化开发者工作流。它封装了常用的命令行工具(xcrun、xctrace),并利用 macOS 辅助功能,实现由 AI 协助的 Xcode 操作自动化。
截图
安装
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository
git clone https://github.com/everettjf/MCPXcode.git
cd MCPXcode
source .venv/bin/activate
uv add "mcp[cli]"
配置
{
"mcpServers": {
"MCPXcode": {
"command": "uv", # may use full path
"args": [
"--directory",
"<Path>/MCPXcode", # change to your full path
"run",
"main.py"
]
}
}
}
功能
当前 MCP 工具集成
-
xcrun 工具扩展
- 为常用 xcrun 命令提供上下文感知接口
- 提供便于 AI 使用的结构化输出格式
- 提供语义化错误处理和诊断报告
-
xctrace 工具扩展
- 为 iOS/macOS 应用提供上下文增强的性能分析和跟踪
- 收集结构化性能指标,供 AI 分析
- 在处理跟踪数据时提供语义上下文
计划中的扩展
-
辅助功能工具扩展
- 在 Xcode 中进行上下文感知的 UI 交互
- 为构建、运行和测试操作提供语义化触发器
- 提供结构化的项目导航能力
- 增强从 Xcode UI 提取上下文的能力
-
MCP HTTP 服务
- 通过 HTTP 完全符合 MCP 规范
- 标准化工具执行协议
- 为构建事件提供保留上下文的 Webhook
- 与 AI 驱动的 CI/CD 管道无缝集成
-
MCP 客户端库
- 实现 MCP 规范的特定语言 SDK
- 简化 AI 助手与 Xcode 之间的上下文交换
工具文档
模拟器控制工具
| 工具 | 描述 | 示例提示词 |
|---|---|---|
list_devices | 列出所有可用的模拟器设备及其详细信息 | "显示所有可用的 iOS 模拟器设备及其状态。" |
boot_device | 启动由 UDID 标识的特定模拟器设备 | "启动 UDID 为 A1B2C3D4-E5F6-7890-1234-567890ABCDEF 的 iPhone 14 Pro 模拟器。" |
shutdown_device | 关闭正在运行的模拟器设备 | "关闭当前正在运行且 UDID 为 A1B2C3D4-E5F6-7890-1234-567890ABCDEF 的 iPhone 模拟器。" |
install_app | 在模拟器设备上安装应用 | "在 iPhone 14 模拟器上安装路径为 /Users/username/MyApp.app 的应用。" |
launch_app | 在模拟器设备上启动已安装的应用 | "在 iPhone 14 模拟器上启动包 ID 为 com.example.myapp 的应用。" |
SDK 工具
| 工具 | 描述 | 示例提示词 |
|---|---|---|
get_sdk_path | 获取当前 SDK 的路径 | "当前 iOS SDK 的路径是什么?" |
get_sdk_version | 获取当前 SDK 的版本 | "我正在使用的 iOS SDK 是什么版本?" |
get_sdk_platform_path | 获取当前 SDK 的平台路径 | "iOS 平台文件位于哪里?" |
find_developer_tool | 查找特定开发者工具的路径 | "Xcode 工具链中的 'lldb' 二进制文件位于哪里?" |
run_tool_with_sdk | 使用指定 SDK 运行开发者工具 | "使用 iOS SDK 运行 'clang' 工具来编译我的源文件。" |
xcrun 工具
| 工具 | 描述 | 示例提示词 |
|---|---|---|
xcrun_list_sdks | 列出所有可用的 SDK,并提供详细信息 | “显示我可以用于构建的所有可用 SDK。” |
xcrun_list_schemes | 列出指定 Xcode 项目中的所有方案 | “我的 MyApp.xcodeproj 项目中有哪些构建方案?” |
xcrun_build | 使用指定的方案和配置构建 Xcode 项目 | “使用 Debug 配置为 iPhone 模拟器构建我的 MyApp.xcodeproj 项目。” |
xcrun_validate_app | 在提交到 App Store 前验证应用 | “在将我的 MyApp.ipa 文件提交到 App Store 前验证它。” |
xcrun_upload_app | 将应用上传到 App Store Connect | “将已验证的 MyApp.ipa 文件上传到 App Store Connect 以供审核。” |
xcrun_swift_symbols | 从二进制文件中提取 Swift 符号 | “提取并显示应用二进制文件中的所有 Swift 符号。” |
xcrun_otool_headers | 显示二进制文件的 Mach-O 标头 | “显示应用二进制文件的 Mach-O 标头。” |
xcrun_otool_libraries | 显示二进制文件链接的库 | “我的应用二进制文件链接了哪些库?” |
xcrun_nm_symbols | 显示二进制文件中的符号 | “显示应用二进制文件中的所有符号。” |
xctrace 工具
| 工具 | 描述 | 示例提示词 |
|---|---|---|
xctrace_devices | 列出可用于跟踪的设备 | “显示所有可用于运行性能跟踪的设备。” |
xctrace_templates | 列出可用于跟踪的模板 | “性能分析有哪些可用的跟踪模板?” |
xctrace_record | 使用指定模板记录应用性能 | “使用 Time Profiler 模板记录应用的性能跟踪。” |
xctrace_record_advanced | 使用高级选项记录应用性能 | “使用自定义模板选项记录性能跟踪,并设置环境变量 DEBUG=1。” |
xctrace_attach_process | 附加到正在运行的进程以进行跟踪 | “将性能跟踪器附加到进程 ID 为 12345 的运行中应用。” |
xctrace_export | 将跟踪数据导出为指定格式 | “将我的 trace.trace 文件导出为 JSON 格式以供分析。” |
xctrace_diagnose | 诊断跟踪归档中的问题 | “分析我的跟踪文件,查找任何性能问题或故障。” |
xctrace_document | 为模板生成文档 | “为 Allocations 模板创建文档,以便我了解其指标。” |
xctrace_analyze | 分析跟踪文件并生成性能报告 | “根据我的 Time Profiler 跟踪文件生成性能报告。” |
xctrace_compare | 比较两个跟踪文件并生成比较报告 | “比较我的应用 1.0 版和 2.0 版跟踪文件中的性能。” |
项目路线图
阶段 1:MCP 核心实现(2025 年第 2 季度)
- ✅ 基本项目结构
- ⬜ 为基本 xcrun 命令扩展工具,并支持上下文处理
- ⬜ 为基本 xctrace 功能扩展工具,并支持上下文处理
- ⬜ 符合 MCP 规范的命令行接口
阶段 2:MCP 服务实现(2025 年第 3 季度)
- ⬜ 完整的 MCP 规范 HTTP 服务
- ⬜ 上下文感知的身份验证和安全机制
- ⬜ 结构化上下文交换协议
- ⬜ 可扩展的工具注册表架构
阶段 3:MCP 无障碍扩展(2025 年第 4 季度)
- ⬜ 集成 macOS 辅助功能并提供语义上下文
- ⬜ 上下文感知的 Xcode UI 自动化
- ⬜ 语义事件监控与上下文响应
阶段 4:高级 MCP 功能(2026 年第 1 季度)
- ⬜ 符合 MCP 规范的 Python 客户端库
- ⬜ 与 AI 驱动的 CI/CD 工具进行上下文感知集成
- ⬜ 语义上下文监控仪表板
许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
贡献
欢迎贡献!请随时提交 Pull Request。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。