Skip to main content
Glama

create-epic

Generate a new epic in Shortcut by specifying its name, owner, description, and team ID, simplifying project management and task organization.

Instructions

Create a new Shortcut epic.

Input Schema

NameRequiredDescriptionDefault
descriptionNoA description of the epic
nameYesThe name of the epic
ownerNoThe user ID of the owner of the epic
teamIdNoThe ID of a team to assign the epic to

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "description": { "description": "A description of the epic", "type": "string" }, "name": { "description": "The name of the epic", "type": "string" }, "owner": { "description": "The user ID of the owner of the epic", "type": "string" }, "teamId": { "description": "The ID of a team to assign the epic to", "type": "string" } }, "required": [ "name" ], "type": "object" }

Implementation Reference

  • Registration of the "epics-create" MCP tool, including description, input schema, and handler reference.
    server.addToolWithWriteAccess( "epics-create", "Create a new Shortcut epic.", { name: z.string().describe("The name of the epic"), owner: z.string().optional().describe("The user ID of the owner of the epic"), description: z.string().optional().describe("A description of the epic"), teamId: z.string().optional().describe("The ID of a team to assign the epic to"), }, async (params) => await tools.createEpic(params), );
  • Handler function that executes the epic creation logic using the ShortcutClientWrapper.
    async createEpic({ name, owner, teamId: group_id, description, }: { name: string; owner?: string; teamId?: string; description?: string; }): Promise<CallToolResult> { const epic = await this.client.createEpic({ name, group_id, owner_ids: owner ? [owner] : undefined, description, }); return this.toResult(`Epic created with ID: ${epic.id}.`); } }
  • Input schema (Zod) for the create epic tool parameters.
    { name: z.string().describe("The name of the epic"), owner: z.string().optional().describe("The user ID of the owner of the epic"), description: z.string().optional().describe("A description of the epic"), teamId: z.string().optional().describe("The ID of a team to assign the epic to"), },
  • src/server.ts:49-49 (registration)
    Invocation of EpicTools.create which sets up and registers all epic tools including the create tool.
    EpicTools.create(client, server);
  • ShortcutClientWrapper's createEpic helper method called by the tool handler.
    async createEpic(params: CreateEpic): Promise<Epic> { const response = await this.client.createEpic(params); const epic = response?.data ?? null; if (!epic) throw new Error(`Failed to create the epic: ${response.status}`); return epic; }

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