Skip to main content
Glama
useshortcut

Shortcut MCP Server

Official
by useshortcut

stories-set-external-links

Replace all external links on a Shortcut story with a new set of URLs to update references and resources.

Instructions

Replace all external links on a story with a new set of links

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
storyPublicIdYesThe public ID of the story
externalLinksYesArray of external link URLs to set (replaces all existing links)

Implementation Reference

  • Registration of the 'stories-set-external-links' tool, including input schema validation using Zod and reference to the handler method.
    server.addToolWithWriteAccess(
    	"stories-set-external-links",
    	"Replace all external links on a story with a new set of links",
    	{
    		storyPublicId: z.number().positive().describe("The public ID of the story"),
    		externalLinks: z
    			.array(z.string().url().max(2048))
    			.describe("Array of external link URLs to set (replaces all existing links)"),
    	},
    	async ({ storyPublicId, externalLinks }) =>
    		await tools.setStoryExternalLinks(storyPublicId, externalLinks),
    );
  • The main handler function for the 'stories-set-external-links' tool. It validates inputs, calls the Shortcut client to set the external links on the story, and returns a success message with the story URL.
    async setStoryExternalLinks(storyPublicId: number, externalLinks: string[]) {
    	if (!storyPublicId) throw new Error("Story public ID is required");
    	if (!Array.isArray(externalLinks)) throw new Error("External links must be an array");
    
    	const updatedStory = await this.client.setStoryExternalLinks(storyPublicId, externalLinks);
    
    	const linkCount = externalLinks.length;
    	const message =
    		linkCount === 0
    			? `Removed all external links from story sc-${storyPublicId}`
    			: `Set ${linkCount} external link${linkCount === 1 ? "" : "s"} on story sc-${storyPublicId}`;
    
    	return this.toResult(`${message}. Story URL: ${updatedStory.app_url}`);
    }
  • Input schema for the 'stories-set-external-links' tool using Zod for validation of storyPublicId and externalLinks array.
    {
    	storyPublicId: z.number().positive().describe("The public ID of the story"),
    	externalLinks: z
    		.array(z.string().url().max(2048))
    		.describe("Array of external link URLs to set (replaces all existing links)"),
    },

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