com.mcparmory/shortcut
OCI · GHCR.IO/MCPARMORY/SHORTCUT:1.0.2 · 2 COMPONENTS · SCANNED SEP 20
Track stories, organize sprints, and manage project workflows across your team
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- Malware scan not yet available for this package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 130 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability76
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 15239 tokens (~116/item across 131 items; 131 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 22 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 131 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the com.mcparmory/shortcut MCP server?
com.mcparmory/shortcut runs locally as a container image, launched with docker run --rm -i ghcr.io/mcparmory/shortcut:1.0.2. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
oci · ghcr.io/mcparmory/shortcut:1.0.2
claude mcp add com-mcparmory-shortcut -- docker run --rm -i ghcr.io/mcparmory/shortcut:1.0.2
{
"mcpServers": {
"com-mcparmory-shortcut": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/shortcut:1.0.2"
]
}
}
} {
"servers": {
"com-mcparmory-shortcut": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/shortcut:1.0.2"
]
}
}
} codex mcp add com-mcparmory-shortcut -- docker run --rm -i ghcr.io/mcparmory/shortcut:1.0.2
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-mcparmory-shortcut": {
"type": "local",
"command": [
"docker",
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/shortcut:1.0.2"
],
"enabled": true
}
}
} mcp_servers:
com-mcparmory-shortcut:
command: "docker"
args: ["run", "--rm", "-i", "ghcr.io/mcparmory/shortcut:1.0.2"] {
"McpServers": {
"com-mcparmory-shortcut": {
"Transport": "stdio",
"Command": "docker",
"Arguments": [
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/shortcut:1.0.2"
]
}
}
} {
"mcpServers": {
"com-mcparmory-shortcut": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/mcparmory/shortcut:1.0.2"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 −3
- Stability: pass → 0.80 functional
- 11 Sept 26 0
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed oci/ghcr.io/mcparmory/shortcut:1.0.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | oci |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
remove_productboard_from_epic Remove Productboard from Epic ~59
Unlink a Productboard epic from an Epic, removing the association between the two resources.
| Name | Type | Req | Description |
|---|---|---|---|
| epic-public-id | string | yes | The unique identifier of the Epic to unlink from Productboard. Must be a valid 64-bit integer. |
No output schema declared.
No examples provided.
remove_reaction_from_story_comment Remove Reaction From Story Comment ~134
Remove a reaction (emoji) from a comment on a story. Specify the story, comment, and emoji to delete the reaction.
| Name | Type | Req | Description |
|---|---|---|---|
| comment-public-id | string | yes | The unique identifier of the comment from which to remove the reaction. Must be a positive integer. |
| emoji | string | yes | The emoji short-code to remove, formatted as a colon-delimited code (e.g., `:thumbsup:` or `:thumbsup::skin-tone-4:` for variants with modifiers). |
| story-public-id | string | yes | The unique identifier of the story containing the comment. Must be a positive integer. |
No output schema declared.
No examples provided.
search_documents Search Documents ~168
Search for documents by title with optional filtering by archive status, ownership, and follow status. Supports fuzzy matching on document titles and pagination of results.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Filter by archive status: true returns archived documents, false returns non-archived documents. |
| created_by_me | boolean | – | Filter by document ownership: true returns documents created by the current user, false returns documents created by others. |
| followed_by_me | boolean | – | Filter by follow status: true returns documents the current user is following, false returns documents not followed. |
| page_size | string | – | Number of results to return per page. Must be between 1 and 250. |
| title | string | yes | Search text to match against document titles using fuzzy matching. Must be at least 1 character long. |
No output schema declared.
No examples provided.
search_epics Search Epics ~185
Search for epics using query operators and optional filters. Results support pagination via the `next` cursor to maintain stable ordering as the search index evolves.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Level of detail in results: 'full' includes all descriptions, comments, and related item details (pull requests, branches, tasks); 'slim' omits large text fields and references related items by ID on… |
| entity_types | array | – | Entity types to include in search results. Supports: epic, iteration, objective, story. Defaults to story and epic if not specified. |
| page_size | string | – | Number of results per page, between 1 and 250 inclusive. Defaults to a standard page size if not specified. |
| query | string | yes | Search query using supported operators (see search operators documentation). Must be at least 1 character long. |
No output schema declared.
No examples provided.
search_epics_and_stories Search Epics and Stories ~202
Search for Epics and Stories using search operators and filters. Results are ranked and paginated; use the `next` value from previous responses to maintain stable ordering across pages.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Level of detail in results: 'full' includes all descriptions, comments, and related item details (pull requests, branches, tasks); 'slim' omits large text fields and references related items by ID on… |
| entity_types | array | – | Entity types to include in search results. Supports: epic, iteration, objective, story. Defaults to story and epic if not specified. Provide as an array of entity type strings. |
| page_size | string | – | Number of results per page, between 1 and 250 inclusive. Defaults to a standard page size if not specified. |
| query | string | yes | Search query using supported search operators (see help documentation). Must be at least 1 character long. |
No output schema declared.
No examples provided.
search_iterations Search Iterations ~195
Search for iterations using query operators and filters. Results are ordered by search ranking and can be paginated using the next cursor from previous responses to maintain stable ordering.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Level of detail in results. Use 'full' for complete data including descriptions, comments, and related item details, or 'slim' to omit large text fields and reference related items by ID only. Defaul… |
| entity_types | array | – | Entity types to include in search results. Accepts multiple types: epic, iteration, objective, or story. Defaults to story and epic if not specified. |
| page_size | string | – | Number of results to return per page, between 1 and 250 results. Defaults to a standard page size if not specified. |
| query | string | yes | Search query using supported search operators. Must be at least 1 character long. See search operators documentation for syntax and available filters. |
No output schema declared.
No examples provided.
search_milestones Search Milestones ~176
Search for milestones using query operators and filters. Results are paginated and support stable ordering through cursor-based navigation.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Level of detail in results: 'full' includes all descriptions, comments, and related item details; 'slim' omits large text fields and references related items by ID only. Defaults to 'full'. |
| entity_types | array | – | Entity types to include in search results. Supports: epic, iteration, objective, story. Defaults to story and epic if not specified. Provide as an array of entity type strings. |
| page_size | string | – | Number of results per page, between 1 and 250 inclusive. Defaults to a standard page size if not specified. |
| query | string | yes | Search query using supported search operators. Must be at least 1 character long. |
No output schema declared.
No examples provided.
search_objectives Search Objectives ~185
Search for Objectives using query operators and filters. Results are ranked by relevance and can be paginated using the `next` value from previous responses to maintain stable ordering.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Level of detail in results. Use 'full' for complete data including descriptions, comments, and related item details, or 'slim' to omit large text fields and reference related items by ID only. Defaul… |
| entity_types | array | – | Entity types to include in search results. Accepts any combination of: epic, iteration, objective, story. Defaults to story and epic if not specified. |
| page_size | string | – | Number of results to return per page, between 1 and 250 results. |
| query | string | yes | Search query using supported search operators. Must be at least 1 character long. See search operators documentation for syntax details. |
No output schema declared.
No examples provided.
search_stories Search Stories ~188
Search for stories and related entities using query operators and filters. Results support pagination via the `next` cursor to maintain stable ordering as the search index evolves.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Level of detail in results: 'full' includes all descriptions, comments, and related item details; 'slim' omits large text fields and references related items by ID only. Defaults to 'full'. |
| entity_types | array | – | Entity types to include in search results. Supports: epic, iteration, objective, story. Defaults to story and epic if not specified. Provide as an array of entity type strings. |
| page_size | string | – | Number of results per page, between 1 and 250 inclusive. Defaults to a standard page size if not specified. |
| query | string | yes | Search query using supported operators (see search operators documentation). Must be at least 1 character long. |
No output schema declared.
No examples provided.
search_stories_advanced Search Stories Advanced ~522
Search and filter Stories across projects using flexible criteria including type, status, dates, assignments, and metadata. Returns matching Stories with optional description content.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Filter to include or exclude archived Stories. |
| completed_at_end | string | – | Filter Stories completed on or before this date (ISO 8601 format). |
| completed_at_start | string | – | Filter Stories completed on or after this date (ISO 8601 format). |
| created_at_end | string | – | Filter Stories created on or before this date (ISO 8601 format). |
| created_at_start | string | – | Filter Stories created on or after this date (ISO 8601 format). |
| deadline_end | string | – | Filter Stories with a deadline on or before this date (ISO 8601 format). |
| deadline_start | string | – | Filter Stories with a deadline on or after this date (ISO 8601 format). |
| epic_ids | array | – | Filter Stories associated with one or more Epics by their IDs. |
| estimate | string | – | Filter Stories by estimate points (whole number). |
| external_id | string | – | Filter Stories by external resource reference ID or URL (up to 1024 characters), useful for tracking imported items. |
| group_ids | array | – | Filter Stories associated with one or more Groups by their IDs. |
| includes_description | boolean | – | Include the full story description text in the response when true. |
| iteration_id | string | – | Filter Stories associated with a specific Iteration by its ID. |
| iteration_ids | array | – | Filter Stories associated with one or more Iterations by their IDs. |
| label_ids | array | – | Filter Stories associated with one or more Labels by their IDs. |
| label_name | string | – | Filter Stories by associated Label name (minimum 1 character). |
| project_ids | array | – | Filter Stories assigned to one or more Projects by their IDs. |
| requested_by_id | string | – | Filter Stories requested by a specific User (UUID format). |
| story_type | string | – | Filter Stories by type: feature, chore, or bug. |
| updated_at_end | string | – | Filter Stories updated on or before this date (ISO 8601 format). |
| updated_at_start | string | – | Filter Stories updated on or after this date (ISO 8601 format). |
| workflow_state_id | string | – | Filter Stories in a specific Workflow State by its unique ID. |
| workflow_state_types | array | – | Filter Stories by Workflow State type (e.g., started, completed, unstarted). |
No output schema declared.
No examples provided.
update_category Update Category ~115
Update a Category's name and/or archived status. Category names must be unique; attempting to use a name that already exists will result in an error.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Whether the Category should be archived. Set to true to archive or false to unarchive. |
| category-public-id | string | yes | The unique identifier of the Category to update. Must be a valid 64-bit integer. |
| name | string | – | The new name for the Category. Must be at least 1 character long and unique across all Categories. |
No output schema declared.
No examples provided.
update_custom_field Update Custom Field ~248
Update the definition of a custom field, including its name, description, enabled status, enum values, and icon. Enum values are ordered by their position in the collection; omit values to delete them, or include new values with only a 'value' property to create them inline.
| Name | Type | Req | Description |
|---|---|---|---|
| custom-field-public-id | string | yes | The unique identifier of the custom field to update, formatted as a UUID. |
| description | string | – | A description explaining the purpose and use of this custom field. |
| enabled | boolean | – | Whether this field is enabled for use in the workspace. Only enabled fields can be applied to stories. |
| icon_set_identifier | string | – | A frontend-controlled identifier for the icon associated with this custom field. Must be between 1 and 63 characters. |
| name | string | – | The display name of the custom field. Must be between 1 and 63 characters. |
| values | array | – | An ordered collection of enum values defining the field's domain. The order in this collection determines the sort order of values. Omit existing values to delete them; include new values as objects… |
No output schema declared.
No examples provided.
update_document Update Document ~120
Update a document's title and/or content. Supports markdown or HTML input. Connected users receive real-time SSE notifications to refresh their view, while disconnected sessions trigger cache invalidation to ensure fresh content.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | – | The new content for the document. Supports markdown or HTML format as specified by the content_format parameter. |
| doc-public-id | string | yes | The unique public identifier for the document being updated, formatted as a UUID. |
| title | string | – | The new title for the document. Must be between 1 and 256 characters long. |
No output schema declared.
No examples provided.
update_epic Update Epic ~316
Update an Epic's properties including name, description, dates, state, and relationships. Only the Epic ID is required; all other fields are optional and will only be updated if provided.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Whether the Epic is archived. Set to true to archive or false to unarchive. |
| deadline | string | – | The Epic's deadline in ISO 8601 date-time format. |
| description | string | – | The Epic's description text. Can be up to 100,000 characters long. |
| epic-public-id | string | yes | The unique identifier of the Epic to update. This is a 64-bit integer value found in the Shortcut UI. |
| epic_state_id | string | – | The 64-bit integer ID of the Epic State (e.g., Backlog, In Progress, Done) to assign to this Epic. |
| external_id | string | – | An external identifier for this Epic, useful when importing from other tools. Maximum 128 characters. |
| group_ids | array | – | An array of Group UUIDs to associate with this Epic. Order is not significant. |
| name | string | – | The Epic's display name. Must be between 1 and 256 characters long. |
| objective_ids | array | – | An array of Objective IDs to associate with this Epic. Order is not significant. |
| planned_start_date | string | – | The Epic's planned start date in ISO 8601 date-time format. |
| requested_by_id | string | – | The UUID of the team member who requested this Epic. |
No output schema declared.
No examples provided.
update_epic_comment Update Epic Comment ~106
Update the text content of an existing threaded comment on an Epic. Allows modification of comment text while preserving the comment's identity and thread context.
| Name | Type | Req | Description |
|---|---|---|---|
| comment-public-id | string | yes | The unique identifier of the Comment to update. Must be a positive integer. |
| epic-public-id | string | yes | The unique identifier of the Epic containing the comment. Must be a positive integer. |
| text | string | yes | The new text content for the comment. Replaces the existing comment text. |
No output schema declared.
No examples provided.
update_file Update File ~128
Update the metadata properties of an uploaded file, including its name, description, and external identifier. The file content itself cannot be modified through this operation.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | A descriptive text for the file, up to 4096 characters. |
| external_id | string | – | An optional external identifier you can assign to the file for tracking purposes, up to 128 characters. |
| file-public-id | string | yes | The unique identifier of the file in Shortcut (64-bit integer). |
| name | string | – | The display name of the file, between 1 and 1024 characters. |
No output schema declared.
No examples provided.
update_group Update Group ~249
Update an existing group's properties including name, description, icon, workflow settings, and membership. Allows archiving groups and modifying their configuration.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Whether the group is archived. Archived groups are typically hidden from active use but retain their data. |
| default_workflow_id | string | – | The numeric ID of the workflow to set as the default for stories created in this group. |
| description | string | – | A text description of the group, up to 4096 characters. |
| display_icon_id | string | – | The UUID of an icon to use as the group's avatar. |
| group-public-id | string | yes | The unique identifier of the group to update, formatted as a UUID. |
| member_ids | array | – | An array of member IDs to add to the group. Each ID should be a valid member identifier. |
| mention_name | string | – | The mention name for the group, used in @mentions. Must be 1-63 characters long. |
| name | string | – | The display name of the group, 1-63 characters long. |
| workflow_ids | array | – | An array of workflow IDs to associate with the group, enabling these workflows for story creation. |
No output schema declared.
No examples provided.
update_health Update Health ~108
Update the health status and description of an Epic. Modify the current health state and optional status text to reflect the Epic's current condition.
| Name | Type | Req | Description |
|---|---|---|---|
| health-public-id | string | yes | The unique identifier of the Health record to update, formatted as a UUID. |
| status | string | – | The health status level for the Epic. Must be one of: At Risk, On Track, Off Track, or No Health. |
| text | string | – | A text description providing context or details about the health status. |
No output schema declared.
No examples provided.
update_iteration Update Iteration ~210
Update an existing iteration with new metadata such as name, description, dates, and group followers. Allows partial updates—only provided fields are modified.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | A detailed description of the iteration. Maximum length is 100,000 characters. |
| end_date | string | – | The end date of the iteration in ISO 8601 format (e.g., YYYY-MM-DD). Must be a non-empty string. |
| group_ids | array | – | An array of group UUIDs to add as followers to this iteration. Currently, the web UI supports one group association at a time. |
| iteration-public-id | string | yes | The unique identifier of the iteration to update. Must be a valid 64-bit integer. |
| name | string | – | The display name of the iteration. Must be between 1 and 256 characters. |
| start_date | string | – | The start date of the iteration in ISO 8601 format (e.g., YYYY-MM-DD). Must be a non-empty string. |
No output schema declared.
No examples provided.
update_key_result Update Key Result ~132
Update a Key Result's name, initial value, observed value, or target value. Supports numeric values (up to 2 decimal places) or boolean values for the observed metric.
| Name | Type | Req | Description |
|---|---|---|---|
| boolean_value | boolean | – | The observed boolean value (true or false). |
| key-result-public-id | string | yes | The unique identifier of the Key Result to update, formatted as a UUID. |
| name | string | – | The updated name for the Key Result. Maximum length is 1024 characters. |
| numeric_value | string | – | The observed numeric value as a decimal string, limited to a maximum of two decimal places. |
No output schema declared.
No examples provided.
update_label Update Label ~143
Update a label's name, description, or archived status. The label name must be unique within the system; attempting to use a name that already exists will result in an error.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Whether the label should be archived. Set to true to archive the label, or false to unarchive it. |
| description | string | – | The new description for the label. Must not exceed 1024 characters. |
| label-public-id | string | yes | The unique identifier of the label to update. Must be a valid 64-bit integer. |
| name | string | – | The new name for the label. Must be between 1 and 128 characters long. |
No output schema declared.
No examples provided.
update_linked_file Update Linked File ~230
Update properties of a previously attached linked file, such as its name, description, associated story, or source URL. Supports files from multiple integration types including Google Drive, Dropbox, Box, OneDrive, and direct URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | A brief description of the file's purpose or content. Limited to 512 characters. |
| linked-file-public-id | string | yes | The unique identifier of the linked file to update. Must be a valid 64-bit integer. |
| name | string | – | The display name of the file. Must be at least 1 character long. |
| story_id | string | – | The ID of the story to associate with this linked file. Must be a valid 64-bit integer. |
| type | string | – | The source integration type for the file. Valid options are: google (Google Drive), url (direct link), dropbox (Dropbox), box (Box), or onedrive (OneDrive). |
| url | string | – | The web address of the linked file. Must be a valid HTTP or HTTPS URL and cannot exceed 2048 characters. |
No output schema declared.
No examples provided.
update_milestone Update Milestone ~165
Update properties of an existing milestone, including its name, description, archived status, and associated categories. Note: This operation is deprecated; use update_objective for new implementations.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Whether the milestone is archived. Set to true to archive or false to unarchive. |
| categories | array | – | An array of category IDs to attach to the milestone. Each element should be a category identifier. |
| description | string | – | The milestone's description text. Can be up to 100,000 characters long. |
| milestone-public-id | string | yes | The unique identifier of the milestone to update. Must be a valid 64-bit integer. |
| name | string | – | The display name for the milestone. Must be between 1 and 256 characters. |
No output schema declared.
No examples provided.
update_multiple_stories Update Multiple Stories ~439
Bulk update multiple stories with changes to properties like status, assignments, estimates, and metadata. Apply changes across numerous stories simultaneously to streamline project management workflows.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Archive or unarchive the selected stories. |
| custom_fields_add | array | – | Custom field values to add to the stories. Specify as a map of CustomField ID to CustomFieldEnumValue ID. |
| custom_fields_remove | array | – | Custom field values to remove from the stories. Specify as a map of CustomField ID to CustomFieldEnumValue ID. |
| deadline | string | – | The due date for the stories in ISO 8601 date-time format. |
| estimate | string | – | Point estimate for story complexity and effort. Use null to mark stories as unestimated. |
| follower_ids_add | array | – | UUIDs of team members to add as followers to the stories. Followers receive notifications about story updates. |
| follower_ids_remove | array | – | UUIDs of team members to remove from the stories' followers list. |
| iteration_id | string | – | The iteration or sprint ID to assign the stories to. |
| labels_add | array | – | Labels to add to the stories. Provide as an array of label identifiers or names. |
| labels_remove | array | – | Labels to remove from the stories. Provide as an array of label identifiers or names. |
| owner_ids_add | array | – | UUIDs of team members to add as owners to the stories. Owners are responsible for completing the work. |
| owner_ids_remove | array | – | UUIDs of team members to remove as owners from the stories. |
| requested_by_id | string | – | UUID of the team member who requested the story. |
| story_ids | array | yes | The unique identifiers of the stories to update. Required to specify which stories are affected by this bulk operation. |
| story_type | string | – | Classify the story as a feature request, bug fix, or chore. Must be one of: feature, chore, or bug. |
| workflow_state_id | string | – | The workflow state ID representing the status to move the stories to (e.g., backlog, in progress, done). |
No output schema declared.
No examples provided.
update_objective Update Objective ~164
Update an Objective's properties including its name, description, archived status, and associated categories. Use this operation to modify any aspect of an existing Objective.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | A boolean flag to archive or unarchive the Objective. Set to true to archive, false to unarchive. |
| categories | array | – | An array of Category IDs to attach to the Objective. Provide as a list of numeric identifiers. |
| description | string | – | The Objective's description text. Can be up to 100,000 characters long. |
| name | string | – | The name of the Objective. Must be between 1 and 256 characters long. |
| objective-public-id | string | yes | The unique identifier of the Objective to update. Must be a valid 64-bit integer. |
No output schema declared.
No examples provided.
update_project Update Project ~255
Update project properties such as name, description, team assignment, and thermometer settings. Changes are applied immediately to the specified project.
| Name | Type | Req | Description |
|---|---|---|---|
| abbreviation | string | – | A short abbreviation for the project used in story summaries. Recommended to keep to 3 characters or fewer. |
| archived | boolean | – | Whether the project is archived. Set to true to archive the project or false to unarchive it. |
| days_to_thermometer | string | – | The number of days before the thermometer indicator appears in story summaries. Must be a non-negative 64-bit integer. |
| description | string | – | The project's description text. Can be up to 100,000 characters long. |
| name | string | – | The project's display name. Must be between 1 and 128 characters long. |
| project-public-id | string | yes | The unique identifier of the project to update. Must be a valid 64-bit integer. |
| show_thermometer | boolean | – | Enable or disable thermometer indicators in story summaries. Set to true to show thermometers or false to hide them. |
| team_id | string | – | The 64-bit integer ID of the team this project belongs to. Use this to reassign the project to a different team. |
No output schema declared.
No examples provided.
update_story Update Story ~509
Update one or more properties of an existing story, including its metadata, relationships, and workflow state. Changes are applied immediately and replace the current values for any fields provided.
| Name | Type | Req | Description |
|---|---|---|---|
| archived | boolean | – | Whether the story is archived. Set to true to archive the story or false to unarchive it. |
| branch_ids | array | – | An array of branch IDs to attach to this story. The order and specific format depend on your version control system integration. |
| commit_ids | array | – | An array of commit IDs to attach to this story. The order and specific format depend on your version control system integration. |
| deadline | string | – | The due date for this story in ISO 8601 date-time format. |
| description | string | – | A detailed description of the story, up to 100,000 characters in length. |
| estimate | string | – | The point estimate for this story as a 64-bit integer, or null to mark the story as unestimated. |
| iteration_id | string | – | The 64-bit integer ID of the iteration (sprint or planning cycle) this story belongs to. |
| name | string | – | The title of the story, between 1 and 512 characters in length. |
| parent_story_id | string | – | The 64-bit integer ID of the parent story, making this story a sub-task. Set to null to remove the parent relationship and make this story independent. |
| pull_request_ids | array | – | An array of pull or merge request IDs to attach to this story. The order and specific format depend on your version control system integration. |
| requested_by_id | string | – | The UUID of the team member who requested this story. |
| story-public-id | string | yes | The unique identifier of the story to update. This is a 64-bit integer that uniquely identifies the story within the system. |
| story_type | string | – | The category of work this story represents: 'feature' for new functionality, 'bug' for defects, or 'chore' for maintenance tasks. |
| sub_tasks | array | – | An array of story IDs to set as sub-tasks of this story. This represents the complete final state—stories not in this list will be unlinked, new stories will be linked, and the array order determines… |
| workflow_state_id | string | – | The 64-bit integer ID of the workflow state to move this story into (e.g., 'To Do', 'In Progress', 'Done'). |
No output schema declared.
No examples provided.
update_story_comment Update Story Comment ~93
Update the text content of an existing comment within a story. The comment text can be up to 100,000 characters.
| Name | Type | Req | Description |
|---|---|---|---|
| comment-public-id | string | yes | The unique identifier of the comment to update. |
| story-public-id | string | yes | The unique identifier of the story containing the comment to update. |
| text | string | yes | The new comment text content, up to 100,000 characters in length. |
No output schema declared.
No examples provided.
update_story_link Update Story Link ~150
Updates the relationship type and/or the connected stories for an existing story link. Modify how two stories are related or change which stories are linked together.
| Name | Type | Req | Description |
|---|---|---|---|
| object_id | string | – | The ID of the object story in the relationship. Must be a positive integer if provided. |
| story-link-public-id | string | yes | The unique identifier of the story link to update. Must be a positive integer. |
| subject_id | string | – | The ID of the subject story in the relationship. Must be a positive integer if provided. |
| verb | string | – | The type of relationship between the stories. Choose from: blocks (one story blocks another), duplicates (stories are duplicates), or relates to (general relationship). |
No output schema declared.
No examples provided.
update_task Update Task ~128
Update properties of a specific task within a story, such as its description or completion status.
| Name | Type | Req | Description |
|---|---|---|---|
| complete | boolean | – | Whether the task is complete. Set to true to mark the task as done, or false to mark it as incomplete. |
| description | string | – | The task's description text. Must be between 1 and 2048 characters long. |
| story-public-id | string | yes | The unique identifier of the parent story containing the task. Must be a positive integer. |
| task-public-id | string | yes | The unique identifier of the task to update. Must be a positive integer. |
No output schema declared.
No examples provided.
upload_files Upload Files ~199
Upload one or more files to the system, optionally associating them with a specific story. Files are submitted using multipart/form-data encoding with each file assigned to a separate form field.
| Name | Type | Req | Description |
|---|---|---|---|
| file0 | string | yes | Base64-encoded file content for upload. The primary file to upload. This parameter is required; at least one file must be provided in the request. |
| file1 | string | – | Base64-encoded file content for upload. An optional additional file to upload alongside file0. |
| file2 | string | – | Base64-encoded file content for upload. An optional additional file to upload alongside file0 and file1. |
| file3 | string | – | Base64-encoded file content for upload. An optional additional file to upload alongside file0, file1, and file2. |
| story_id | string | – | The ID of the story to associate these uploaded files with. If omitted, files are uploaded without story association. |
No output schema declared.
No examples provided.
What is the com.mcparmory/shortcut MCP server?
com.mcparmory/shortcut is an MCP server listed in the public MCP registry as com.mcparmory/shortcut. Track stories, organize sprints, and manage project workflows across your team. This page covers its container image (ghcr.io/mcparmory/shortcut:1.0.2).
Is the com.mcparmory/shortcut MCP server safe to use?
com.mcparmory/shortcut scores 50 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.mcparmory/shortcut MCP server expose?
com.mcparmory/shortcut exposes 131 tools: list_categories, create_category, get_category, update_category, delete_category, and 126 more. Their descriptions and schemas cost roughly 15,239 tokens of context every time the server is loaded.
Is the com.mcparmory/shortcut MCP server still maintained?
com.mcparmory/shortcut is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.