使用说明
Xcode MCP服务器🚀
一个强大而全面的模型上下文协议(MCP)服务器,用于Xcode与AI助手的集成。此增强版本提供了从创建到部署的完整项目生命周期管理。
🌟 v2.0中的新增功能
- 完全支持TypeScript:完全的类型安全性和更好的开发人员体验
- 真正的Swift包管理:实际添加、删除和管理包
- 项目创建:从头开始生成完整、有效的Xcode项目
- 增强工具:40多种工具,适用于iOS开发的各个方面
- 更好的错误处理:详细的、可操作的错误消息
- 性能优化:通过缓存和并行处理加快执行速度
✨ 特性
🔨 建设与项目管理
- 创建项目:生成具有适当结构的完整Xcode项目
- 构建项目:使用自定义配置和目标进行编译
- 清洁文物:删除构建产品和派生数据
- 管理方案:列出、创建和管理生成方案
- 存档和导出:创建档案并导出IPAs
- 代码签名:管理证书和配置文件
📱 模拟器控制
- 全生命周期:创建、启动、关闭和删除模拟器
- 应用程序管理:安装、启动和卸载应用程序
- 媒体捕获:截取屏幕截图并录制视频
- 设备管理:重置为出厂设置,管理多个设备
- 高级控制:自定义运行时选择、状态管理
🧹 Swift开发工具
- 代码分析:SwiftLint集成自动校正功能
- 代码格式化:具有自定义配置的SwiftFormat
- 测试执行:运行具有覆盖率报告的单元测试
- 文件生成:从模板创建Swift文件
- 包创建:初始化新的Swift包
- 文档:从代码生成文档
📦 依赖管理
- Swift软件包:添加、删除、列出和更新包
- 版本控制:指定确切的版本、分支或范围
- 相关性分析:检测CocoaPods、Carthage和SPM
- 包分辨率:自动版本解析
🛠️ 安装
先决条件
- Node.js 18+
- Xcode 15+(从App Store安装)
- Xcode命令行工具:
xcode-select --install
可选工具
要获得完整功能,请安装以下附加工具:
# SwiftLint for code analysis
brew install swiftlint
# SwiftFormat for code formatting
brew install swiftformat
# Jazzy for documentation generation
gem install jazzy
安装Xcode MCP
# Clone the repository
git clone https://github.com/yourusername/xcode-mcp.git
cd xcode-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
⚙️ 配置
克劳德桌面
添加到您的Claude Desktop配置中:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"xcode": {
"command": "node",
"args": ["/path/to/xcode-mcp/build/index.js"],
"env": {
"LOG_LEVEL": "1"
}
}
}
}
其他MCP客户端
# Run the server directly
node /path/to/xcode-mcp/build/index.js
📚 使用示例
创建新的iOS应用程序
User: "Create a new iOS app called MyAwesomeApp with SwiftUI"
Claude: *creates complete Xcode project with SwiftUI template*
构建和测试
User: "Build the project and run tests"
Claude: *builds project, runs tests, shows results with coverage*
管理模拟器
User: "Create an iPhone 15 Pro simulator and take a screenshot"
Claude: *creates simulator, boots it, captures screenshot*
添加依赖关系
User: "Add Alamofire package to my project"
Claude: *adds Swift Package with proper version resolution*
🔧 可用工具
构建工具
| 工具 | 说明 |
|---|---|
build_project |
使用选项构建Xcode项目 |
clean_project |
清理构建工件 |
archive_project |
创建存档以供分发 |
manage_signing |
配置代码签名 |
模拟器工具
| 工具 | 说明 |
|---|---|
list_simulators |
显示可用模拟器 |
boot_simulator |
启动模拟器 |
install_app |
在模拟器上安装应用程序 |
capture_screenshot |
拍摄模拟器截图 |
record_video |
记录模拟器屏幕 |
Swift工具
| 工具 | 说明 |
|---|---|
analyze_swift_code |
运行SwiftLint分析 |
format_swift_code |
使用SwiftFormat格式化 |
run_swift_tests |
执行单元测试 |
create_swift_file |
生成Swift文件 |
项目工具
| 工具 | 说明 |
|---|---|
create_xcode_project |
创建新的Xcode项目 |
analyze_project_structure |
分析项目依赖关系 |
add_swift_package |
添加Swift包 |
list_swift_packages |
显示已安装的软件包 |
📊 演出
- 缓存:智能缓存减少了冗余操作
- 并行处理:同时建立多个目标
- 优化解析:快速分析构建输出
- 最低开销:与xcodebuild直接集成
🔍 故障排除
找不到Xcode
# Verify Xcode installation
xcode-select -p
# Set Xcode path if needed
sudo xcode-select -s /Applications/Xcode.app
SwiftLint/SwiftFormat缺失
# Install via Homebrew
brew install swiftlint swiftformat
权限问题
# Reset permissions
sudo xcode-select --reset
构建失败
- 干净的衍生数据:
clean_project工具 - 重置包缓存:
swift package reset - 检查方案设置:
list_schemes工具
🧪 测试
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Watch mode
npm run test:watch
# Lint code
npm run lint
# Format code
npm run format
📈 监控
启用详细日志记录:
{
"env": {
"LOG_LEVEL": "0" // 0=DEBUG, 1=INFO, 2=WARN, 3=ERROR
}
}
🤝 贡献
欢迎投稿!请看 贡献.md 作为指导方针。
开发设置
# Install dev dependencies
npm install
# Run in watch mode
npm run watch
# Run linter
npm run lint:fix
📝 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🙏 致谢
- MCP SDK团队为优秀的框架
- Xcode团队提供全面的CLI工具
- SwiftLint和SwiftFormat社区
- 所有贡献者和测试人员
📞 支持
由以下材料制成❤️ 适用于使用AI助手的iOS开发人员
