get_board
Retrieve comprehensive board details including columns and property definitions to manage tasks and workflows in Focalboard.
Instructions
Get detailed information about a specific board, including all its columns and property definitions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| boardId | Yes | The ID of the board to retrieve |
Implementation Reference
- src/index.ts:46-59 (registration)Registration of the 'get_board' MCP tool, including its name, description, and input schema definition.{ name: 'get_board', description: 'Get detailed information about a specific board, including all its columns and property definitions.', inputSchema: { type: 'object', properties: { boardId: { type: 'string', description: 'The ID of the board to retrieve' } }, required: ['boardId'] } },
- src/index.ts:276-290 (handler)MCP server request handler for the 'get_board' tool: parses input arguments, validates boardId, calls FocalboardClient.getBoard, and returns the result as formatted JSON text content.case 'get_board': { const boardId = args?.boardId as string; if (!boardId) { throw new Error('boardId is required'); } const board = await focalboard.getBoard(boardId); return { content: [ { type: 'text', text: JSON.stringify(board, null, 2) } ] }; }
- src/focalboard-client.ts:158-160 (handler)Implementation of the getBoard method in FocalboardClient: performs an authenticated GET request to the Focalboard API endpoint /boards/{boardId} to fetch the board details.async getBoard(boardId: string): Promise<Board> { return this.makeRequest<Board>(`/boards/${boardId}`); }
- src/types.ts:46-65 (schema)TypeScript interface defining the Board structure, which represents the output data type returned by the get_board tool.export interface Board { id: string; teamId: string; channelId: string; createdBy: string; modifiedBy: string; type: string; // 'O' (open) or 'P' (private) minimumRole: string; title: string; description: string; icon: string; showDescription: boolean; isTemplate: boolean; templateVersion: number; properties: Record<string, any>; cardProperties: PropertyTemplate[]; createAt: number; updateAt: number; deleteAt: number; }