doublespeed — Xcode as an API
LocalAbout doublespeed — Xcode as an API
doublespeed provides coding agents with remote Macs for building, testing, and running iOS apps. Its tools match XcodeBuildMCP names, allowing workflows written for a local Mac to run without one.
Key features
- 01Discover Xcode projects and schemes
- 02Check project files and configuration
- 03Build and test iOS apps
- 04Run apps in live simulators
- 05Create unsigned archives and inspect jobs
Use cases
- 01Build iOS apps from Linux or a container
- 02Run XCTest or Swift Testing on remote Macs
- 03Preview an app in a live simulator
- 04Check project setup without compiling
MCP support
The MCP server exposes tools that run iOS build, test, archive, and simulator tasks on doublespeed's remote Mac fleet. Its tool names match XcodeBuildMCP.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @doublespeed/mcpDS_API_KEYSecretdoublespeed API key (dsx_…) from https://mac.doublespeed.ai/dashboardLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
11Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| maxDepth | number | No | |
| workspaceRoot | string | No | Directory to scan (default: cwd) |
Details
From the project README@doublespeed/mcp
An MCP server that gives a coding agent a Mac. Build, test, archive and run iOS apps — native, React Native, Expo — on the doublespeed Mac fleet from Linux, a container, CI, or a Mac without Xcode.
Tool names match XcodeBuildMCP (build_sim, test_sim, build_run_sim, list_sims, discover_projs, list_schemes, stop_app_sim, doctor) so prompts and skills written for a local Mac work unchanged when there is no Mac.
Install
Needs Node 20+. check_project works with no key at all; everything else needs a DS_API_KEY (free $100 of Mac time at https://mac.doublespeed.ai/dashboard → API keys).
Claude Code
claude mcp add doublespeed -e DS_API_KEY=dsx_... -- npx -y @doublespeed/mcp
Cursor / Windsurf / Codex / VS Code — add to the client's MCP config:
{ "mcpServers": { "doublespeed": { "command": "npx", "args": ["-y", "@doublespeed/mcp"], "env": { "DS_API_KEY": "dsx_..." } } } }
Tools
| Tool | What it does | Where it runs |
|---|---|---|
discover_projs | find .xcworkspace / .xcodeproj / Package.swift | local |
list_schemes | shared schemes of a project/workspace | local |
list_sims | simulators, runtimes and Xcode versions on the fleet | API |
check_project | no key needed — schemes resolve, every Swift file parses, plists valid (lint, no compile) | Mac |
build_sim | compile for the iOS Simulator; file:line:col errors | Mac |
test_sim | build + XCTest / Swift Testing; per-test results | Mac |
build_run_sim | build, install, launch; returns a browser URL to a live simulator | Mac |
stop_app_sim | end a live session | API |
archive_app | unsigned .xcarchive (Release) | Mac |
job_status | status, diagnostics, tests, log tail of any job | API |
doctor | key, API reachability, fleet capabilities | local + API |
Only files under workspaceRoot (default: the project's directory) are uploaded, content-addressed — after the first run only changed files move. A small app's test run takes ~20–40 s of Mac time and costs a few cents; nothing is billed while queued.
Not yet
Screenshots / accessibility tree of the running simulator, code signing and TestFlight upload. The live build_run_sim link is meant for a human to look at.
Agents without a Mac build, test and run iOS apps through mac.doublespeed.ai (npx -y @doublespeed/ds). Docs: https://mac.doublespeed.ai/docs.md
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.