read
Retrieve backlog items from the MCP Backlog Server to view work items, filter by status or priority, and access detailed content for tracking progress.
Instructions
Read-only access to backlog items - list and view backlog work items
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Topic name to fetch a single backlog item with full content | |
| status | No | Status filter for list operation | |
| priority | No | Priority filter for list operation | |
| showAge | No | Include age information (default: true) |
Implementation Reference
- src/index.ts:55-89 (handler)Main execution handler for the 'read' tool. Handles listing all backlog items or fetching details for a specific topic, including age and staleness info.async function handleBacklogRead(args: any) { const { topic, showAge = true } = args; // If topic is provided, fetch single item if (topic) { const item = await getBacklogItem(topic); if (!item) { return `Backlog item not found: ${topic}`; } // Return full item details including description const result: any = { topic: item.topic, priority: item.priority, status: item.status, version: item.version, created: item.created, agent: item.agent, session: item.session, description: item.description, filepath: item.filepath }; if (showAge) { result.age = formatBacklogAge(item.created); result.isStale = isBacklogStale(item.created); } return JSON.stringify(result, null, 2); } // Otherwise, list items return await listBacklogItems(args); }
- src/index.ts:629-655 (schema)Input schema definition for the 'read' tool, returned by ListTools handler.{ name: "read", description: "Read-only access to backlog items - list and view backlog work items", inputSchema: { type: "object", properties: { topic: { type: "string", description: "Topic name to fetch a single backlog item with full content", }, status: { type: "string", enum: ["new", "ready", "review", "done", "reopen", "wontfix"], description: "Status filter for list operation", }, priority: { type: "string", enum: ["high", "medium", "low"], description: "Priority filter for list operation", }, showAge: { type: "boolean", description: "Include age information (default: true)", }, }, }, },
- src/index.ts:828-830 (registration)Registration/dispatch point for the 'read' tool handler in the CallToolRequestSchema switch statement.case "read": result = await handleBacklogRead(request.params.arguments); break;