Shortcut MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SHORTCUT_API_TOKEN | Yes | Your Shortcut API token |
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 |
|---|---|
| users-get-currentA | Get the current user. |
| users-get-current-teamsA | Get a list of teams where the current user is a member. |
| users-listB | Get all users. |
| stories-get-by-idA | Get a Shortcut story by public ID. |
| stories-get-historyA | Get the change history for a Shortcut story. |
| stories-searchC | Find Shortcut stories. |
| stories-get-branch-nameB | Get a valid git branch name for a story. |
| stories-createA | Create a new Shortcut story. Requires name and either team or workflow. |
| stories-updateA | Update a Shortcut story. Only provide fields to update. |
| stories-upload-fileB | Upload a file and attach it to a story. |
| stories-assign-current-userB | Assign current user as story owner. |
| stories-unassign-current-userB | Remove current user as story owner. |
| stories-create-commentC | Add a comment to a story. |
| stories-create-subtaskB | Create a new sub-task story. |
| stories-add-subtaskB | Add existing story as a sub-task. |
| stories-remove-subtaskA | Remove sub-task from parent (becomes regular story). |
| stories-add-taskA | Add a task (checklist item) to a story. |
| stories-update-taskB | Update a task in a story. |
| stories-add-relationC | Add a relationship between stories. |
| stories-add-external-linkB | Add an external link to a story. |
| stories-remove-external-linkA | Remove an external link from a story. |
| stories-set-external-linksA | Replace all external links on a story. |
| stories-get-by-external-linkA | Find stories containing a specific external link. |
| iterations-get-storiesB | Get all stories in an iteration. |
| iterations-get-by-idA | Get a Shortcut iteration by public ID. |
| iterations-searchC | Find Shortcut iterations. |
| iterations-createC | Create a new Shortcut iteration. |
| iterations-updateA | Update an iteration. Only provide fields to update. |
| iterations-deleteA | Delete an iteration (cannot be undone). |
| iterations-get-activeA | Get active iterations for current user's teams. |
| iterations-get-upcomingA | Get upcoming iterations for current user's teams. |
| epics-get-by-idB | Get a Shortcut epic by public ID. |
| epics-searchC | Find Shortcut epics. |
| epics-createB | Create a new Shortcut epic. |
| epics-updateA | Update an epic. Only provide fields to update. |
| epics-create-commentB | Add a comment to an epic. |
| epics-deleteA | Delete an epic (cannot be undone). |
| objectives-get-by-idB | Get a Shortcut objective by public ID. |
| objectives-searchC | Find Shortcut objectives. |
| teams-get-by-idA | Get a Shortcut team by ID. |
| teams-listA | List all Shortcut teams. |
| workflows-get-defaultA | Get the default workflow for a team or workspace. |
| workflows-get-by-idA | Get a Shortcut workflow by ID. |
| workflows-listA | List all Shortcut workflows. |
| documents-createB | Create a new document (Markdown format). |
| documents-updateC | Update a document's title or content. |
| documents-listA | List all documents. |
| documents-searchC | Search for documents. |
| documents-get-by-idA | Get a document by ID (returns Markdown). |
| labels-listA | List all labels in the workspace. |
| labels-get-storiesA | Get all stories with a specific label. |
| labels-createB | Create a new label. |
| projects-listA | List all projects in the workspace. |
| projects-get-by-idA | Get a Shortcut project by ID. |
| projects-get-storiesA | Get all stories in a project. |
| custom-fields-listA | List custom fields and their values (for setting on stories). |
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 56 tools
Each tool targets a distinct entity or action, with clear differentiation even among many story-related tools. No overlapping purposes.
All tools follow a consistent verb_noun pattern in snake_case (e.g., epics-create, stories-add-relation). No mixing of conventions.
With 56 tools, the server is overly large for its domain, exceeding the typical 15-tool sweet spot and causing potential overhead for agents.
Core CRUD exists for most entities, but notable gaps like missing delete operations for documents and labels hinder full lifecycle coverage.