# kevinswint/xcode-studio-mcp [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/kevinswint/xcode-studio-mcp  
**GitHub Stars:** 9  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/kevinswint-xcode-studio-mcp

## Description
Unified MCP server for iOS development — build, run, screenshot, and interact with iOS Simulator.

## Tools
Capabilities this server exposes over MCP:

- **xcode_build** — Build an Xcode project with structured error output (file, line, column, severity, message)
- **xcode_run** — Build and launch an app in the iOS Simulator
- **simulator_screenshot** — Capture the Simulator screen as a PNG image
- **simulator_tap** — Tap at x,y coordinates on the Simulator screen
- **simulator_type** — Type text into the currently focused field
- **simulator_describe** — Get the accessibility tree of the current screen (JSON)

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "xcode-studio-mcp": {
    "command": "npx",
    "args": ["-y","kevinswint-xcode-studio-mcp"]
  }
}
```

## Documentation

## What kevinswint/xcode-studio-mcp MCP server does

The kevinswint/xcode-studio-mcp MCP server combines Xcode project builds with common iOS Simulator actions. An MCP client can ask it to compile a project, launch the resulting app, inspect the current screen, and perform basic input without switching between separate build and simulator servers.

Its six tools are:

- `xcode_build` builds a project, workspace, or project directory and returns structured diagnostics containing the file, line, column, severity, and message when errors occur.
- `xcode_run` builds and launches an app in a selected Simulator.
- `simulator_screenshot` captures the current Simulator display as a PNG image.
- `simulator_tap` sends a tap at supplied screen coordinates and can hold the touch for a specified duration.
- `simulator_type` enters text into the currently focused field.
- `simulator_describe` returns the current accessibility tree as JSON.

## How it works

The server is written in Swift and uses stdio transport through the Swift MCP SDK. Its native process layer wraps `xcodebuild` for compilation and deployment-related work, `simctl` for Simulator operations, and the IDB command-line tooling for UI interaction. It is distributed as a single binary and does not require a Node.js or Python runtime for the server itself.

Build requests require `project_path`, which may point to an Xcode project directory, `.xcodeproj`, or `.xcworkspace`. A scheme, build configuration, and destination can be supplied; otherwise the scheme is detected when possible, Debug is used by default, and the booted Simulator is the default destination. Run requests also require an app `bundle_identifier`; a scheme and Simulator UDID are optional.

Simulator tools generally use the booted device when no UDID is provided. Taps require X and Y coordinates, while typing requires text. Accessibility inspection provides a machine-readable view of the current screen that an agent can use before choosing coordinates.

## Setup and configuration

The kevinswint/xcode-studio-mcp MCP server requires macOS with Xcode installed. Clone the repository and build the release binary with Swift:

```bash
swift build -c release
```

The resulting executable is `.build/release/XcodeStudioMCP`. MCP client configuration should point its stdio command to that executable. The README demonstrates configuration with Claude Code and states that the server can be used by MCP clients such as Cursor.

The build tool can work with the native Xcode tooling alone. The tap, type, and describe tools additionally require IDB Companion and the `fb-idb` Python package:

```bash
brew tap facebook/fb && brew install idb-companion
pip3 install fb-idb
```

## Tools and capabilities

The kevinswint/xcode-studio-mcp MCP server supports a compact build-and-check workflow:

1. Build an Xcode project and review structured compiler or build diagnostics.
2. Build and launch the app in a booted or explicitly selected Simulator.
3. Capture a PNG screenshot for visual review.
4. Read the accessibility tree to identify visible controls and fields.
5. Tap at coordinates and type into the focused control.

This supports basic manual-style verification of a running iOS app, but the documented tool set does not include test execution, semantic control selection, visual diffing, or project-file editing.

## Limitations and notes

The server targets local macOS development and depends on Xcode and an available iOS Simulator. UI interaction features have an additional IDB dependency, unlike the server’s core build and launch functionality. Coordinate taps require screen positions supplied by the caller, and text entry operates only on the currently focused field. The roadmap mentions semantic navigation, visual diffs, project-file manipulation, compound operations, and SwiftUI preview capture as future work rather than current capabilities.

_Full upstream README: https://allmcps.com/mcp/kevinswint-xcode-studio-mcp/readme_

