capstone_build_status
Check guided capstone build progress, including current step completion, criteria coverage, and quiz performance metrics.
Instructions
Check your guided capstone build progress — current step, criteria coverage, and quiz performance.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The handler function for 'capstone_build_status' tool, which fetches active build details and status, and generates a formatted progress report.
async () => { const userId = userConfig.userId; const build = getActiveBuild(db, userId); if (!build) { return { content: [{ type: 'text' as const, text: 'No active capstone build found. Use start_capstone_build to begin a guided build.', }], }; } if (build.status === 'shaping') { const lines = [ '=== CAPSTONE BUILD STATUS ===', '', `Theme: ${build.theme}`, 'Status: Shaping', '', 'Your theme is being shaped. You can:', ' - Confirm it to start building', ' - Refine it with a new description', ]; return { content: [{ type: 'text' as const, text: lines.join('\n') }], }; } // Status is 'building' const steps = getBuildSteps(db, build.id); const quizQuestionIds = collectQuizQuestionIds(steps); const quizPerformance = getQuizPerformance(db, userId, quizQuestionIds); const text = formatBuildingStatus(build.theme, build.currentStep, steps, quizPerformance); return { content: [{ type: 'text' as const, text }], }; } ); - src/tools/capstone-build-status.ts:102-148 (registration)Registration function for the 'capstone_build_status' tool on the MCP server.
export function registerCapstoneBuildStatus(server: McpServer, db: Database.Database, userConfig: UserConfig): void { server.tool( 'capstone_build_status', 'Check your guided capstone build progress \u2014 current step, criteria coverage, and quiz performance.', {}, async () => { const userId = userConfig.userId; const build = getActiveBuild(db, userId); if (!build) { return { content: [{ type: 'text' as const, text: 'No active capstone build found. Use start_capstone_build to begin a guided build.', }], }; } if (build.status === 'shaping') { const lines = [ '=== CAPSTONE BUILD STATUS ===', '', `Theme: ${build.theme}`, 'Status: Shaping', '', 'Your theme is being shaped. You can:', ' - Confirm it to start building', ' - Refine it with a new description', ]; return { content: [{ type: 'text' as const, text: lines.join('\n') }], }; } // Status is 'building' const steps = getBuildSteps(db, build.id); const quizQuestionIds = collectQuizQuestionIds(steps); const quizPerformance = getQuizPerformance(db, userId, quizQuestionIds); const text = formatBuildingStatus(build.theme, build.currentStep, steps, quizPerformance); return { content: [{ type: 'text' as const, text }], }; } ); }