Docs · Connect your agent

Connect your agent

Over MCP, the CLI, the REST API or SSH, on one account and one credit. Use whichever your agent supports.

Hosted MCP

The quickest way. Add NoMac as a remote MCP server; it lists the Mac and the iOS Simulator.

MCP server
https://mcp.nomac.app/mcp

Sign-in is OAuth, so there is nothing to paste: ChatGPT, Claude, Cursor, VS Code and Codex open a NoMac sign-in when you add it. In Claude, add it in one click from the Claude directory. A client without OAuth sends an API key as Authorization: Bearer nmk_….

  • https://mcp.nomac.app/simulator: the iOS Simulator alone, its tools under their short names.
  • https://mcp.nomac.app/appstore: signing, TestFlight and the App Store (NoMac App Store).

MCP from the CLI

For agents that start MCP servers as local commands:

Terminal
claude mcp add nomac -- npx @nomac/cli mcp
codex mcp add nomac -- npx @nomac/cli mcp

Any other client: command npx, arguments ["@nomac/cli", "mcp"]. It uses the CLI's sign-in, below.

The CLI

For a terminal, a script, or an agent that prefers commands. It needs Node 20 or later, OpenSSH and rsync; on Windows, use WSL.

Terminal
npm install -g @nomac/cli
nomac login
nomac start
nomac exec -- xcodebuild -version
nomac stop

nomac login prints a link and a short code to approve in your browser. The CLI updates itself in the background. Every command is in the CLI reference.

API keys and REST

Make a key at nomac.app/keys. The CLI takes it with nomac login --with-token < key.txt or NOMAC_API_KEY; the REST API takes the same header:

Terminal
curl https://nomac.app/api/v1/mac/credits \
  -H "Authorization: Bearer $NOMAC_API_KEY"

Every endpoint is in the API reference.

Agents in a sandbox

An agent whose network is an allowlist, such as a cloud coding sandbox, needs nomac.app, *.nomac.app and, for upload and download links, *.r2.cloudflarestorage.com.