stories-create-comment
Add comments to Shortcut stories to document progress, provide feedback, or share updates with team members directly from AI development environments.
Instructions
Create a comment on a story
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| storyPublicId | Yes | The public ID of the story | |
| text | Yes | The text of the comment |
Implementation Reference
- src/tools/stories.ts:585-598 (handler)The handler function that implements the core logic of the 'stories-create-comment' tool. It validates inputs, fetches the story, creates the comment using the ShortcutClientWrapper, and returns a success message with the comment URL.async createStoryComment({ storyPublicId, text }: { storyPublicId: number; text: string }) { if (!storyPublicId) throw new Error("Story public ID is required"); if (!text) throw new Error("Story comment text is required"); const story = await this.client.getStory(storyPublicId); if (!story) throw new Error(`Failed to retrieve Shortcut story with public ID: ${storyPublicId}`); const storyComment = await this.client.createStoryComment(storyPublicId, { text }); return this.toResult( `Created comment on story sc-${storyPublicId}. Comment URL: ${storyComment.app_url}.`, ); }
- src/tools/stories.ts:250-252 (schema)Zod schema defining the input parameters for the tool: storyPublicId (positive number) and text (non-empty string). Used in the tool registration for input validation.storyPublicId: z.number().positive().describe("The public ID of the story"), text: z.string().min(1).describe("The text of the comment"), },
- src/tools/stories.ts:246-254 (registration)Registers the 'stories-create-comment' tool on the CustomMcpServer using addToolWithWriteAccess, providing the tool name, description, input schema, and reference to the handler function.server.addToolWithWriteAccess( "stories-create-comment", "Create a comment on a story", { storyPublicId: z.number().positive().describe("The public ID of the story"), text: z.string().min(1).describe("The text of the comment"), }, async (params) => await tools.createStoryComment(params), );
- src/server.ts:47-47 (registration)Top-level invocation of StoryTools.create which adds all story-related tools, including 'stories-create-comment', to the MCP server.StoryTools.create(client, server);