Askew
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ASKEW_SERVER | No | Relay URL (http://localhost:8787 for local development) | https://api.askew.my |
| ASKEW_KEY_PATH | No | Where the private key lives | ~/.askew/connector.key |
| ASKEW_CONNECTOR_KEY | Yes | Required, akc_… from the app |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| askew_runA | Run a Shortcut (route) on the user's iPhone and get the result back. Works while the phone is locked. Input and result are end-to-end encrypted. Call askew_list_routes first: each route lists an inputExample and the input MUST use exactly those keys (dates 'YYYY-MM-DD HH:mm'); a mismatched input is rejected before anything runs. Waits up to |
| askew_get_runA | Get the status and result of a job started with askew_run (use when the run returned 'unknown'). |
| askew_list_routesA | List the routes (runnable Shortcuts), devices and connection mode registered to this account. |
| askew_notifyA | Send a notification to the user's phone and keep it in the results box (agent → person, one-way; not a conversation). |
| askew_inbox_listA | Fetch items the phone sent to the agent (trigger data, share sheet, payments…). Call askew_inbox_ack after handling them. |
| askew_inbox_waitB | Wait up to 30 seconds for a new inbox item (loop this to react immediately). |
| askew_inbox_ackA | Mark handled inbox items as acknowledged so they no longer appear. |
| askew_variables_getB | Read a variable shared with the phone (sealed with the account key the phone issued; the relay cannot read it). |
| askew_variables_setC | Write a variable shared with the phone (sealed with the account key; the phone reads it with the same key). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct concern: notification, inbox lifecycle (list/wait/ack), shared variables (get/set), and shortcut execution (run/get_run/list_routes). Overlapping tools like inbox_list and inbox_wait have clearly differentiated roles (fetch existing vs. block for new).
All tools share the askew_ prefix and use snake_case, which is consistent. Some ordering variation exists (inbox_list is noun-verb while list_routes is verb-noun, and notify/run are verb-only), but the pattern remains readable and predictable.
Nine tools is well-scoped for a mobile-bridge server. Each tool covers a necessary action (notify, handle inbox, share variables, execute shortcuts) without redundant or filler tools.
The tool surface covers the full lifecycle for each capability: inbox items can be fetched, waited on, and acknowledged; variables can be read and written; shortcut runs can be started, polled, and discovered via route listing. No critical dead ends are evident.