archive-card
Archive Trello cards automatically by specifying the card ID. Simplifies project management by removing clutter and maintaining organized boards.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cardId | Yes | ID of the card to archive |
Implementation Reference
- src/tools/cards.ts:414-460 (handler)The main handler function for the 'archive-card' MCP tool. It performs a PUT request to the Trello API endpoint /cards/{cardId} with body {closed: true} to archive the specified card, handles credentials check and errors, and returns the API response.async ({ cardId }) => { 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/cards/${cardId}?key=${credentials.apiKey}&token=${credentials.apiToken}`, { method: 'PUT', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ closed: true, }), } ); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error archiving card: ${error}`, }, ], isError: true, }; } }
- src/tools/cards.ts:411-413 (schema)Zod input schema validation for the 'archive-card' tool, requiring a single 'cardId' string parameter.{ cardId: z.string().describe('ID of the card to archive'), },
- src/tools/cards.ts:409-461 (registration)Direct registration of the 'archive-card' tool on the MCP server within the registerCardsTools function using server.tool(name, inputSchema, handler).server.tool( 'archive-card', { cardId: z.string().describe('ID of the card to archive'), }, async ({ cardId }) => { 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/cards/${cardId}?key=${credentials.apiKey}&token=${credentials.apiToken}`, { method: 'PUT', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ closed: true, }), } ); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error archiving card: ${error}`, }, ], isError: true, }; } } );
- src/index.ts:90-90 (registration)Top-level invocation of registerCardsTools in the main server setup, which registers the 'archive-card' tool among other cards tools.registerCardsTools(server, credentials);