Skip to main content
Glama

create-labels

Add color-coded labels to Trello boards to organize and categorize cards for better project management.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
labelsYes

Implementation Reference

  • 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);
    },
  • 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"]
        }
    },
  • 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);

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/v4lheru/trello-mcp-server'

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