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
- 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. - Call the MCP tool
doctor(withplatformiosormacos), thenlist_targetsfrom the user's app folder.doctorconfirms the connection and returns any setup problem (Xcode, simulator runtime, disk, permissions) with its exact fix;list_targetslists Xcode projects and schemes, simulators and running Mac apps. - iOS apps need no macOS permission. Go to step 5.
- Mac apps: call
prepare_macoswith the app (app_pathorbundle_id). It checks Accessibility and Screen Recording for ShowTake. If one is missing it returnspermission_missingwith 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"
- Accessibility:
- 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_macosagain to re-check. Repeat for the second permission if needed.
- open the exact pane for the user:
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:
prepare_ioswithproject+schemefromlist_targets(1-5 minutes the first time), orprepare_macos.- Explore the feature briefly (not recorded), then plan 6-8 steps of 15-30 seconds, one caption of at most 8 words per step.
launch_appwithfresh: true,start_take, run the planned steps with captions (tap,type_text,swipe,scroll,press,wait_for; each returns the new screen),end_take. Ifcleanis false, fix whatissuessays and shoot again (up to 3 takes).save_flow, thenrenderandexport(the free plan exportsx_16x9with a watermark).- Tell the user where the files are (the
exportresult lists each path) and offer to open them withopen <path>. - Launching the app?
exportwithbundle: "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);screenshotwithbundle: "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 |
- Ask the user which plan they want if they did not say (default:
pro_yearly). - Call the MCP tool
upgradewith{"plan": "<plan id>"}(Team: add"seats", 3-50). It returns acheckout_urlbound to this Mac and the price, oralready_prowhen there is nothing to buy. - Give the user the price and the
checkout_urlas 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. - ShowTake waits for the payment and activates itself: no license key to copy or paste.
license_statusshowspending_checkoutuntil then. After the user says they paid, calllicense_statusevery 30 seconds for up to 10 minutes and confirm the plan to the user. - If the link expired (
expires_atpassed, about 2 hours), callupgradeagain 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.
- 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_macosrun the same checks and fail fast with the same errors. - Before the MCP server is connected (no ShowTake tools yet):
brewnot 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. - Every code, its meaning and fix: https://showtake.app/docs/troubleshooting.md. Still stuck: email team@showtake.app with the tool name,
codeandmessage.
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.