MCP-сервер Xcodeproj (управление проектами Xcode).
claude mcp add xcodeproj -- docker run --pull=always --rm -i -v $PWD:/workspace ghcr.io/giginet/xcodeproj-mcp-server:latest /workspace We need to mount the current working directory ($PWD) to /workspace inside theA Model Context Protocol (MCP) server for manipulating Xcode project files (.xcodeproj) using Swift.

xcodeproj-mcp-server is an MCP server that provides tools for programmatically manipulating Xcode project files. It leverages the tuist/xcodeproj library for reliable project file manipulation and implements the Model Context Protocol using the swift-sdk.
This server enables AI assistants and other MCP clients to:
Pull the pre-built Docker image from GitHub Container Registry:
docker pull ghcr.io/giginet/xcodeproj-mcp-server
claude mcp add xcodeproj -- docker run --pull=always --rm -i -v $PWD:/workspace ghcr.io/giginet/xcodeproj-mcp-server:latest /workspace
We need to mount the current working directory ($PWD) to /workspace inside the container. This allows the server to access your Xcode projects.
Enabling ENABLE_TOOL_SEARCH in .claude/settings.json activates dynamic MCP tool loading. This prevents unused MCP tools from consuming context.
{
"env": {
"ENABLE_TOOL_SEARCH": "1"
}
}
Add the following to your Claude Desktop configuration file:
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"
]
}
}
}
The MCP server now supports restricting file operations to a specific base directory. When you provide a base path as a command-line argument:
project_path and file path parameters will be resolved relative to this base pathThis is especially useful when running the server in Docker containers or other sandboxed environments.
create_xcodeproj - Create a new Xcode project
project_name, path, organization_name, bundle_identifierlist_targets - List all targets in a project
project_pathlist_build_configurations - List all build configurations
project_pathlist_files - List all files in a specific target
project_path, target_namelist_groups - List all groups in the project with hierarchical paths, optionally filtered by target
project_path, target_name (optional)add_file - Add a file to the project
project_path, file_path, target_name, group_pathremove_file - Remove a file from the project
project_path, file_pathmove_file - Move or rename a file within the project
project_path, source_path, destination_pathadd_synchronized_folder - Add a synchronized folder reference to the project
project_path, folder_path, group_name, target_namecreate_group - Create a new group in the project navigator
project_path, group_name, parent_group_pathadd_target - Create a new target
project_path, target_name, type, platform, bundle_identifierremove_target - Remove an existing target
project_path, target_nameduplicate_target - Duplicate an existing target
project_path, source_target_name, new_target_nameadd_dependency - Add dependency between targets
project_path, target_name, dependency_nameadd_app_extension - Add an App Extension target and embed it in a host app
project_path, extension_name, extension_type, host_target_name, bundle_identifier, platform (optional), deployment_target (optional)widget, notification_service, notification_content, share, today, action, file_provider, intents, intents_ui, keyboard, photo_editing, document_provider, customremove_app_extension - Remove an App Extension target and its embedding from the host app
project_path, extension_nameget_build_settings - Get build settings for a target
project_path, target_name, configuration_nameset_build_setting - Modify build settings
project_path, target_name, setting_name, value, configuration_nameadd_framework - Add framework dependencies
project_path, target_name, framework_name, embedadd_build_phase - Add custom build phases
project_path, target_name, phase_type, name, scriptadd_swift_package - Add a Swift Package dependency to the project
project_path, package_url, requirement, target_name, product_namelist_swift_packages - List all Swift Package dependencies in the project
project_pathremove_swift_package - Remove a Swift Package dependency from the project
project_path, package_url, remove_from_targetsThis project is licensed under the MIT License.