create-labels
Add color-coded labels to Trello boards to organize and categorize cards for better project management.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| labels | Yes |
Implementation Reference
- src/tools/label-tool-handlers.ts:24-32 (handler)The handler function for the "create_label" tool, which extracts arguments and delegates to the LabelService.createLabel method to create a new label on a board./** * Create a new label on a board * @param args - Tool arguments * @returns Promise resolving to the created label */ create_label: async (args: any) => { const labelService = ServiceFactory.getInstance().getLabelService(); return labelService.createLabel(args.boardId, args.name, args.color); },
- src/tools/label-tools.ts:28-49 (schema)The schema definition for the "create_label" tool, specifying the input parameters: boardId, name, and color.name: "create_label", description: "Create a new label on a board. Use this tool when you need to add a new label to a board for categorizing cards.", inputSchema: { type: "object", properties: { boardId: { type: "string", description: "ID of the board" }, name: { type: "string", description: "Name of the label" }, color: { type: ["string", "null"], enum: ["green", "yellow", "orange", "red", "purple", "blue", "sky", "lime", "pink", "black", null], description: "Color of the label, or null for no color" } }, required: ["boardId", "name", "color"] } },
- src/services/label-service.ts:34-51 (helper)The core implementation in LabelService.createLabel that makes the POST request to Trello's /labels endpoint to create the label./** * Create a new label on a board * @param boardId - ID of the board * @param name - Name of the label * @param color - Color of the label * @returns Promise resolving to the created label */ async createLabel( boardId: string, name: string, color: 'green' | 'yellow' | 'orange' | 'red' | 'purple' | 'blue' | 'sky' | 'lime' | 'pink' | 'black' | null ): Promise<TrelloLabel> { return this.trelloService.post<TrelloLabel>('/labels', { idBoard: boardId, name, color }); }
- src/index.ts:97-101 (registration)Registration of the list tools handler in the MCP server, which includes the "create_label" schema from trelloTools (aggregated from labelTools).server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: trelloTools }; });
- src/index.ts:127-140 (registration)The generic tool call handler registration that dispatches to the specific "create_label" handler from trelloToolHandlers (aggregated from labelToolHandlers).const toolName = request.params.name; // Use type assertion to tell TypeScript that toolName is a valid key const handler = trelloToolHandlers[toolName as keyof typeof trelloToolHandlers]; if (!handler) { throw new McpError( ErrorCode.MethodNotFound, `Unknown tool: ${toolName}` ); } // Execute the tool handler with the provided arguments const result = await handler(request.params.arguments);