Skip to main content
Glama
kevinlin

Spec-driven Development MCP Server

by kevinlin

spec_driven_dev_design_start

Initiate the design documentation phase for a specific feature by providing structured guidance and frameworks to create design documents.

Instructions

Start the design documentation phase and provide guidance for creating design documents

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
feature_nameYesFeature name
session_idYesSession identifier

Implementation Reference

  • The handler function `designStart` that executes the tool logic: logs the start, reads a template, and returns a formatted markdown prompt for the design phase with workflow status and instructions.
    export async function designStart( params: DesignStartParams ): Promise<string> { const { session_id, feature_name } = params; console.error(`[MCP] Starting design phase for feature: ${feature_name}`); // Use gen-design.md template const template = await readTemplate('gen-design.md', { feature_name, session_id }); return `# 📝 Design Documentation Stage (3/5) ## Feature: ${feature_name} ### Workflow Progress: - [x] 1. Goal Collection ✅ - [x] 2. Requirements Gathering ✅ - [x] 3. **Design Documentation** ← Current Stage - [ ] 4. Task Planning - [ ] 5. Task Execution --- ${template} --- **Important**: - Please create design document according to the above guidelines - **Only when you explicitly confirm the design is complete can you call** \`spec_coding_design_confirmed\` tool - **Never** call the next stage tool before the user **explicitly confirms the design** **Session Information**: - Session ID: \`${session_id}\` - Feature Name: \`${feature_name}\` - Requirements: \`docs/specs/${feature_name}/requirements.md\``; }
  • The input schema definition for the 'spec_coding_design_start' tool, specifying required parameters session_id and feature_name.
    inputSchema: { type: 'object', properties: { session_id: { type: 'string', description: 'Session identifier' }, feature_name: { type: 'string', description: 'Feature name' } }, required: ['session_id', 'feature_name'] }
  • src/server.ts:223-225 (registration)
    Registration of the tool handler in the switch statement: calls designStart for 'spec_coding_design_start'.
    case 'spec_coding_design_start': result = await designStart(args as any); break;
  • src/server.ts:96-113 (registration)
    Tool registration in the tools list array used for ListToolsRequest, defining name, description, and schema.
    { name: 'spec_coding_design_start', description: 'Start the design documentation phase and provide guidance for creating design documents', inputSchema: { type: 'object', properties: { session_id: { type: 'string', description: 'Session identifier' }, feature_name: { type: 'string', description: 'Feature name' } }, required: ['session_id', 'feature_name'] } },
  • Local TypeScript interface matching the input schema for type safety in the handler.
    export interface DesignStartParams { session_id: string; feature_name: string; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kevinlin/spec-driven-dev-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server