move-card
Move Trello cards between lists or reposition them within a list using card and destination list IDs.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cardId | Yes | ID of the card to move | |
| listId | Yes | ID of the destination list | |
| position | No | Position in the list (e.g. "top", "bottom") |
Implementation Reference
- src/tools/card-tools.ts:260-275 (schema)Input schema and description for the 'move_card_to_list' tool (exact match for move-card functionality).name: "move_card_to_list", description: "Move a card to a different list. Use this tool to change the status of a card.", inputSchema: { type: "object", properties: { cardId: { type: "string", description: "ID of the card to move" }, listId: { type: "string", description: "ID of the destination list" } }, required: ["cardId", "listId"] }
- src/tools/card-tool-handlers.ts:85-88 (handler)The tool handler function that executes the logic for moving a card to a new list by calling the CardService.move_card_to_list: async (args: any) => { const cardService = ServiceFactory.getInstance().getCardService(); return cardService.moveCardToList(args.cardId, args.listId); },
- src/index.ts:97-101 (registration)MCP server registration for listing all tools, including 'move_card_to_list' via the trelloTools array.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: trelloTools }; });
- src/index.ts:125-169 (registration)MCP server registration for calling tools; dispatches to specific tool handler like move_card_to_list using trelloToolHandlers.server.setRequestHandler(CallToolRequestSchema, async (request) => { try { const toolName = request.params.name; // Use type assertion to tell TypeScript that toolName is a valid key const handler = trelloToolHandlers[toolName as keyof typeof trelloToolHandlers]; if (!handler) { throw new McpError( ErrorCode.MethodNotFound, `Unknown tool: ${toolName}` ); } // Execute the tool handler with the provided arguments const result = await handler(request.params.arguments); // Return the result return { content: [ { type: "text", text: JSON.stringify(result, null, 2) } ] }; } catch (error) { console.error("Error handling tool call:", error); // If it's already an MCP error, rethrow it if (error instanceof McpError) { throw error; } // Otherwise, wrap it in an MCP error return { content: [ { type: "text", text: `Error: ${error instanceof Error ? error.message : String(error)}` } ], isError: true }; } });
- src/services/card-service.ts:95-97 (helper)Supporting service method that implements the card move by updating the idList via Trello API.async moveCardToList(cardId: string, listId: string): Promise<TrelloCard> { return this.updateCard(cardId, { idList: listId }); }