Skip to content

NoMac Simulator llms.txt changelog

app.nomac/simulator

3 changes recorded. MCP Harbor re-reads this listing from the official registry every six hours and asks the live server what it exposes, and keeps what changed between one look and the next.

  • llms.txt +127 −57

    https://nomac.app/llms.txt

    − > A full macOS VM on Apple silicon, with administrator access, SSH, HTTPS− > commands and MCP. Install what you need and run your own commands.− > Available at https://nomac.app.−    the current sync/pull workflow). npm install -g @nomac/cli, then nomac login.−    Hosted MCP: https://mcp.nomac.app/mcp (Streamable HTTP). OAuth 2.1 sign-in−    for ChatGPT, Claude, Cursor, VS Code and Codex; nothing to paste. Claude−    users can add it in one click at https://claude.ai/directory/nomac. Clients−    without OAuth can send Authorization: Bearer <nmk_key>.−    Hosted commands work without a local shell or SSH key. Your agent's−    environment must allow the NoMac HTTPS endpoints; compatibility is not−    assumed for every hosted agent sandbox.− The latest CLI is @nomac/cli 0.12.1. nomac --version prints the− - MCP servers that need a Mac, run from Windows or Linux over SSH:−   for HTTPS-only use. Poll get_mac_session until ready. list_mac_sessions−   helps recover an existing allocation after a lost response. The Mac is fully− - get_mac_job and read_mac_output: follow a longer command (get_mac_job with−   wait_seconds up to 40 returns when it finishes), then read stdout and stderr−   as text, resuming from next_cursor. get_mac_session takes wait_seconds too,− - start_mac_recording and stop_mac_recording: record a video of the screen or−   of the Simulator (5 minutes by default, 30 at most). Start, do the work, then−   stop: it saves the MP4 and returns a download link for the human. CLI:− - fetch_to_mac: download a URL onto the Mac at any size, optionally unpacking−   a zip or tar. Clone git repositories with exec_mac.− - create_mac_upload_link: a link that puts one file of up to 2 GiB on the Mac.−   Give its url to the human (they choose the file in a browser, no account−   needed), or upload with its curl command. get_mac_file_link shows when the−   file is on the Mac.− - create_mac_download_link: a link to a file or folder on the Mac (folders−   come as a zip), up to 2 GiB, for the human or for curl. It keeps working−   after the Mac stops, until it expires (one hour by default, a day at most).− and SSH): Node 24.20.0, npm 11.19.0, Ruby 3.4.11, Bundler 4.0.22, CocoaPods 1.17.0, xcbeautify 3.2.1, XcodeGen 2.46.0, Git 2.54.0, Git LFS 3.8.0, GitHub CLI 2.100.0, jq 1.7.1, Python 3.14.7, uv 0.13.0, nvm 0.40.8, Swift 6.4, Homebrew 7.0.9. Homebrew belongs to the agent account, so− Simulator: each iOS runtime has its own devices with the same names (an− Every Mac has the account's persistent drive at ~/drive: 50 GB, the same on every Mac of− the account, kept between sessions. Keep projects in ~/drive/src/<repo>, so− get_mac_drive (GET /api/v1/mac/drive; CLI: nomac drive) shows its size, versions− and the date it is deleted after 90 days without a Mac; reset_mac_drive− (DELETE; nomac drive reset) empties it. Start one Mac without it with access− explicitly after a rename. write_mac_file, read_mac_file, fetch_to_mac− and file links move single files, not whole workspaces. See the screen− Simulator with simctl, and hand the human open_mac_desktop when they want to+ > A real Mac for your agent: macOS on Apple silicon with Xcode and the iOS+ > Simulator, administrator access, no prompts and nothing blocked. Drive it+ > over MCP, HTTPS commands or SSH, by the minute. Available at https://nomac.app.+    A Mac also stops at its time limit (2 hours unless start_mac set+    max_duration_seconds) or spend cap, and when idle (a build still using the+    CPU after SSH closed keeps it awake). In its last 15 minutes, session and+    command answers carry stop_notice: when it stops, why (time_limit,+    spend_cap or credit) and what to do. extend_mac (CLI: nomac extend 60)+    adds time, up to 8 hours in all; for credit, the human adds credit. The Mac+    itself shows a notification and a terminal message 10 and 2 minutes before.+    sync and pull). npm install -g @nomac/cli, then nomac login.+    From 0.13 the CLI updates itself in the background (NOMAC_NO_AUTO_UPDATE=1+    turns it off; nomac update installs the newest now). An older CLI's answers+    carry cli_update: update it with npm install -g @nomac/cli@latest.+    Hosted MCP (Streamable HTTP), three servers on one account and one sign-in:+      NoMac, the Mac itself: https://mcp.nomac.app/mcp+      NoMac App Store, signing, TestFlight and App Store Connect:+        https://mcp.nomac.app/appstore+      Both in one, for agents that load tools on demand (Claude Code, Codex,+        Cursor): https://mcp.nomac.app/all+    OAuth 2.1 sign-in for ChatGPT, Claude, Cursor, VS Code and Codex; nothing+    to paste, and a second server is one more click. Claude users can add NoMac+    in one click at https://claude.ai/directory/nomac. Clients without OAuth+    can send Authorization: Bearer <nmk_key>. Every server runs every NoMac and+    App Store tool, listed or not: one called on the server that does not list+    it runs and names the server that lists it.+    Hosted commands need no local shell or SSH key: any agent that can reach+    nomac.app over HTTPS drives the Mac.+ 5. An agent in a sandbox that limits the network (a cloud coding sandbox with+    an allowlist) needs nomac.app and *.nomac.app allowed, and for upload and+    download links also *.r2.cloudflarestorage.com, where their files travel.+    Without them the CLI cannot reach NoMac and links fail from the agent's+    side; the human can still open a link in a browser.+ The latest CLI is @nomac/cli 0.13.5. nomac --version prints the+ - simulator-use, on every Mac: the iOS Simulator as text and taps by label+   (simulator-use look, simulator-use act 'tap "Sign In"', simulator-use run+   builds, installs and launches the app; simulator-use mcp runs it as an MCP+   server). Run it with exec_mac, or over SSH from Windows or Linux.+ - Other MCP servers that need a Mac, run from Windows or Linux over SSH:+ The hosted NoMac server merged some tools on October 19, 2026; the local MCP

    Showing the first 40 of each.

  • llms.txt +200 −89

    https://nomac.app/llms.txt

    − 1. Sign in at https://nomac.app/sign-in?next=/mac.−    recommend $10 (12.5 hours): it is enough to get started. Returning buyers−    who expect ongoing use can choose more (e.g. $10 or $50).−    of payment. Existing builder subscriptions do not include Mac credit.−    Preserve the URL's device code through sign-in. No API key needs to be pasted.−    for ChatGPT, Claude, Cursor, VS Code and Codex; nothing to paste. Clients− wait until ready. sync uploads local files; ssh opens the full remote shell.− pull retrieves a directory from the workspace into a local directory. Use− --from REMOTE_PATH when the paths differ. Pull before stop: stopping deletes− this VM and its files. nomac exec -- COMMAND runs a command, prints its output− and exits with its exit code. It waits at most --wait seconds (default 30) and− returns as soon as the command finishes. For builds, tests and other slow− stable-key-0001 in scripts so a lost response can be retried safely. Over ten− minutes, use nomac ssh -- COMMAND, which has no limit. nomac ssh -- COMMAND runs one over SSH (repeated calls reuse the−   helps recover an existing allocation after a lost response.−   as soon as it finishes. Pass wait_seconds: 50 for builds and tests.− - get_mac_job and read_mac_output: follow a longer command, read stdout and−   stderr, decode data_base64, and resume from next_cursor.−   of the booted iOS Simulator, as an image you can look at. CLI:−   nomac screenshot [--simulator] saves nomac-screenshot.jpg.−   simctl, then run: open "$(xcode-select -p)/Applications/Simulator.app"− macOS 26.6.2, Xcode 26.6, iOS 26.5 Simulator. Installed and on every PATH (commands, login shells− and SSH): Node 24.20.0, npm 11.19.0, Ruby 3.4.11, Bundler 4.0.22, CocoaPods 1.17.0, xcbeautify 3.2.1, XcodeGen 2.46.0, Git 2.50.1, Git LFS 3.8.0, GitHub CLI 2.100.0, jq 1.7.1, Python 3.9.6, Swift 6.3.3, Homebrew 7.0.8. Homebrew belongs to the agent account, so− get_mac_session returns the same list as image.− an hour 80¢, a full eight-hour day $6.40. One session at a time; no automatic− overage. Ready time includes time between commands; queue/setup time are free.− default to 300 seconds and cap at 600; raise timeout_seconds for slow work, such− as a first iOS Simulator boot, which needs about 90 seconds of CoreSimulator− data migration. SSH remains available for longer work within the funded− session. Output retention does not terminate a verbose command: the executor− retrieve logs. Guest output and files disappear at stop; external retention− is not implemented.− Current CLI sync skips symlinks and preserves remote extra files. Use native− SSH/scp/rsync for bundles needing symlinks or remove obsolete remote source− files explicitly after a rename. write_mac_file, read_mac_file, fetch_to_mac− and file links move single files, not whole workspaces. There is no click− and type tool yet: see the screen with screenshot_mac, then drive apps with− Simulator with simctl, and hand the human open_mac_desktop when a screen needs− a person. Park/save and persistent− disks are not currently offered.+ 1. Sign in at https://nomac.app/sign-in?next=/mac&ref=llms.+    recommend $10 (12.5 hours): it is enough to get started. For a refill,+    suggest 3 packs ($30, +5%) or more.+    of payment. Under an hour of Mac time left, get_mac_credits, start_mac and+    get_mac_session answer low_credit: true with a message and a buy_url for the+    human (3 packs after the first purchase). Say so before a long build: a Mac+    stops when the credit runs out, and its session then shows end_reason+    "credit".+    Preserve the URL's device code through sign-in. With a key the human made at+    https://nomac.app/keys instead: nomac login --with-token < key.txt (or the+    NOMAC_API_KEY environment variable). nomac whoami shows the account.+    Codex: codex mcp add nomac -- npx @nomac/cli mcp+    for ChatGPT, Claude, Cursor, VS Code and Codex; nothing to paste. Claude+    users can add it in one click at https://claude.ai/directory/nomac. Clients+ ## The CLI+ The latest CLI is @nomac/cli 0.12.1. nomac --version prints the+ installed one; when it is older, update with npm install -g @nomac/cli@latest.+ New commands and MCP tools (such as nomac drive) need the latest. For the MCP+ server through npx, npx @nomac/cli@latest mcp always starts the newest.+ nomac desktop --app        # on a Mac: Apple's Screen Sharing, shared clipboard+ nomac input type hello     # real keyboard and mouse (key, click, scroll, unlock)+ nomac password             # the Mac's login password for this session+ wait until ready. sync uploads the folder's changed files to ~/drive/src/<folder name> on the+ account's drive, which is kept between sessions: the next session continues+ from it and its build is incremental. ssh, exec and pull work in that folder.+ A file that changed on the Mac since the last sync (a lockfile npm rewrote) is+ left alone and named, and sync exits 1 after sending the rest: nomac pull it,+ or replace it with nomac sync . --overwrite. Sync never deletes on its own;+ nomac sync . --delete also removes on the Mac what it sent earlier and you+ deleted here (a renamed folder), unless it changed there. nomac sync . --watch+ syncs again a moment after files change, until Ctrl-C. pull copies from+ that folder to any local path: nomac pull ./out --from build/export, or+ nomac pull /tmp/shots --from shots (a path outside the project needs --from).+ Stopping deletes the VM and everything outside ~/drive. With --drive none the+ project goes to ~/workspace instead, deleted at stop: pull first. nomac exec -- COMMAND runs a command, prints its output+ as it arrives and exits with its exit code. It waits at most --wait seconds+ (default 30; with --timeout N and no --wait, N up to 600) and returns as soon+ as the command finishes. For builds, tests and other slow+ stable-key-0001 in scripts so a lost response can be retried safely. A command+ may run up to an hour (--timeout 3600); for longer, use nomac ssh -- COMMAND,

    Showing the first 40 of each.

  • llms.txt +112 −46

    https://nomac.app/llms.txt

    − # NoMac — a Mac for your agent− this VM and its files. For ordinary remote commands use nomac ssh -- COMMAND.− For a managed job use nomac exec --request-key stable-key-0001 -- COMMAND,− then nomac job JOB_ID and nomac output JOB_ID --cursor 0 --stream stdout.− Inspect the session with nomac session status --json. The current hosted CLI− has no nomac run or nomac logs alias for these sessions.− - exec_mac: pass session_id, argv and a stable request_key. This starts a−   durable job; it does not wait for a whole build. For shell syntax explicitly−   use argv ["/bin/bash", "-lc", "your command"].− - get_mac_job and read_mac_output: inspect the original job, read stdout and− whole minutes, with a one-minute minimum. One session at a time; no automatic− Sessions stop when credit, their spend cap ($5 by default) or their duration− limit runs out. Defaults are a two-hour session (eight at most) and a− SSH disconnect is not shutdown; arbitrary SSH work may require conservative− idle handling, so inspect the returned hard deadline and always stop.− files explicitly after a rename. The HTTPS blob API is a bounded transfer− store (8 MiB per blob), not a full workspace sync API. Simulator/GUI control,− park/save and persistent disks are not currently offered.− ## Existing publishing product — separate monthly plans− The build/TestFlight/App Store tools below remain available to existing and− new Builder customers. They are a separate workflow and subscription, not− required setup for a cloud Mac session. Open https://nomac.app/welcome for− Builder. Do not buy a monthly Builder plan to obtain Mac credit.− ## Check, pay, then finish Apple setup− Run `push_project` then `check_project` for free source-readiness findings. No cloud− build runs. Fix source findings; compilation, signing and TestFlight remain unverified.− When ready, use `get_checkout_link`. Starter is $7.99/month (1 app, 50 attempts);− Pro is $19.99/month (unlimited apps, 300 attempts), before applicable tax.− The human pays explicitly. Both plans have a 7-day money-back guarantee on the− first purchase, not a free trial. Existing subscribers retain contracted prices.− Use `get_billing_status` for authoritative activation, actual renewal amount,− quota reset in UTC, and the guarantee deadline. Then finish Apple setup in /wizard:− upload the .p8 file (Key ID is inferred from its name), enter Issuer ID, and verify.− An unpaid build returns build_started:false and a purchase action. After payment− and setup, resume once with a fresh request_key. If a request's outcome is unknown,− reconcile it using its existing request_key before starting any new build.− 1. `push_project` — pack + upload the working tree (secrets never leave the− 2. `build` with workflow=release — signed build on a cloud Mac → uploaded to− 3. When state=ready, tell your human to open TestFlight on their phone — the− 1. `review_lint` — deterministic readiness report. Fix reds: some findings+ # NoMac: a Mac for your agent+ nomac desktop              # the full macOS desktop in your browser+ this VM and its files. nomac exec -- COMMAND runs a command, prints its output+ and exits with its exit code. It waits at most --wait seconds (default 30) and+ returns as soon as the command finishes. For builds, tests and other slow+ commands use nomac exec --wait 600 -- COMMAND (ten minutes). A command still+ running when the wait ends keeps running: exec exits 75 and prints how to wait+ for it with nomac job JOB_ID --wait 600; never rerun it. Add --request-key+ stable-key-0001 in scripts so a lost response can be retried safely. Over ten+ minutes, use nomac ssh -- COMMAND, which has no limit. nomac ssh -- COMMAND runs one over SSH (repeated calls reuse the+ connection). nomac status shows state, cost and when the Mac stops; --json for+ scripts.+ - exec_mac: pass session_id, argv and a stable request_key. It waits up to+   wait_seconds (default 20, max 50): a command that finishes in time returns+   exit_code, stdout and stderr (first 64 KiB each, as text) in that one call,+   as soon as it finishes. Pass wait_seconds: 50 for builds and tests.+   For shell syntax explicitly use argv ["/bin/bash", "-lc", "your command"].+ - get_mac_job and read_mac_output: follow a longer command, read stdout and+ - write_mac_file and read_mac_file: put a file on the Mac (up to 3 MiB, text or+   base64) and read one back (up to 3 MiB). Images come back whole as images+   you can see. Relative paths are in the session workspace; ~ is the home folder.+ - screenshot_mac: see the screen. Returns a JPEG of the whole desktop+   (1440x900; image pixels are screen coordinates) or, with target simulator,+   of the booted iOS Simulator, as an image you can look at. CLI:+   nomac screenshot [--simulator] saves nomac-screenshot.jpg.+ - start_mac_recording and stop_mac_recording: record a video of the screen or+   of the Simulator (5 minutes by default, 30 at most). Start, do the work, then+   stop: it saves the MP4 and returns a download link for the human. CLI:+   nomac record [--simulator], then nomac record stop.+ - fetch_to_mac: download a URL onto the Mac at any size, optionally unpacking+   a zip or tar. Clone git repositories with exec_mac.+ - create_mac_upload_link: a link that puts one file of up to 2 GiB on the Mac.+   Give its url to the human (they choose the file in a browser, no account+   needed), or upload with its curl command. get_mac_file_link shows when the+   file is on the Mac.+ - create_mac_download_link: a link to a file or folder on the Mac (folders+   come as a zip), up to 2 GiB, for the human or for curl. It keeps working+   after the Mac stops, until it expires (one hour by default, a day at most).+ - open_mac_desktop: a link to the Mac's full desktop in the human's browser,+   with mouse and keyboard, for when they want to see or click something

    Showing the first 40 of each.