create-labels
Create multiple color-coded labels on Trello boards to organize and categorize cards for better project management.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| labels | Yes |
Implementation Reference
- src/index.ts:548-589 (handler)Handler function that creates multiple Trello labels in parallel using the Trello API, handling errors and returning JSON results.async ({ labels }) => { try { const results = await Promise.all( labels.map(async (label) => { const response = await fetch( `https://api.trello.com/1/labels?key=${trelloApiKey}&token=${trelloApiToken}`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ name: label.name, color: label.color, idBoard: label.boardId, }), } ); return await response.json(); }) ); return { content: [ { type: 'text', text: JSON.stringify(results), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error creating labels: ${error}`, }, ], isError: true, }; } } );
- src/index.ts:526-547 (schema)Zod schema defining input as an array of label objects, each with boardId (string), name (string), and color (enum of Trello colors).{ labels: z.array( z.object({ boardId: z.string().describe('ID of the board to create the label in'), name: z.string().describe('Name of the label'), color: z .enum([ 'yellow', 'purple', 'blue', 'red', 'green', 'orange', 'black', 'sky', 'pink', 'lime', ]) .describe('Color of the label'), }) ), },
- src/index.ts:524-589 (registration)Registration of the 'create-labels' tool using server.tool(), including inline schema and handler.server.tool( 'create-labels', { labels: z.array( z.object({ boardId: z.string().describe('ID of the board to create the label in'), name: z.string().describe('Name of the label'), color: z .enum([ 'yellow', 'purple', 'blue', 'red', 'green', 'orange', 'black', 'sky', 'pink', 'lime', ]) .describe('Color of the label'), }) ), }, async ({ labels }) => { try { const results = await Promise.all( labels.map(async (label) => { const response = await fetch( `https://api.trello.com/1/labels?key=${trelloApiKey}&token=${trelloApiToken}`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ name: label.name, color: label.color, idBoard: label.boardId, }), } ); return await response.json(); }) ); return { content: [ { type: 'text', text: JSON.stringify(results), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error creating labels: ${error}`, }, ], isError: true, }; } } );