Skip to contentLaunch pricing: 50% off Pro Yearly, Team and Lifetime until November 26, 2026. See prices
ShowTake

Let your coding agent set up ShowTake

Paste this into any AI agent. It does the rest and films a first demo of your app.

Set up ShowTake for me from https://showtake.app/agents.md and make a demo video of my app.

For agents: the same playbook as Markdown at /agents.md, all docs at /llms.txt.

What you do: at most two clicks

  1. Paste one line

    Your agent reads this page, checks your Mac, installs ShowTake and connects its MCP server.

  2. One permission toggle (Mac apps)

    macOS lets only a person grant Accessibility and Screen Recording. The agent opens the right pane; you flip one switch.

  3. One link to buy Pro

    Ask for an upgrade and the agent gives you a checkout link. After payment ShowTake activates itself: no key to paste.

The playbook your agent follows

The procedure a coding agent follows to install ShowTake on the user's Mac, connect its MCP server, film a first demo and upgrade to Pro.

Playbook for any AI agent. The user asked you to set up ShowTake from https://showtake.app. Follow these steps in order on the user's Mac. Everything runs locally; the user only acts twice at most: one macOS permission toggle (Mac apps only, macOS requires a human for it) and, if they want Pro, one click on a checkout link you give them.

ShowTake is a Mac app with a built-in MCP server. You drive the user's iOS app (in the Simulator) or Mac app through its tools; ShowTake records every tap and renders demo videos, App Store previews and social cuts. Recordings, screenshots and source code never leave the Mac.

Rules for you, the agent:

  • Tell the user in one line what you are about to do before each step that installs or changes something, then do it. Do not ask for confirmation of every command.
  • Run every command yourself. Never ask the user to copy, paste or type a command, a key or a path.
  • The Free plan needs no account and no key: everything below works before any purchase.
  • Stop and report only if a check below fails and the "If it fails" note does not fix it.
  • This page is also at https://showtake.app/agents.md (Markdown) and https://showtake.app/agents (HTML). Full docs: https://showtake.app/llms-full.txt.

1. Check the Mac

sw_vers -productVersion   # must be 26.0 or later (macOS 26 Tahoe)
uname -m                  # arm64 (Apple silicon) or x86_64 (Intel): both are supported
  • macOS older than 26: stop and tell the user ShowTake needs macOS 26 Tahoe or later. Do not install anything.
  • Not a Mac (Linux, Windows, a remote container): stop and say ShowTake runs only on macOS.

For iOS apps the Mac also needs Xcode with an iOS Simulator runtime. Check with:

xcodebuild -version && xcrun simctl list runtimes | grep -i ios

If Xcode or a runtime is missing, tell the user (installing Xcode is a large download they must start themselves from the App Store); Mac apps can still be filmed without it.

2. Install ShowTake

Already installed? test -d /Applications/ShowTake.app && echo installed → skip to step 3.

With Homebrew (preferred: updates stay automatic):

brew install --cask orchestero/tap/showtake

Without Homebrew: download the notarized disk image, verify it and copy the app:

set -euo pipefail
tmp="$(mktemp -d)"
curl -fsSL "https://api.showtake.app/download/latest.json?src=agents_md" -o "$tmp/latest.json"
url="$(/usr/bin/plutil -extract url raw "$tmp/latest.json")"
sha="$(/usr/bin/plutil -extract sha256 raw "$tmp/latest.json")"
curl -fL "$url" -o "$tmp/ShowTake.dmg"
echo "$sha  $tmp/ShowTake.dmg" | shasum -a 256 -c -
hdiutil attach -nobrowse -readonly -mountpoint "$tmp/mnt" "$tmp/ShowTake.dmg"
spctl -a -vv "$tmp/mnt/ShowTake.app"   # must say: accepted, source=Notarized Developer ID
ditto "$tmp/mnt/ShowTake.app" /Applications/ShowTake.app
hdiutil detach "$tmp/mnt"
rm -rf "$tmp"

https://showtake.app/download is the same download for humans; https://api.showtake.app/download redirects to the latest disk image.

If spctl does not print accepted and source=Notarized Developer ID, delete the download and stop: never install an unsigned copy.

For iOS apps also install AXe (ShowTake uses it to read the simulator screen and send touches):

brew install cameroncooke/axe/axe

3. Connect the MCP server

The MCP server is the executable inside the app bundle, started over stdio with no arguments and no environment variables:

/Applications/ShowTake.app/Contents/MacOS/showtake-mcp

Register it for the agent you are (user scope, so it works in every project):

Agent Do this
Claude Code claude mcp add --scope user showtake -- "/Applications/ShowTake.app/Contents/MacOS/showtake-mcp"
Codex codex mcp add showtake -- "/Applications/ShowTake.app/Contents/MacOS/showtake-mcp"
Gemini CLI gemini mcp add --scope user showtake "/Applications/ShowTake.app/Contents/MacOS/showtake-mcp"
Cursor merge the JSON below into ~/.cursor/mcp.json
VS Code merge the second JSON below into .vscode/mcp.json (or the user mcp.json)
Anything else a stdio server with the command above

Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "showtake": {
      "command": "/Applications/ShowTake.app/Contents/MacOS/showtake-mcp",
      "args": []
    }
  }
}

VS Code (mcp.json):

{
  "servers": {
    "showtake": {
      "type": "stdio",
      "command": "/Applications/ShowTake.app/Contents/MacOS/showtake-mcp"
    }
  }
}

Most agents load new MCP servers only in a new session. If the ShowTake tools (list_targets, prepare_ios, ...) are not available to you after registering, tell the user: "ShowTake is installed. Start a new session in your app's folder and say: film a demo of my app." That is the only restart needed.

4. First run and permissions

  1. Open the app once so macOS registers it: open -a ShowTake. It creates its library in ~/Movies/ShowTake/ and can stay in the background; the MCP server starts it on demand later.
  2. Call the MCP tool doctor (with platform ios or macos), then list_targets from the user's app folder. doctor confirms the connection and returns any setup problem (Xcode, simulator runtime, disk, permissions) with its exact fix; list_targets lists Xcode projects and schemes, simulators and running Mac apps.
  3. iOS apps need no macOS permission. Go to step 5.
  4. Mac apps: call prepare_macos with the app (app_path or bundle_id). It checks Accessibility and Screen Recording for ShowTake. If one is missing it returns permission_missing with guidance. Then:
    • open the exact pane for the user:
      • Accessibility: open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"
      • Screen Recording: open "x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture"
    • tell the user exactly one thing: "Turn on ShowTake in the window that just opened." (For Screen Recording macOS may ask to quit and reopen ShowTake: let it.) Be honest that macOS only lets a person grant this; it is a one-time step.
    • call prepare_macos again to re-check. Repeat for the second permission if needed.

Only ShowTake.app needs these permissions, never the terminal or editor.

5. Film a first demo

Read the MCP resource showtake://guide (or the prompt film_demo) before your first take: it is the full filming guide. In short:

  1. prepare_ios with project + scheme from list_targets (1-5 minutes the first time), or prepare_macos.
  2. Explore the feature briefly (not recorded), then plan 6-8 steps of 15-30 seconds, one caption of at most 8 words per step.
  3. launch_app with fresh: true, start_take, run the planned steps with captions (tap, type_text, swipe, scroll, press, wait_for; each returns the new screen), end_take. If clean is false, fix what issues says and shoot again (up to 3 takes).
  4. save_flow, then render and export (the free plan exports x_16x9 with a watermark).
  5. Tell the user where the files are (the export result lists each path) and offer to open them with open <path>.
  6. Launching the app? export with bundle: "launch" writes a launch kit (Product Hunt gallery and thumbnail, link preview image, X and LinkedIn cards, YouTube/X/vertical videos and a README of what goes where); screenshot with bundle: "app_store" writes the App Store screenshot set at the required sizes (Pro).

A good first request to film, if the user gave none: the app's main feature end to end, e.g. "create an item and mark it done".

6. Upgrade to Pro (only when the user asks, or an export answers license_required)

Pro unlocks every preset (App Store previews, vertical and square cuts), 4K, no watermark and batch replays. Prices: https://showtake.app/pricing.md

Plan id Plan Price (USD) Macs
pro_monthly Pro Monthly $9 /month 2 Macs
pro_yearly Pro Yearly $49 /year 2 Macs
lifetime Lifetime $129 one-time 2 Macs
team_yearly Team $39 /seat/year 2 Macs per seat, 3-50 seats
  1. Ask the user which plan they want if they did not say (default: pro_yearly).
  2. Call the MCP tool upgrade with {"plan": "<plan id>"} (Team: add "seats", 3-50). It returns a checkout_url bound to this Mac and the price, or already_pro when there is nothing to buy.
  3. Give the user the price and the checkout_url as a link: "Open this link to pay. ShowTake activates itself on this Mac when the payment goes through." This is the only thing the user does. Never fill in payment details yourself. All sales are final, so make sure the user picked the plan they want.
  4. ShowTake waits for the payment and activates itself: no license key to copy or paste. license_status shows pending_checkout until then. After the user says they paid, call license_status every 30 seconds for up to 10 minutes and confirm the plan to the user.
  5. If the link expired (expires_at passed, about 2 hours), call upgrade again for a fresh one.

If upgrade answers seats_full, the license already runs on every allowed Mac: list the Macs from the answer and tell the user to free one at https://showtake.app/manage. If the user already has a key from an email, they can paste it in ShowTake → Settings → License instead.

Troubleshooting

Every ShowTake error is JSON with code, message, fix (ordered steps: shell commands you run, tool calls, edit_project, open_url, ask_user), retryable, needs_user and tell_user. Follow fix in order, then retry when retryable is true. When needs_user is true, say the tell_user sentence to the user as it is and wait; steps with needs_password are sudo commands for the user to run in Terminal, never for you.

  1. On a new Mac, or when an error is unclear, call the MCP tool doctor ({"platform": "ios"} or "macos"). It checks macOS, Xcode (selected, license, first launch), iOS runtimes and device types, disk space, the built-in AXe, permissions, the app and MCP versions, the license and the network, and returns each problem with its fix. prepare_ios / prepare_macos run the same checks and fail fast with the same errors.
  2. Before the MCP server is connected (no ShowTake tools yet): brew not found → use the "Without Homebrew" install; tools do not appear → check the registration (claude mcp list, codex mcp list, ...) points at /Applications/ShowTake.app/Contents/MacOS/showtake-mcp, then ask the user to start a new agent session.
  3. Every code, its meaning and fix: https://showtake.app/docs/troubleshooting.md. Still stuck: email team@showtake.app with the tool name, code and message.

Uninstall

claude mcp remove showtake (or the agent's equivalent), then brew uninstall --cask showtake or move /Applications/ShowTake.app to the Trash. Takes stay in ~/Movies/ShowTake/ until the user deletes them.

What never leaves the Mac

  • Recordings, takes, flows, screenshots and exports stay in ~/Movies/ShowTake/.
  • The user's source code, app screens and your prompts are never sent anywhere by ShowTake.
  • ShowTake goes online only to check the license (a hash of the Mac's hardware id, no name or files), look for updates and, unless the user turns it off in Settings, send anonymous usage counts and crash reports.
  • Payment happens on the checkout page in the user's browser; ShowTake never sees card details.