get-list-board
Retrieve the Trello board associated with a specific list using its ID to manage project organization and access board-level information.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ID of the list to get board for | |
| fields | No | Comma-separated list of board fields to include |
Implementation Reference
- src/tools/lists.ts:335-375 (handler)Handler function that checks for credentials, constructs the Trello API URL for retrieving the board associated with the given list ID, optionally includes fields, fetches the data, stringifies it as text content, or returns an error response.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:331-334 (schema)Input schema using Zod validation: requires listId (string), optional fields (string).{ 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'), },
- src/tools/lists.ts:328-376 (registration)Local registration of the 'get-list-board' tool within registerListsTools function, specifying name, input schema, and inline handler.// GET /lists/{id}/board - Get the board of a list 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/index.ts:89-89 (registration)Top-level call to registerListsTools which registers the 'get-list-board' tool (among other lists tools) to the MCP server.registerListsTools(server, credentials);