move-cards
Move Trello cards between lists or reorder them within lists to organize project workflows and manage task progression.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cards | Yes |
Implementation Reference
- src/index.ts:431-470 (handler)Handler function for the 'move-cards' tool. It takes an array of cards and moves each to the specified listId using Trello API PUT requests in parallel, returning the results or error.async ({ cards }) => { try { const results = await Promise.all( cards.map(async (card) => { const response = await fetch( `https://api.trello.com/1/cards/${card.cardId}?key=${trelloApiKey}&token=${trelloApiToken}`, { method: 'PUT', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ idList: card.listId, pos: card.position || 'bottom', }), } ); return await response.json(); }) ); return { content: [ { type: 'text', text: JSON.stringify(results), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error moving cards: ${error}`, }, ], isError: true, }; } }
- src/index.ts:422-430 (schema)Input schema for the 'move-cards' tool using Zod validation: array of objects with cardId, listId, and optional position.{ cards: z.array( z.object({ cardId: z.string().describe('ID of the card to move'), listId: z.string().describe('ID of the destination list'), position: z.string().optional().describe('Position in the list (e.g. "top", "bottom")'), }) ), },
- src/index.ts:420-471 (registration)Registration of the 'move-cards' tool on the MCP server using server.tool(), including name, input schema, and handler function.server.tool( 'move-cards', { cards: z.array( z.object({ cardId: z.string().describe('ID of the card to move'), listId: z.string().describe('ID of the destination list'), position: z.string().optional().describe('Position in the list (e.g. "top", "bottom")'), }) ), }, async ({ cards }) => { try { const results = await Promise.all( cards.map(async (card) => { const response = await fetch( `https://api.trello.com/1/cards/${card.cardId}?key=${trelloApiKey}&token=${trelloApiToken}`, { method: 'PUT', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ idList: card.listId, pos: card.position || 'bottom', }), } ); return await response.json(); }) ); return { content: [ { type: 'text', text: JSON.stringify(results), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error moving cards: ${error}`, }, ], isError: true, }; } } );