tb_list_boards
Retrieve all task boards with optional project filtering to obtain board IDs for subsequent operations.
Instructions
List all task boards, optionally filtered by project. Use this to discover board IDs after context loss.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project | No | Filter by project |
Implementation Reference
- src/tools/task-board.ts:417-433 (handler)The tool handler for 'tb_list_boards'. It calls getDb(), optionally filters boards by project using a SQL query, and returns all boards ordered by created_at DESC.
server.tool( "tb_list_boards", "List all task boards, optionally filtered by project. Use this to discover board IDs after context loss.", { project: z.string().optional().describe("Filter by project"), }, async ({ project }) => { const db = getDb(); const boards = project ? db.prepare(`SELECT * FROM boards WHERE project = ? ORDER BY created_at DESC`).all(project) : db.prepare(`SELECT * FROM boards ORDER BY created_at DESC`).all(); return { content: [{ type: "text" as const, text: JSON.stringify({ boards }) }], }; } ); - src/tools/task-board.ts:420-422 (schema)Input schema for tb_list_boards: accepts an optional 'project' string filter.
{ project: z.string().optional().describe("Filter by project"), }, - src/tools/task-board.ts:418-418 (registration)Registration call: server.tool('tb_list_boards', ...) inside registerTaskBoardTools().
"tb_list_boards", - src/server.ts:19-19 (registration)Registration is invoked via registerTaskBoardTools(server) in the createServer() function.
registerTaskBoardTools(server); - src/database/index.ts:12-30 (helper)getDb() helper that initializes and returns the SQLite database instance used by the handler.
export function getDb(): Database.Database { if (db) return db; fs.mkdirSync(path.dirname(DB_PATH), { recursive: true }); db = new Database(DB_PATH); db.pragma("journal_mode = WAL"); db.pragma("synchronous = normal"); db.pragma("cache_size = -32000"); db.pragma("temp_store = memory"); db.pragma("busy_timeout = 5000"); db.pragma("foreign_keys = ON"); const versionInfo = db.prepare("SELECT sqlite_version() as version").get() as { version: string }; console.error(`ForgeSpec MCP: SQLite ${versionInfo.version}, WAL mode enabled`); initSchema(db); return db; }