Skip to main content
Glama

create-labels

Create custom labels on Trello boards to organize and categorize cards using specific colors and names for better visual management.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
labelsYes

Implementation Reference

  • Handler function that creates multiple labels on Trello boards using batch API calls.
    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,
    		};
    	}
    }
  • Input schema for the create-labels tool using Zod validation.
    {
    	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 with 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,
    			};
    		}
    	}
    );

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

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