You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: add MCP resources documentation and client compatibility matrix
- Update README with comprehensive MCP feature compatibility table for all major editors
- Add new "MCP Resources" section explaining efficient URI-based data access
- Document VS Code, Cursor, Windsurf, Claude Code, and Claude Desktop support levels
- Explain automatic fallback behavior and smart tool filtering
- Update tool count from 84 to 105+ tools to reflect current state
- Add MCP Feature Compatibility section to table of contents
- Clarify difference between tools (function calls) and resources (URI access)
-[Alternative installation method using mise](#alternative-installation-method-using-mise)
@@ -40,7 +42,7 @@ A Model Context Protocol (MCP) server that provides Xcode-related tools for inte
40
42
41
43
## Overview
42
44
43
-
XcodeBuildMCP is a Model Context Protocol (MCP) server that exposes Xcode operations as tools for AI assistants and other MCP clients. Built with a modern plugin architecture, it provides 84 self-contained tools organized into workflow-based directories, enabling programmatic interaction with Xcode projects, simulators, devices, and Swift packages through a standardized interface.
45
+
XcodeBuildMCP is a Model Context Protocol (MCP) server that exposes Xcode operations as tools and resources for AI assistants and other MCP clients. Built with a modern plugin architecture, it provides 105+ self-contained tools organized into workflow-based directories, plus MCP resources for efficient data access, enabling programmatic interaction with Xcode projects, simulators, devices, and Swift packages through a standardized interface.
<caption>Using Cursor to build, install, and launch an app on the iOS simulator while capturing logs at run-time.</caption>
@@ -92,7 +94,15 @@ The XcodeBuildMCP server provides the following tool capabilities:
92
94
- Launch apps on simulators, physical devices, and macOS
93
95
- Stop running apps with process ID or bundle ID management
94
96
- Process monitoring and control for comprehensive app management
95
-
-
97
+
98
+
### MCP Resources
99
+
100
+
For clients that support MCP resources (VS Code, Claude Code, Claude Desktop), XcodeBuildMCP provides efficient URI-based data access:
101
+
102
+
-**Simulators Resource** (`mcp://xcodebuild/simulators`): Direct access to available iOS simulators with UUIDs and states
103
+
-**Automatic Fallback**: Clients without resource support automatically use equivalent tool-based APIs
104
+
-**Smart Filtering**: Redundant tools are filtered out when resources are available to prevent duplicate functionality
105
+
96
106
> [!IMPORTANT]
97
107
> Please note that XcodeBuildMCP will request xcodebuild to skip macro validation. This is to avoid errors when building projects that use Swift Macros.
98
108
@@ -106,6 +116,24 @@ The XcodeBuildMCP server provides the following tool capabilities:
106
116
107
117
### Configure your MCP client
108
118
119
+
#### MCP Feature Compatibility
120
+
121
+
XcodeBuildMCP supports both MCP tools and resources. Different editors have varying levels of MCP feature support:
122
+
123
+
| Editor | Tools | Resources | Notes |
124
+
|--------|-------|-----------|-------|
125
+
|**VS Code**| ✅ | ✅ | Full MCP specification support |
126
+
|**Cursor**| ✅ | ❌ | Tools only - resources not supported |
127
+
|**Windsurf**| ✅ | ❌ | Tools and discovery only |
128
+
|**Claude Code**| ✅ | ✅ | Full support for resources, tools, and routes |
129
+
|**Claude Desktop**| ✅ | ✅ | Full support for resources, tools, and prompts |
130
+
131
+
**Resources vs Tools:**
132
+
-**Tools**: Function-based API calls (e.g., `list_sims()` to get simulator list)
133
+
-**Resources**: Efficient data access via URIs (e.g., `mcp://xcodebuild/simulators` for simulator data)
134
+
135
+
XcodeBuildMCP automatically detects your client's capabilities and provides the most appropriate interface. Clients with resource support get efficient URI-based data access, while others fall back to traditional tool calls.
136
+
109
137
#### Quick install
110
138
111
139
For a quick install, you can use the following links:
0 commit comments