这是一个使用Swift操作Xcode项目文件(.xcodeproj)的Model Context Protocol (MCP)服务器。

xcodeproj-mcp-server是一个MCP服务器,提供了用于编程操作Xcode项目文件的工具。它利用了tuist/xcodeproj库进行可靠的项目文件操作,并使用swift-sdk实现了模型上下文协议。
该服务器使AI助手和其他MCP客户端能够:
从GitHub容器注册表拉取预构建的Docker镜像:
docker pull ghcr.io/giginet/xcodeproj-mcp-server
# 使用Docker添加MCP服务器
$ claude mcp add xcodeproj -- docker run --rm -i -v $PWD:/workspace ghcr.io/giginet/xcodeproj-mcp-server /workspace
我们需要将当前工作目录($PWD)挂载到容器内的/workspace。这允许服务器访问你的Xcode项目。
在你的Claude Desktop配置文件中添加以下内容:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"xcodeproj": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${workspaceFolder}:/workspace",
"ghcr.io/giginet/xcodeproj-mcp-server",
"/workspace"
]
}
}
}
MCP服务器现在支持限制文件操作到特定的基础目录。当你提供命令行参数中的基础路径时:
project_path和文件路径参数都将相对于此基础路径解析这在运行服务器于Docker容器或其他沙箱环境中特别有用。
create_xcodeproj - 创建一个新的Xcode项目
project_name, path, organization_name, bundle_identifierlist_targets - 列出项目中的所有目标
project_pathlist_build_configurations - 列出所有构建配置
参数:project_path
list_files - 列出特定目标中的所有文件
project_path, target_namelist_groups - 列出项目中的所有组及其层级路径,可选地按目标过滤
project_path, target_name(可选)add_file - 向项目添加文件
project_path, file_path, target_name, group_pathremove_file - 从项目中移除文件
project_path, file_pathmove_file - 在项目内部移动或重命名文件
project_path, source_path, destination_pathadd_synchronized_folder - 向项目添加同步文件夹引用
project_path, folder_path, group_name, target_namecreate_group - 在项目导航器中创建新的组
project_path, group_name, parent_group_pathadd_target - 创建新的目标
project_path, target_name, type, platform, bundle_identifierremove_target - 移除现有目标
project_path, target_nameduplicate_target - 复制现有目标
project_path, source_target_name, new_target_nameadd_dependency - 在目标之间添加依赖关系
project_path, target_name, dependency_nameget_build_settings - 获取目标的构建设置
project_path, target_name, configuration_nameset_build_setting - 修改构建设置
project_path, target_name, setting_name, value, configuration_nameadd_framework - 添加框架依赖项
project_path, target_name, framework_name, embedadd_build_phase - 添加自定义构建阶段
project_path, target_name, phase_type, name, scriptadd_swift_package - 向项目添加Swift包依赖项
project_path, package_url, requirement, target_name, product_namelist_swift_packages - 列出项目中的所有Swift包依赖项
project_pathremove_swift_package - 从项目中移除Swift包依赖项
project_path, package_url, remove_from_targets该项目采用MIT许可证。