create-cards
Add multiple cards to Trello lists using batch operations. Specify card names, descriptions, and target list IDs to organize tasks and projects.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cards | Yes |
Implementation Reference
- src/index.ts:197-238 (handler)Handler function that creates multiple Trello cards in parallel using Promise.all, each via POST to Trello API with name, description, and listId.async ({ cards }) => { try { const results = await Promise.all( cards.map(async (card) => { const response = await fetch( `https://api.trello.com/1/cards?key=${trelloApiKey}&token=${trelloApiToken}`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ name: card.name, desc: card.description || '', idList: card.listId, pos: 'bottom', }), } ); return await response.json(); }) ); return { content: [ { type: 'text', text: JSON.stringify(results), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error creating cards: ${error}`, }, ], isError: true, }; } }
- src/index.ts:188-196 (schema)Zod input schema defining an array of card objects, each with required name and listId, optional description.{ cards: z.array( z.object({ name: z.string(), description: z.string().optional(), listId: z.string(), }) ), },
- src/index.ts:186-239 (registration)Registration of the 'create-cards' MCP tool using server.tool(name, inputSchema, handler).server.tool( 'create-cards', { cards: z.array( z.object({ name: z.string(), description: z.string().optional(), listId: z.string(), }) ), }, async ({ cards }) => { try { const results = await Promise.all( cards.map(async (card) => { const response = await fetch( `https://api.trello.com/1/cards?key=${trelloApiKey}&token=${trelloApiToken}`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ name: card.name, desc: card.description || '', idList: card.listId, pos: 'bottom', }), } ); return await response.json(); }) ); return { content: [ { type: 'text', text: JSON.stringify(results), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error creating cards: ${error}`, }, ], isError: true, }; } } );