MCP Xcode服务器
MCP(模型上下文协议)服务器,提供以编程方式与Xcode项目交互的工具。
安装
克隆此存储库:
git clone https://github.com/chacebot/mcp-xcode-server.git
cd mcp-xcode-server
npm install或者从本地目录安装:
cd /path/to/mcp-xcode-server
npm install特性
此服务器提供以下Xcode项目管理工具:
- xcode_read_项目 -读取并解析Xcode项目文件
- xcode_list_schemes -列出项目中的所有构建方案
- xcode_list_目标 -列出项目中的所有目标
- xcode_add_test_target -将测试目标添加到项目中
- xcode_configure_test_target -为项目配置测试目标
- xcode_add_file_to_totarget -将文件添加到项目目标
- xcode_remove_file_from_target -从项目目标中删除文件
- xcode_list_files_in_target -列出目标中的所有文件
- xcode_build -构建Xcode项目
- Xcode测试 -在Xcode项目中运行测试
- xcode_get_build_settings -获取构建设置
- xcode_get_build_errors -获取并解析构建错误
- xcode_clean -清理构建工件
- xcode_validate_项目 -验证项目结构并检查问题
快速开始
- 安装依赖项:
npm install- 配置您的MCP客户端 (克劳德桌面、光标等):
{
"mcpServers": {
"xcode": {
"command": "node",
"args": ["/absolute/path/to/mcp-xcode-server/src/index.js"],
"env": {}
}
}
}- 重新启动MCP客户端 加载服务器
- 开始使用Xcode工具 通过你的AI助手!
看 QUICKSTART.md 获取5分钟的设置指南,或 设置.md 详细说明。
用法
作为MCP服务器
在MCP客户端配置中配置此服务器。例如,在Claude Desktop或Cursor中:
{
"mcpServers": {
"xcode": {
"command": "node",
"args": ["/path/to/mcp-xcode-server/src/index.js"],
"env": {}
}
}
}独立测试
您可以直接测试服务器:
npm start服务器使用MCP协议通过stdio进行通信。
需求
- Node.js 18+
- 已安装Xcode命令行工具
- 访问Xcode项目
工具参考
xcode_read_项目
读取并解析Xcode项目文件以提取其结构。
参数:
projectPath(必需):.xcodeproj文件的路径
例子:
{
"name": "xcode_read_project",
"arguments": {
"projectPath": "/path/to/Project.xcodeproj"
}
}xcode_list_schemes
列出项目中可用的所有构建方案。
参数:
projectPath(必需):.xcodeproj文件的路径
xcode_list_目标
列出项目中的所有目标。
参数:
projectPath(必需):.xcodeproj文件的路径
xcode_add_test_target
将新的测试目标添加到项目中。注意:这目前提供了指令,而不是直接修改pbxproj文件,因为这需要仔细解析和操作。
参数:
projectPath(必需):.xcodeproj文件的路径targetName(可选):测试目标的名称(默认为ProjectNameTests)
xcode_add_file_to_totarget
将文件添加到项目中的特定目标。
参数:
projectPath(必需):.xcodeproj文件的路径filePath(必需):从项目根目录到文件的相对路径targetName(必填):目标名称
xcode_build
使用xcodebuild构建Xcode项目。
参数:
projectPath(必需):.xcodeproj文件的路径scheme(可选):构建方案名称configuration(可选):调试或发布(默认:调试)
Xcode测试
在Xcode项目中运行测试。
参数:
projectPath(必需):.xcodeproj文件的路径scheme(可选):测试方案名称
xcode_get_build_settings
获取项目或特定方案的生成设置。
参数:
projectPath(必需):.xcodeproj文件的路径scheme(可选):方案名称configuration(可选):调试或发布(默认:调试)
xcode_clean
清理项目中的构建工件。
参数:
projectPath(必需):.xcodeproj文件的路径scheme(可选):构建方案名称
xcode_remove_file_from_target
从Xcode项目目标中删除文件。
参数:
projectPath(必需):.xcodeproj文件的路径filePath(必需):从项目根目录到文件的相对路径targetName(必填):目标名称
xcode_get_build_errors
获取上次生成尝试中的生成错误。解析xcodebuild输出以提取错误消息。
参数:
projectPath(必需):.xcodeproj文件的路径scheme(可选):构建方案名称
xcode_list_files_in_target
列出特定目标中的所有文件。
参数:
projectPath(必需):.xcodeproj文件的路径targetName(必填):目标名称
xcode_validate_项目
验证Xcode项目结构,并检查常见问题,如缺少目标、方案或配置问题。
参数:
projectPath(必需):.xcodeproj文件的路径
局限性
- pbxproj解析器被简化,可能无法处理所有边缘情况
- 添加目标/文件需要仔细操作pbxproj格式
- 某些操作可能需要安装Xcode并正确配置
未来改进
- 使用适当库的完整pbxproj解析器(例如。,
xcodenpm包) - 更好的错误处理和验证
- 支持Xcode工作区(.xcworkspace)
- 支持Swift包管理器集成
- 支持修改构建设置
- 支持管理代码签名
贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature/my-feature - 提交您的更改:
git commit -am 'Add some feature' - 推到分支:
git push origin feature/my-feature - 提交拉取请求
许可证
麻省理工学院-见 许可证 详细信息文件
