MCP for coding agents
Run your automations from Claude Code and Cursor
Every worklet and every organization in Autoworklet is an MCP server. Mint an API key, register the server with your agent, and it can read the script, run the worklet, read back the result and repair what failed. Available on every plan, Free included.
Set up in three steps
1. Create an API key
Open a worklet in Autoworklet and go to its API Access section. Create a key with
readandwriteso the agent can explore and run the worklet; addscriptif it should also edit and publish the script. The key is shown once. For every worklet and workflow in an organization at once, an org admin or manager can create an organization key from the same section. Either way, the section then prints the commands below with your ids and key filled in.No account yet? Start free and teach your first automation; the key form is on the worklet page.
2. Register the server
Claude Code: run this in the project you want the worklet available in. Add
--scope userto reach it from every project.claude mcp add --transport http your_org_invoice_sync \ https://api.autoworklet.com/v1/worklets/WORKLET_ID/mcp \ --header "x-api-key: YOUR_API_KEY"Cursor: put this in
.cursor/mcp.jsonin the project, or in~/.cursor/mcp.jsonfor every project.{ "mcpServers": { "your_org_invoice_sync": { "url": "https://api.autoworklet.com/v1/worklets/WORKLET_ID/mcp", "headers": { "x-api-key": "YOUR_API_KEY" } } } }Claude Code also reads a project-level
.mcp.jsonyou can commit for a team; it takes the same entry with"type": "http"added.{ "mcpServers": { "your_org_invoice_sync": { "type": "http", "url": "https://api.autoworklet.com/v1/worklets/WORKLET_ID/mcp", "headers": { "x-api-key": "YOUR_API_KEY" } } } }Whole organization: an organization key points at the org server instead, and the agent picks a worklet with
list_worklets.claude mcp add --transport http your_org \ https://api.autoworklet.com/v1/orgs/ORG_ID/mcp \ --header "x-api-key: YOUR_ORG_API_KEY"3. Confirm it connected
claude mcp listshould showyour_org_invoice_syncas connected (inside a session,/mcpshows the same). In Cursor, the server appears under Customize in the sidebar, and the MCP Logs output panel shows the connection. Then ask the agent to callget_worklet: the server sends its own instructions on connect, and its tools appear to the agent asmcp__your_org_invoice_sync__run_workletand so on. A401 invalid_api_keymeans the key is wrong or revoked; a tool answeringinsufficient_permissionneeds a key minted with that permission.claude mcp list
Connectors that sign in instead of pasting a key (claude.ai, ChatGPT, Claude Desktop) need only the server URL: paste it as a custom connector, sign in, approve the consent screen, and the app shows up in the worklet's API Access list where it can be revoked. The permissions you tick there are the same read, write and script.
What the agent can do
A worklet server carries the tools below. Each tool checks the permission on the key, so one connection can mix reading, running and editing. Script edits land in the draft; runs default to the draft; scheduled, triggered and REST runs keep executing the published version until the agent calls publish_worklet.
| Tool | Needs | What it does |
|---|---|---|
| get_worklet | read | Worklet metadata, project manifest, gated API families, org connections, login names, grid columns, and Teach intake status when this worklet is still in /teach. Start here. |
| list_script_files | read | List the project script files (main.py first). Pass includeContents=true to read every helper in one call. |
| read_script_file | read | Read one script file. |
| read_context_doc | read | The AutomationAPI signature catalog or the authoring guide. Optional query searches signatures by method name. |
| list_image_versions | read | Released sandbox image tags (X.Y.Z) from the live registry, plus the worklet's current pin. latest is not listed. |
| write_script_file | script | Create/update one script file in the DRAFT project. |
| delete_script_file | script | Delete a helper script (the entry script is protected). |
| publish_worklet | script | Publish the draft as the next immutable version. |
| set_image_version | script | Pin the worklet to a concrete sandbox image (X.Y.Z from the live registry). Omit version to pin the newest release. Never writes latest. |
| run_worklet | write | Queue a run; defaults to useDraft=true so the sandbox loads the draft. Optional imageVersion (newest or X.Y.Z) trials that engine on this run only. waitSeconds (1-110) long-polls for the result. |
| dry_run_worklet | write | Queue a dry-run (dryRun=true); defaults to useDraft=true. The script must call dry_run_stop before each real-world act. Refuses unless the effective image ships dry-run. Optional imageVersion trials that engine on this run only. Always strict: every barrier stops, including ones marked duplicate_tolerant=True; the tolerant policy is only set by the website's engine-upgrade trial. |
| list_runs | read | Paginated run history, newest first. |
| get_run | read | One run - status, output_vars, error, report URL, failure-probe URL, supervisor summary, intakeId when it is a Teach run, dryRun when it is a dry-run. |
| get_repair_context | read | Repair bundle: newest terminal run (or a given runId), newest finished run, text-only report timeline, failure-page listing, full supervisor write-up, Teach intake status and 3-attempt budget when they exist, and the image pin plus gated API families. Call this before editing a failing script. |
| list_sandbox_files | read | List the org sandbox folders this worklet sees. |
| get_sandbox_file_link | read | Mint a signed download URL for a sandbox file. |
| upload_sandbox_file_link | write | Mint a signed PUT URL to upload a sandbox file. |
Organization server only
An organization key reaches every worklet and workflow in the org. Every worklet tool above takes a workletId there, and these tools exist only on the org server.
| Tool | Needs | What it does |
|---|---|---|
| list_worklets | read | Every worklet in the org. The ONLY supported source of workletId - ids are never guessed and a slug is not accepted. |
| list_workflows | read | Every workflow in the org, with its member count. |
| get_workflow | read | One workflow: member worklets plus the edges between them, each edge carrying the columnMap that moves values from an upstream output column to a downstream input column. |
| dispatch_grid_rows | write | Run the rows already queued and ready on a worklet's grid. Takes an idempotency token you choose - resend the SAME one on a retry or the rows dispatch twice. |
| create_grid_link | script | Wire one worklet's grid into another's so finished rows feed the next step. Org admin or manager. |
| update_grid_link | script | Change an existing link's column map. Org admin or manager. |
| delete_grid_link | script | Stop a source grid feeding a target. Org admin or manager. |
| configure_grid_columns | script | Set a grid's full column list and roles. A new OUTPUT column usually needs no tool at all - it appears by itself on the next run of a script that calls set_output. Org admin or manager. |
| add_workflow_member | script | Put a worklet on a workflow's canvas. Membership only - call create_grid_link to make data flow. Paired with remove_workflow_member, which leaves existing links standing. Org admin or manager. |
Plans
MCP is included on every plan. A run started by an agent uses execution minutes like any other run: the Free plan includes 30 minutes a month and stops there, Starter and Pro meter the excess per minute. The REST External Run API (calling POST /runs from your own server), worklet shares and embed widgets are Pro and above; a key minted on Free or Starter still works over MCP and answers plan_upgrade_required on REST.