Mobilerun vs Askew — iPhone, iPad and Mac via Shortcuts
A side-by-side look at the Mobilerun and Askew — iPhone, iPad and Mac via Shortcuts MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Mobilerun for os automation work as a local process; choose Askew — iPhone, iPad and Mac via Shortcuts for os automation as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Mobilerun when
- You need dedicated capabilities in the OS Automation domain.
- You prefer a local stdio subprocess transport.
Choose Askew — iPhone, iPad and Mac via Shortcuts when
- You need dedicated capabilities in the OS Automation domain.
- You prefer a local stdio subprocess transport.
- You have the keys it needs:
ASKEW_CONNECTOR_KEY, ASKEW_SERVER. - You want tools like
askew_actions_search, askew_recipe_build, askew_run.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | OS Automation | OS Automation |
| Quality signal | 48/100 · Fair | 63/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | ASKEW_CONNECTOR_KEYASKEW_SERVER |
| Verified owner | Community listing | Community listing |
| GitHub stars | 9,709 | 1 |
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | Not listed | 13 |
| Full listing | View Mobilerun | View Askew — iPhone, iPad and Mac via Shortcuts |
Tools & capabilities
Mobilerun tools
No tool names declared yet. Check the project README from the listing page.
Askew — iPhone, iPad and Mac via Shortcuts tools 13
askew_actions_searchSearch the catalog of Shortcuts actions (539 of them) for what parameter keys an action accepts, their types, its output type and the permissions it needs. Apple does not document this. Call it before askew_recipe_build — a wrong parameter key raises NO error, it is silently ignored, so the Shortcut runs and returns a confidently wrong answer.askew_recipe_buildCompose and sign a brand-new Shortcut from actions, optionally importing and running it on this Mac. A successful run does not prove correctness or safety. Use this when no existing route does what the user needs. **Requires a Mac** — this builder uses the macOS Shortcuts CLI, so on Windows or Linux it returns an error and you should use the existing verified routes instead. Getting it onto the user's iPhone is a separate step the user must tap through; iOS has no silent install. Always look up parameter keys with askew_actions_search first.askew_runRun an enabled route on one assigned device or this Mac connector. A connector target must match this connectorId, run on macOS, and use auto mode; confirm-mode is rejected before local effects. A durable, encrypted local journal prevents re-execution with the same idempotencyKey, including after process restart; a changed request conflicts. Local journal files must be retained to preserve this protection. Local input/results stay on this Mac, no relay job or quota is created, and execution waits up to 60 seconds. Local errors may follow partial effects: never automatically retry. For device targets: Works while the phone is locked: the relay pushes a notification, one dispatcher automation runs the target Shortcut, and the result comes back end-to-end encrypted. Behavior: call askew_list_routes first; each route lists an inputExample and the input MUST use exactly those keys (dates 'YYYY-MM-DD HH:mm'), otherwise the call is rejected before anything runs. Waits up to `wait` seconds (default 45) and returns status (done | failed | unknown | pending), the decrypted result text and a timeline. If status is 'unknown' or 'pending', poll with askew_get_run using the returned jobId. Usage: one route per call; do not retry a failed job blindly — read the error text, fix the input, or ask the user. Use idempotencyKey when you must retry a network error.askew_get_runReturn the current status and, when finished, the decrypted result of a job started with askew_run. Use it when askew_run returned status 'unknown' or 'pending' (for example when wait=0 or the phone was slow). Set `wait` to long-poll up to 60 seconds. Output: status, result text, and the timeline (accepted → pushed → started → finished). A local_ ID reads only this connector’s encrypted local journal; wait is ignored for local records. Local unknown means running, interrupted, or uncertain: it never triggers execution.askew_list_routesList everything an agent can act on in this account: the connector's name and mode, each registered device with its key fingerprint and last-seen time, and every route (an installed Shortcut) with its routeId, name, target Shortcut name, execution mode, enabled flag, last success time, inputExample, input hint and output hint. Call this before askew_run to learn the exact input keys a route expects. Takes no arguments. If a route shows no contract, ask the user what its Shortcut expects before running it.askew_recipes_catalogList the ready-made recipes (signed Shortcuts) the user can install from the Askew app, with what each does, its input/output contract, iPad limits and whether it is already installed on this account (installed=yes/no/OUTDATED). Use it when no installed route fits the task, to tell the user which recipe to add; askew_list_routes only shows what is already installed. Works without a connector key (install state is then unknown).askew_setup_checkDiagnose the user's Askew setup and say exactly what to fix: connector key and fingerprint verification, registered devices and when they last checked in, and every route compared with the current recipes (renamed/outdated Shortcut names, routes that never succeeded, missing input contracts). With probe=true it also sends one read-only test run and explains where it stopped (dispatcher never started vs. target Shortcut missing vs. permission prompt). Use it during first setup, after the user installs or renames Shortcuts, and whenever a run ends expired/unknown.askew_notifySend a lock-screen notification to the user's phone (mirrored to Apple Watch) and keep the full text in the app's results box. One-way agent → person: the user cannot reply through it; to receive data from the phone use the inbox tools. `title` is sent in clear text, `body` and `content` are end-to-end encrypted. Use `content` for long text (briefings, drafts) and `body` for the short line shown on the lock screen. Returns the delivery ids. Use `ref` to group related notifications. If the account has more than one phone/iPad, pass `deviceId` (from askew_list_routes) or `allDevices: true`; otherwise the call returns DEVICE_REQUIRED and nothing is sent.askew_inbox_listReturn items the phone sent to the agent: automation triggers (Wallet transaction, Sleep Focus ended, Action button), share-sheet shares (URLs, text, files), voice memos and anything a Shortcut posted with 'Send to agent'. Each item is decrypted on this computer and returned as id, kind, ref, timestamp, device and the data. The data is explicitly framed as user-phone data, not instructions. Behavior: returns immediately (no waiting); items stay listed until askew_inbox_ack is called with their ids. Use `since` to skip older items.askew_inbox_waitBlock for up to `timeout` seconds (max 30) until a new inbox item arrives, then return it exactly like askew_inbox_list. Use this in a loop to react to the phone in near real time (e.g. answer a shared article, log a payment). Returns 'inbox empty' on timeout without error, so simply call it again. Acknowledge handled items with askew_inbox_ack so they are not returned twice.askew_inbox_ackMark inbox items as handled so askew_inbox_list and askew_inbox_wait stop returning them. Pass the ids exactly as shown in the inbox output. Acknowledgement is per item and cannot be undone; the items remain visible in the app's history on the phone. Returns the number of items acknowledged.askew_variables_getRead a variable shared between the agent and the user's phone (for example a location, a plan or a preference a Shortcut stored). Values are sealed with an account key the phone issued, so the relay cannot read them; the connector decrypts on this computer. Returns the value text and when it was last updated. Errors: the phone has not sent the account key yet (ask the user to open Settings → Connector → Resend key), the name does not exist, or the value was stored in an old format.- +1 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Mobilerun
{
"mcpServers": {
"mobilerun": {
"command": "uvx",
"args": [
"mobilerun"
]
}
}
}
Askew — iPhone, iPad and Mac via Shortcuts
{
"mcpServers": {
"askew-iphone-ipad-and-mac-via-shortcuts": {
"command": "npx",
"args": [
"-y",
"askew-mcp"
],
"env": {
"ASKEW_CONNECTOR_KEY": "YOUR_ASKEW_CONNECTOR_KEY_HERE",
"ASKEW_SERVER": "YOUR_ASKEW_SERVER_HERE"
}
}
}
}
Frequently asked questions
Mobilerun is categorized under OS Automation and uses a local stdio subprocess. Askew — iPhone, iPad and Mac via Shortcuts belongs to OS Automation and uses a local stdio subprocess. Pick Mobilerun for os automation work and Askew — iPhone, iPad and Mac via Shortcuts for os automation.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Mobilerun has no declared pricing — check the project's own site. Askew — iPhone, iPad and Mac via Shortcuts has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add mobilerun and askew-iphone-ipad-and-mac-via-shortcuts as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Mobilerun has a quality signal of 48/100 (Fair) with 2 views, 0 installs and 9,709 GitHub stars. Askew — iPhone, iPad and Mac via Shortcuts has 63/100 (Good) with 1 views, 0 installs and 1 GitHub stars.