MCP server: One MCP server.

doublespeed — Xcode as an API

@doublespeedRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Build, test and run iOS apps on a remote Mac from any machine. XcodeBuildMCP-compatible tools.

Mobile app developmentv0.1.1TypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@doublespeed/mcpv0.1.1

Run

npx -y @doublespeed/mcp

MCP client config

{
  "mcpServers": {
    "doublespeed-xcode-as-an-api": {
      "command": "npx",
      "args": [
        "-y",
        "@doublespeed/mcp"
      ]
    }
  }
}
README2 min read

@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

bash
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:

json
{ "mcpServers": { "doublespeed": { "command": "npx", "args": ["-y", "@doublespeed/mcp"], "env": { "DS_API_KEY": "dsx_..." } } } }

Tools

ToolWhat it doesWhere it runs
discover_projsfind .xcworkspace / .xcodeproj / Package.swiftlocal
list_schemesshared schemes of a project/workspacelocal
list_simssimulators, runtimes and Xcode versions on the fleetAPI
check_projectno key needed — schemes resolve, every Swift file parses, plists valid (lint, no compile)Mac
build_simcompile for the iOS Simulator; file:line:col errorsMac
test_simbuild + XCTest / Swift Testing; per-test resultsMac
build_run_simbuild, install, launch; returns a browser URL to a live simulatorMac
stop_app_simend a live sessionAPI
archive_appunsigned .xcarchive (Release)Mac
job_statusstatus, diagnostics, tests, log tail of any jobAPI
doctorkey, API reachability, fleet capabilitieslocal + 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

Similar modules

Browse Mobile app development