XcodeMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Controls logging verbosity. Options: SILENT, ERROR, WARN, INFO, DEBUG | INFO |
| XCODEMCP_LOG_FILE | No | Optional file path for logging. Logs are written to the specified file in addition to stderr | |
| XCODEMCP_CONSOLE_LOGGING | No | Enable/disable console output. Set to 'false' to disable stderr logging | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| xcode_open_projectB | Open an Xcode project or workspace |
| xcode_close_projectA | Close the currently active Xcode project or workspace (automatically stops any running actions first) |
| xcode_buildA | Build a specific Xcode project or workspace with the specified scheme. If destination is not provided, uses the currently active destination. ⏱️ Can take minutes to hours - do not timeout. |
| xcode_get_schemesB | Get list of available schemes for a specific project |
| xcode_set_active_schemeB | Set the active scheme for a specific project |
| xcode_cleanC | Clean the build directory for a specific project |
| xcode_testA | Run tests for a specific project. Optionally run only specific tests or test classes by temporarily modifying the test plan (automatically restored after completion). ⏱️ Can take minutes to hours - do not timeout. |
| xcode_build_and_runA | Build and run a specific project with the specified scheme. ⏱️ Can run indefinitely - do not timeout. |
| xcode_debugB | Start debugging session for a specific project. ⏱️ Can run indefinitely - do not timeout. |
| xcode_stopB | Stop the current scheme action for a specific project |
| find_xcresultsB | Find all XCResult files for a specific project with timestamps and file information |
| xcode_get_run_destinationsB | Get list of available run destinations for a specific project |
| xcode_get_workspace_infoC | Get information about a specific workspace |
| xcode_get_projectsB | Get list of projects in a specific workspace |
| xcode_open_fileC | Open a file in Xcode |
| xcode_health_checkB | Perform a comprehensive health check of the XcodeMCP environment and configuration |
| xcresult_browseA | Browse XCResult files - list all tests or show details for a specific test. Returns comprehensive test results including pass/fail status, failure details, and browsing instructions. Large console output (>20 lines or >2KB) is automatically saved to a temporary file. |
| xcresult_browser_get_consoleA | Get console output and test activities for a specific test in an XCResult file. Large output (>20 lines or >2KB) is automatically saved to a temporary file. |
| xcresult_summaryC | Get a quick summary of test results from an XCResult file |
| xcresult_get_screenshotA | Get screenshot from a failed test at specific timestamp - extracts frame from video attachment using ffmpeg |
| xcresult_get_ui_hierarchyB | Get UI hierarchy attachment from test. Returns raw accessibility tree (best for AI), slim AI-readable JSON (default), or full JSON. |
| xcresult_get_ui_elementA | Get full details of a specific UI element by index from a previously exported UI hierarchy JSON file |
| xcresult_list_attachmentsA | List all attachments for a specific test - shows attachment names, types, and indices for export |
| xcresult_export_attachmentB | Export a specific attachment by index - can convert App UI hierarchy attachments to JSON |
| xcode_refresh_projectA | Refresh/reload an Xcode project by closing and reopening it to pick up external changes like modified .xctestplan files |
| xcode_get_test_targetsB | Get information about test targets in a project, including names and identifiers |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Each tool has a clear, distinct purpose. The build, test, debug, and XCResult tools are separated by prefixes (xcode_ vs xcresult_) and specific verbs, making it easy for an agent to select the correct tool.
All tools follow a consistent pattern: either xcode_ or xcresult_ prefix followed by a verb and optionally a noun (e.g., xcode_build, xcresult_summary). No mixing of styles or ambiguous verbs.
With 26 tools, the count is slightly above the typical well-scoped range. While each tool serves a specific purpose, the overall set feels heavy given the domain, though it is justified by the complexity of Xcode integration.
The tool set covers the full lifecycle of Xcode operations: workspace/project management, building, testing, debugging, and comprehensive XCResult analysis (browsing, attachments, screenshots, UI hierarchy). No obvious gaps for the stated purpose.