Skip to main content
Glama
kevinlin

Spec-driven Development MCP Server

by kevinlin

spec_coding_execute_start

Initiate task execution in spec-driven development by providing guidance for implementing requirements through structured workflows.

Instructions

Start the task execution phase and provide guidance for task execution

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
session_idYesSession identifier
feature_nameYesFeature name
task_idNoOptional: Specify the task ID to execute; if not specified, the next unfinished task will be executed

Implementation Reference

  • The executeStart function that implements the core logic of the 'spec_coding_execute_start' tool. It reads an 'execute-task.md' template and constructs a markdown response with execution guidance, session info, and workflow progress.
    export async function executeStart(
      params: ExecuteStartParams
    ): Promise<string> {
      const { session_id, feature_name, task_id = 'next_uncompleted' } = params;
      console.error(`[MCP] Starting execution for feature: ${feature_name}, task: ${task_id}`);
      
      // 使用 execute-task.md 模板
      const template = await readTemplate('execute-task.md', {
        feature_name,
        session_id,
        task_id
      });
      
      return `# ⚙️ Task Execution Stage (5/5)
    
    ## Feature: ${feature_name}
    
    Congratulations! Now entering the final execution stage. Based on the completed requirements, design, and task planning, let's start executing development tasks one by one.
    
    ### Workflow Progress:
    - [x] 1. Goal Collection ✅
    - [x] 2. Requirements Gathering ✅
    - [x] 3. Design Documentation ✅
    - [x] 4. Task Planning ✅
    - [x] 5. **Task Execution** ← Current Stage
    
    ---
    
    ${template}
    
    ---
    
    **Session Information**:
    - Session ID: \`${session_id}\`
    - Feature Name: \`${feature_name}\`
    - Current Task: \`${task_id}\`
    - All Documents: ✅ Completed
    
    Now please start executing the development tasks!`;
    }
  • The JSON inputSchema definition for the tool, matching the ExecuteStartParams interface, requiring session_id and feature_name, with optional task_id.
    {
      name: 'spec_coding_execute_start',
      description: 'Start the task execution phase and provide guidance for task execution',
      inputSchema: {
        type: 'object',
        properties: {
          session_id: { 
            type: 'string', 
            description: 'Session identifier' 
          },
          feature_name: { 
            type: 'string', 
            description: 'Feature name' 
          },
          task_id: { 
            type: 'string', 
            description: 'Optional: Specify the task ID to execute; if not specified, the next unfinished task will be executed' 
          }
        },
        required: ['session_id', 'feature_name']
      }
    }
  • src/server.ts:239-241 (registration)
    Registration in the tool call switch statement: dispatches calls to the executeStart handler.
    case 'spec_coding_execute_start':
      result = await executeStart(args as any);
      break;
  • src/server.ts:193-196 (registration)
    The ListTools handler returns the tools list including this tool's definition.
    server.setRequestHandler(ListToolsRequestSchema, async () => {
      console.error('[MCP] Handling list tools request');
      return { tools };
    });
  • TypeScript interface defining the input parameters, aligning with the tool's inputSchema.
    export interface ExecuteStartParams {
      session_id: string;
      feature_name: string;
      task_id?: 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