get-list-board
Retrieve detailed board information associated with a specific Trello list by providing the list ID. Includes customizable fields for tailored project management insights.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Comma-separated list of board fields to include | |
| listId | Yes | ID of the list to get board for |
Implementation Reference
- src/tools/lists.ts:329-376 (registration)Registration of the 'get-list-board' MCP tool, including input schema (listId, optional fields) and the inline handler function that fetches board data from Trello API.server.tool( 'get-list-board', { listId: z.string().describe('ID of the list to get board for'), fields: z.string().optional().describe('Comma-separated list of board fields to include'), }, async ({ listId, fields }) => { try { if (!credentials.apiKey || !credentials.apiToken) { return { content: [ { type: 'text', text: 'Trello API credentials are not configured', }, ], isError: true, }; } const url = new URL(`https://api.trello.com/1/lists/${listId}/board`); url.searchParams.append('key', credentials.apiKey); url.searchParams.append('token', credentials.apiToken); if (fields) url.searchParams.append('fields', fields); const response = await fetch(url.toString()); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error getting list board: ${error}`, }, ], isError: true, }; } } );
- src/tools/lists.ts:335-375 (handler)The handler function for the tool. It checks for credentials, constructs the Trello API URL for /lists/{listId}/board, fetches the data, stringifies it as text content, or returns error content.async ({ listId, fields }) => { try { if (!credentials.apiKey || !credentials.apiToken) { return { content: [ { type: 'text', text: 'Trello API credentials are not configured', }, ], isError: true, }; } const url = new URL(`https://api.trello.com/1/lists/${listId}/board`); url.searchParams.append('key', credentials.apiKey); url.searchParams.append('token', credentials.apiToken); if (fields) url.searchParams.append('fields', fields); const response = await fetch(url.toString()); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error getting list board: ${error}`, }, ], isError: true, }; } }
- src/index.ts:89-89 (registration)Top-level registration call to registerListsTools, which defines and registers the 'get-list-board' tool.registerListsTools(server, credentials);
- src/tools/lists.ts:332-334 (schema)Input schema using Zod for validating tool parameters.listId: z.string().describe('ID of the list to get board for'), fields: z.string().optional().describe('Comma-separated list of board fields to include'), },