create-list
Add a new list to a Trello board by specifying the board ID, list name, and position. Simplify task organization and project management through structured workflows.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| boardId | Yes | ID of the board to create the list in | |
| name | Yes | Name of the list | |
| position | No | Position of the list (e.g. "top", "bottom", or a number) |
Implementation Reference
- src/tools/lists.ts:52-100 (handler)The asynchronous handler function that implements the core logic of the 'create-list' tool by making a POST request to the Trello API to create a new list.async ({ boardId, name, position = 'bottom' }) => { try { if (!credentials.apiKey || !credentials.apiToken) { return { content: [ { type: 'text', text: 'Trello API credentials are not configured', }, ], isError: true, }; } const response = await fetch( `https://api.trello.com/1/lists?key=${credentials.apiKey}&token=${credentials.apiToken}`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ name, idBoard: boardId, pos: position, }), } ); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error creating list: ${error}`, }, ], isError: true, }; } }
- src/tools/lists.ts:47-51 (schema)Zod schema defining the input parameters for the 'create-list' tool: boardId (required), name (required), position (optional).{ boardId: z.string().describe('ID of the board to create the list in'), name: z.string().describe('Name of the list'), position: z.string().optional().describe('Position of the list (e.g. "top", "bottom", or a number)'), },
- src/tools/lists.ts:46-101 (registration)Direct registration of the 'create-list' tool using McpServer.tool(), including schema and inline handler.'create-list', { boardId: z.string().describe('ID of the board to create the list in'), name: z.string().describe('Name of the list'), position: z.string().optional().describe('Position of the list (e.g. "top", "bottom", or a number)'), }, async ({ boardId, name, position = 'bottom' }) => { try { if (!credentials.apiKey || !credentials.apiToken) { return { content: [ { type: 'text', text: 'Trello API credentials are not configured', }, ], isError: true, }; } const response = await fetch( `https://api.trello.com/1/lists?key=${credentials.apiKey}&token=${credentials.apiToken}`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ name, idBoard: boardId, pos: position, }), } ); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error creating list: ${error}`, }, ], isError: true, }; } } );
- src/index.ts:88-92 (registration)Top-level registration call to registerListsTools, which registers the 'create-list' tool among others.registerBoardsTools(server, credentials); registerListsTools(server, credentials); registerCardsTools(server, credentials); registerLabelsTools(server, credentials); registerActionsTools(server, credentials);