Skip to main content
Glama

move-cards

Move Trello cards between lists or reposition them within boards to organize project workflows and track progress.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cardsYes

Implementation Reference

  • Handler function that executes the logic for moving multiple Trello cards to specified lists by making parallel PUT requests to the Trello API.
    async ({ cards }) => {
    	try {
    		if (!credentials.apiKey || !credentials.apiToken) {
    			return {
    				content: [
    					{
    						type: 'text',
    						text: 'Trello API credentials are not configured',
    					},
    				],
    				isError: true,
    			};
    		}
    
    		const results = await Promise.all(
    			cards.map(async (card) => {
    				const response = await fetch(
    					`https://api.trello.com/1/cards/${card.cardId}?key=${credentials.apiKey}&token=${credentials.apiToken}`,
    					{
    						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,
    		};
    	}
    }
  • Input schema using Zod for validating the 'move-cards' tool parameters: an array of card 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")'),
    		})
    	),
    },
  • Registration of the 'move-cards' MCP tool using server.tool() call within the registerCardsTools function, including name, schema, and handler.
    	'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 {
    			if (!credentials.apiKey || !credentials.apiToken) {
    				return {
    					content: [
    						{
    							type: 'text',
    							text: 'Trello API credentials are not configured',
    						},
    					],
    					isError: true,
    				};
    			}
    
    			const results = await Promise.all(
    				cards.map(async (card) => {
    					const response = await fetch(
    						`https://api.trello.com/1/cards/${card.cardId}?key=${credentials.apiKey}&token=${credentials.apiToken}`,
    						{
    							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:90-90 (registration)
    Top-level invocation of registerCardsTools in the main server setup, which registers the 'move-cards' tool along with other cards tools.
    registerCardsTools(server, credentials);

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/adriangrahldev/advanced-trello-mcp-server'

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