Skip to main content
Glama
useshortcut

Shortcut MCP Server

Official
by useshortcut

Stories: Update

stories-update

Update a Shortcut story by providing its public ID and any fields to change.

Instructions

Update a Shortcut story. Only provide fields to update.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
epicNoEpic ID (null to unset)
nameNoStory name
typeNoStory type
labelsNoLabels to assign
team_idNoTeam UUID (null to unset)
archivedNoArchive the story
deadlineNoDue date ISO 8601 (null to unset)
estimateNoPoint estimate (null to unset)
iterationNoIteration ID (null to unset)
owner_idsNoOwner user UUIDs
project_idNoProject ID (null to unset)
descriptionNoStory description
follower_idsNoFollower user UUIDs
custom_fieldsNoCustom field values
storyPublicIdYesStory ID (required)
requested_by_idNoRequester user UUID
workflow_state_idNoWorkflow state ID

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Addedv0.23.1
  2. Removedv0.1.4
  3. Changed20 schema fields changedv0.15.1
    • addedInput schema / properties / archived
      Added value: +{
      +  "description": "Archive the story",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / custom_fields
      Added value: +{
      +  "description": "Custom field values",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "field_id": {
      +        "description": "Custom field UUID",
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "value_id": {
      +        "description": "Value UUID",
      +        "format": "uuid",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "field_id",
      +      "value_id"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / deadline
      Added value: +{
      +  "description": "Due date ISO 8601 (null to unset)",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / description / description
      Previous value: -"The description of the story"New value: +"Story description"
    • changedInput schema / properties / epic / description
      Previous value: -"The epic id of the epic the story belongs to, or null to unset"New value: +"Epic ID (null to unset)"
    • changedInput schema / properties / estimate / description
      Previous value: -"The point estimate of the story, or null to unset"New value: +"Point estimate (null to unset)"
    • addedInput schema / properties / follower_ids
      Added value: +{
      +  "description": "Follower user UUIDs",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / iteration / description
      Previous value: -"The iteration id of the iteration the story belongs to, or null to unset"New value: +"Iteration ID (null to unset)"
    • changedInput schema / properties / labels / description
      Previous value: -"Labels to assign to the story"New value: +"Labels to assign"
    • changedInput schema / properties / labels / items / properties / color / description
      Previous value: -"The color of the label"New value: +"Hex color"
    • changedInput schema / properties / labels / items / properties / description / description
      Previous value: -"The description of the label"New value: +"Label description"
    • changedInput schema / properties / labels / items / properties / name / description
      Previous value: -"The name of the label"New value: +"Label name"
    • changedInput schema / properties / name / description
      Previous value: -"The name of the story"New value: +"Story name"
    • changedInput schema / properties / owner_ids / description
      Previous value: -"Array of user UUIDs to assign as owners of the story"New value: +"Owner user UUIDs"
    • addedInput schema / properties / project_id
      Added value: +{
      +  "description": "Project ID (null to unset)",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedInput schema / properties / requested_by_id
      Added value: +{
      +  "description": "Requester user UUID",
      +  "type": "string"
      +}
    • changedInput schema / properties / storyPublicId / description
      Previous value: -"The public ID of the story to update"New value: +"Story ID (required)"
    • addedInput schema / properties / team_id
      Added value: +{
      +  "description": "Team UUID (null to unset)",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / type / description
      Previous value: -"The type of the story"New value: +"Story type"
    • changedInput schema / properties / workflow_state_id / description
      Previous value: -"The workflow state ID to move the story to"New value: +"Workflow state ID"
  4. Addedv1.0.0

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false. Description adds that updates are partial (only changed fields needed), which is useful but does not elaborate on other behavioral aspects like authentication requirements or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no waste. Front-loaded with purpose and key usage hint. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 17 parameters and no output schema, the description is minimal. It covers the core update functionality but omits guidance on return value, error scenarios, or how to use nulls to unset fields (though schema shows them). Adequate but could be more comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description reinforces partial update semantics but does not add new parameter-specific meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Update' and resource 'a Shortcut story'. The phrase 'Only provide fields to update' distinguishes it from stories-create and other sibling tools that modify stories in different ways.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies partial updates via 'Only provide fields to update', but does not explicitly state when to use this tool versus alternatives like stories-create or stories-update-task. No explicit when-not or alternative tool names provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/useshortcut/mcp-server-shortcut'

If you have feedback or need assistance with the MCP directory API, please join our Discord server