Connectors · Work & projects
Shortcut MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Shortcut and the rest of your systems. It gives your agent 142 Shortcut actions (71 reads, 50 writes and 21 that wait for a confirmation) and holds the Shortcut credential itself, so the agent never does. It paces Shortcut's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "shortcut.members.list_members", intent: "check which Shortcut account is connected"}# List members · read · 1 upstream call- 142actionsin one signed file
- 71readlook, never change
- 50writecreate and update
- 21wait for a yesdestructive, confirmed first
Set up
Connect Shortcut in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Shortcut.
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_tokenShortcut API token
account { op: "connections.requirements", service: "shortcut" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "shortcut.members.list_members" }# list members · read · 1 upstream callcheck { action: "shortcut.stories.create_story", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Shortcut at a glance
- Sign-in
- API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_token- Limits we pace to
- 200 calls a minute, per connection
- API covered
- Shortcut API v3
api.app.shortcut.com - Built from
- Shortcut's documentation, read 19 September 2026developer.shortcut.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 71 of 71 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 8 in the store
- Shared entities
- 4, so ask can line Shortcut up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Shortcut.
142 actions in 34 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 71readlook, never change
- 50writecreate and update
- 21destructivewait for a confirmation
Epics
85 read · 2 write · 1 destructive
List epic stories · Get epic · Create epic · List epics
Iterations
83 read · 4 write · 1 destructive
List iterations · Create iteration · Get iteration · Disable iterations
Categories
74 read · 2 write · 1 destructive
List category milestones · List category objectives · List categories · Create category
Entity templates
72 read · 4 write · 1 destructive
List entity templates · Create entity template · Get entity template · Disable story templates
Labels
74 read · 2 write · 1 destructive
List label stories · List label epics · List labels · Create label
Search
77 read · 0 write · 0 destructive
Search stories · Search epics · Search documents · Search iterations
Epic comments
62 read · 3 write · 1 destructive
Create epic comment · Create epic comment comment · List epic comments · Get epic comment
Milestones
63 read · 2 write · 1 destructive
List milestone epics · Create milestone · List milestones · Update milestone
26 more areas · 86 actions
- Objectives 6
- Projects 6
- Stories 6
- Story comments 6
- Documents 5
- Groups 5
- Linked files 5
- Custom fields 4
- Files 4
- Story links 4
- Story tasks 4
- Document epics 3
- Epic health 3
- Integrations 3
- Members 3
- Objective health 3
- Stories bulk 3
- Key results 2
- Repositories 2
- Story comment reactions 2
- Workflows 2
- Epic workflow 1
- External links 1
- Health 1
- Story history 1
- Story sub tasks 1
Top actions
The Shortcut API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 108 of Shortcut's 114 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
shortcut.stories.get_storyGet story | Get Story | read | work.task.get124 connectors |
shortcut.stories.create_storyCreate story | Create Story | write | work.task.create127 connectors |
shortcut.story_comments.get_story_commentGet story comment | Get Story Comment | read | work.task_comment.get18 connectors |
shortcut.groups.get_groupGet group | Get Group | read | identity.group.get212 connectors |
shortcut.story_comments.create_story_commentCreate story comment | Create Story Comment | write | work.task_comment.create28 connectors |
shortcut.members.get_memberGet member | Get Member | read | work.workspace_member.get11 connectors |
shortcut.stories.delete_storyDelete story | Delete Story | destructive | work.task.delete107 connectors |
shortcut.members.list_membersList members | List Members | read | work.workspace_member.list26 connectors |
shortcut.groups.list_groupsList groups | List Groups | read | identity.group.list262 connectors |
shortcut.projects.list_projectsList projects | List Projects | read | work.project.list109 connectors |
shortcut.projects.create_projectCreate project | Create Project | write | work.project.create102 connectors |
shortcut.epics.get_epicGet epic | Get Epic | read | work.epic.get2 connectors |
Try it
Prompts to paste into Claude.
Each one names the Shortcut actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Shortcut tasks are overdue, and who owns each one?
calls
shortcut.stories.get_story - Planwrite
Report progress on an objective and record its health in Shortcut.
calls
shortcut.objectives.get_objectiveshortcut.objectives.list_objective_epicsshortcut.epics.list_epic_storiesshortcut.objective_health.create_objective_healthshortcut.objective_health.list_objective_healths - Planwrite
Archive a finished epic after sign-off in Shortcut. Ask me before anything is sent or changed.
calls
shortcut.epics.get_epicshortcut.epics.list_epic_storiesshortcut.epic_health.create_epic_healthshortcut.epics.update_epic - Writewrite
Create story in Shortcut. Show me exactly what you will send before you save it.
calls
shortcut.stories.create_story
The plan store
Ready-made plans for Shortcut.
8 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.
Roll up health for every epic on a milestone
Use it when Someone asks how the epics under a milestone are tracking before a delivery review.
Triage unowned bugs into an epic
Use it when The bug queue has gone stale and someone wants each open bug nudged for an owner.
Open an iteration and seed its kickoff doc
Use it when A new iteration is starting and it needs a record, a kickoff doc and an epic note.
Create a story from a template and add its checklist
Use it when A repeatable piece of work needs raising from a template together with its standard checklist.
Archive a finished epic after sign-off
Use it when An epic looks finished and someone wants it archived with a sign-off trail.
A person decides
Archive epic name, which still lists number of items stories.
Move a label's stories onto an epic after approval
Use it when A batch of labelled stories belongs under one epic and needs moving in one go.
A person decides
Move number of items stories labelled name onto epic name.
Report progress on an objective and record its health
Use it when A quarterly objective needs a written progress check backed by its epic detail.
Delete a label once nothing uses it
Use it when A label looks obsolete and someone wants it removed safely rather than left to rot.
A person decides
Delete label name, still on number of items stories and number of items epics.
account { op: "plans.install", slug: "shortcut-epic-health-rollup" }
# then ask for it by name; a schedule can run it on a timetableGovernance for Shortcut
Destructive actions wait for a yes.
21 Shortcut actions are destructive. These are all of them:
- Delete story
shortcut.stories.delete_story - Delete multiple stories
shortcut.stories_bulk.delete_multiple_stories - Delete story comment
shortcut.story_comments.delete_story_comment - Delete project
shortcut.projects.delete_project - Delete epic
shortcut.epics.delete_epic - Delete label
shortcut.labels.delete_label - Delete milestone
shortcut.milestones.delete_milestone - Delete file
shortcut.files.delete_file - Delete doc
shortcut.documents.delete_doc - Delete story link
shortcut.story_links.delete_story_link - Unlink document from epic
shortcut.document_epics.unlink_document_from_epic - Delete objective
shortcut.objectives.delete_objective - Delete iteration
shortcut.iterations.delete_iteration - Delete story reaction
shortcut.story_comment_reactions.delete_story_reaction - Delete entity template
shortcut.entity_templates.delete_entity_template - Delete linked file
shortcut.linked_files.delete_linked_file - Delete epic comment
shortcut.epic_comments.delete_epic_comment - Delete generic integration
shortcut.integrations.delete_generic_integration - Delete task
shortcut.story_tasks.delete_task - Delete custom field
shortcut.custom_fields.delete_custom_field - Delete category
shortcut.categories.delete_category
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete story?
intent: the user asked me to delete story
account { op: "keys.create", name: "shortcut-agent", allowed_actions: ["shortcut.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "shortcut.stories.delete_story", approver: "[email protected]" }, { match: "shortcut.stories_bulk.delete_multiple_stories", approver: "[email protected]" }, { match: "shortcut.story_comments.delete_story_comment", approver: "[email protected]" } ]}Cost
What Shortcut costs on actionlake.
Every Shortcut action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Shortcut refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 142 Shortcut actions
- 142actions pageeach page of a long list is one call
- 71reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Shortcut action.
142 actions by area: the id your agent calls, what it does, and its effect.
Epics8
shortcut.epics.create_epicCreate epicwriteshortcut.epics.delete_epicDelete epicdestructiveshortcut.epics.get_epicGet epicreadshortcut.epics.list_epic_documentsList epic documentsreadshortcut.epics.list_epic_storiesList epic storiesreadshortcut.epics.list_epicsList epicsreadshortcut.epics.list_epics_paginatedList epics paginatedreadshortcut.epics.update_epicUpdate epicwrite
Iterations8
shortcut.iterations.create_iterationCreate iterationwriteshortcut.iterations.delete_iterationDelete iterationdestructiveshortcut.iterations.disable_iterationsDisable iterationswriteshortcut.iterations.enable_iterationsEnable iterationswriteshortcut.iterations.get_iterationGet iterationreadshortcut.iterations.list_iteration_storiesList iteration storiesreadshortcut.iterations.list_iterationsList iterationsreadshortcut.iterations.update_iterationUpdate iterationwrite
Categories7
shortcut.categories.create_categoryCreate categorywriteshortcut.categories.delete_categoryDelete categorydestructiveshortcut.categories.get_categoryGet categoryreadshortcut.categories.list_categoriesList categoriesreadshortcut.categories.list_category_milestonesList category milestonesreadshortcut.categories.list_category_objectivesList category objectivesreadshortcut.categories.update_categoryUpdate categorywrite
Entity templates7
shortcut.entity_templates.create_entity_templateCreate entity templatewriteshortcut.entity_templates.delete_entity_templateDelete entity templatedestructiveshortcut.entity_templates.disable_story_templatesDisable story templateswriteshortcut.entity_templates.enable_story_templatesEnable story templateswriteshortcut.entity_templates.get_entity_templateGet entity templatereadshortcut.entity_templates.list_entity_templatesList entity templatesreadshortcut.entity_templates.update_entity_templateUpdate entity templatewrite
Labels7
shortcut.labels.create_labelCreate labelwriteshortcut.labels.delete_labelDelete labeldestructiveshortcut.labels.get_labelGet labelreadshortcut.labels.list_label_epicsList label epicsreadshortcut.labels.list_label_storiesList label storiesreadshortcut.labels.list_labelsList labelsreadshortcut.labels.update_labelUpdate labelwrite
Search7
shortcut.search.searchSearchreadshortcut.search.search_documentsSearch documentsreadshortcut.search.search_epicsSearch epicsreadshortcut.search.search_iterationsSearch iterationsreadshortcut.search.search_milestonesSearch milestonesreadshortcut.search.search_objectivesSearch objectivesreadshortcut.search.search_storiesSearch storiesread
Epic comments6
shortcut.epic_comments.create_epic_commentCreate epic commentwriteshortcut.epic_comments.create_epic_comment_commentCreate epic comment commentwriteshortcut.epic_comments.delete_epic_commentDelete epic commentdestructiveshortcut.epic_comments.get_epic_commentGet epic commentreadshortcut.epic_comments.list_epic_commentsList epic commentsreadshortcut.epic_comments.update_epic_commentUpdate epic commentwrite
Milestones6
shortcut.milestones.create_milestoneCreate milestonewriteshortcut.milestones.delete_milestoneDelete milestonedestructiveshortcut.milestones.get_milestoneGet milestonereadshortcut.milestones.list_milestone_epicsList milestone epicsreadshortcut.milestones.list_milestonesList milestonesreadshortcut.milestones.update_milestoneUpdate milestonewrite
Objectives6
shortcut.objectives.create_objectiveCreate objectivewriteshortcut.objectives.delete_objectiveDelete objectivedestructiveshortcut.objectives.get_objectiveGet objectivereadshortcut.objectives.list_objective_epicsList objective epicsreadshortcut.objectives.list_objectivesList objectivesreadshortcut.objectives.update_objectiveUpdate objectivewrite
Projects6
shortcut.projects.create_projectCreate projectwriteshortcut.projects.delete_projectDelete projectdestructiveshortcut.projects.get_projectGet projectreadshortcut.projects.list_projectsList projectsreadshortcut.projects.list_storiesList storiesreadshortcut.projects.update_projectUpdate projectwrite
Stories6
shortcut.stories.create_storyCreate storywriteshortcut.stories.create_story_from_templateCreate story from templatewriteshortcut.stories.delete_storyDelete storydestructiveshortcut.stories.get_storyGet storyreadshortcut.stories.query_storiesQuery storiesreadshortcut.stories.update_storyUpdate storywrite
Story comments6
shortcut.story_comments.create_story_commentCreate story commentwriteshortcut.story_comments.delete_story_commentDelete story commentdestructiveshortcut.story_comments.get_story_commentGet story commentreadshortcut.story_comments.list_story_commentList story commentreadshortcut.story_comments.unlink_comment_thread_from_slackUnlink comment thread from slackwriteshortcut.story_comments.update_story_commentUpdate story commentwrite
Documents5
shortcut.documents.create_docCreate docwriteshortcut.documents.delete_docDelete docdestructiveshortcut.documents.get_docGet docreadshortcut.documents.list_docsList docsreadshortcut.documents.update_docUpdate docwrite
Groups5
shortcut.groups.create_groupCreate groupwriteshortcut.groups.get_groupGet groupreadshortcut.groups.list_group_storiesList group storiesreadshortcut.groups.list_groupsList groupsreadshortcut.groups.update_groupUpdate groupwrite
Linked files5
shortcut.linked_files.create_linked_fileCreate linked filewriteshortcut.linked_files.delete_linked_fileDelete linked filedestructiveshortcut.linked_files.get_linked_fileGet linked filereadshortcut.linked_files.list_linked_filesList linked filesreadshortcut.linked_files.update_linked_fileUpdate linked filewrite
Custom fields4
shortcut.custom_fields.delete_custom_fieldDelete custom fielddestructiveshortcut.custom_fields.get_custom_fieldGet custom fieldreadshortcut.custom_fields.list_custom_fieldsList custom fieldsreadshortcut.custom_fields.update_custom_fieldUpdate custom fieldwrite
Files4
shortcut.files.delete_fileDelete filedestructiveshortcut.files.get_fileGet filereadshortcut.files.list_filesList filesreadshortcut.files.update_fileUpdate filewrite
Story links4
shortcut.story_links.create_story_linkCreate story linkwriteshortcut.story_links.delete_story_linkDelete story linkdestructiveshortcut.story_links.get_story_linkGet story linkreadshortcut.story_links.update_story_linkUpdate story linkwrite
Story tasks4
shortcut.story_tasks.create_taskCreate taskwriteshortcut.story_tasks.delete_taskDelete taskdestructiveshortcut.story_tasks.get_taskGet taskreadshortcut.story_tasks.update_taskUpdate taskwrite
Document epics3
shortcut.document_epics.link_document_to_epicLink document to epicwriteshortcut.document_epics.list_document_epicsList document epicsreadshortcut.document_epics.unlink_document_from_epicUnlink document from epicdestructive
Epic health3
shortcut.epic_health.create_epic_healthCreate epic healthwriteshortcut.epic_health.get_epic_healthGet epic healthreadshortcut.epic_health.list_epic_healthsList epic healthsread
Integrations3
shortcut.integrations.create_generic_integrationCreate generic integrationwriteshortcut.integrations.delete_generic_integrationDelete generic integrationdestructiveshortcut.integrations.get_generic_integrationGet generic integrationread
Members3
shortcut.members.get_current_member_infoGet current member inforeadshortcut.members.get_memberGet memberreadshortcut.members.list_membersList membersread
Objective health3
shortcut.objective_health.create_objective_healthCreate objective healthwriteshortcut.objective_health.get_objective_healthGet objective healthreadshortcut.objective_health.list_objective_healthsList objective healthsread
Stories bulk3
shortcut.stories_bulk.create_multiple_storiesCreate multiple storieswriteshortcut.stories_bulk.delete_multiple_storiesDelete multiple storiesdestructiveshortcut.stories_bulk.update_multiple_storiesUpdate multiple storieswrite
Key results2
shortcut.key_results.get_key_resultGet key resultreadshortcut.key_results.update_key_resultUpdate key resultwrite
Repositories2
shortcut.repositories.get_repositoryGet repositoryreadshortcut.repositories.list_repositoriesList repositoriesread
Story comment reactions2
shortcut.story_comment_reactions.create_story_reactionCreate story reactionwriteshortcut.story_comment_reactions.delete_story_reactionDelete story reactiondestructive
Workflows2
shortcut.workflows.get_workflowGet workflowreadshortcut.workflows.list_workflowsList workflowsread
Epic workflow1
shortcut.epic_workflow.get_epic_workflowGet epic workflowread
External links1
shortcut.external_links.get_external_link_storiesGet external link storiesread
Health1
shortcut.health.update_healthUpdate healthwrite
Story history1
shortcut.story_history.story_historyStory historyread
Story sub tasks1
shortcut.story_sub_tasks.list_story_sub_tasksList story sub tasksread
Questions
The Shortcut MCP server, answered.
Is there a Shortcut MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 142 Shortcut actions across epics, iterations, categories and entity templates, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Shortcut.
What do I need to connect Shortcut?
Shortcut API token. The free call account { op: "connections.requirements", service: "shortcut" } lists exactly what to paste.
Can an AI agent delete or change things in Shortcut?
Only if its key allows it, and only with an explicit confirmation. 21 Shortcut actions are destructive, including delete story, delete multiple stories and delete story comment. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Shortcut API limit?
actionlake paces every call to the limits in the Shortcut service file: 200 calls a minute per connection. Repeated reads are answered from cache (71 Shortcut actions can be), which never reaches Shortcut.
What does a Shortcut action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (142 Shortcut actions page). Cache hits, searches, dry runs and calls Shortcut refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Shortcut API does it cover?
The Shortcut API v3 at api.app.shortcut.com. It is built from Shortcut's documentation as read on 19 September 2026. 142 actions in 34 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Shortcut data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Shortcut credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Shortcut today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.