create_phase
Adds an implementation phase to a coding feature by specifying its name, description, and feature ID for structured workflow tracking.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| featureId | Yes | ||
| name | Yes | ||
| description | Yes |
Implementation Reference
- src/mcp-server.ts:404-419 (handler)The main handler function for the 'create_phase' MCP tool. It retrieves the feature, creates a new phase using the helper function, updates the feature in storage, and returns a success message with the new phase ID.async ({ featureId, name, description }) => { const feature = getFeature(featureId); if (!feature) { throw new Error(`Feature ${featureId} not found`); } const phase = createPhaseDirectly(feature, name, description); updateFeature(featureId, feature); return { content: [{ type: "text", text: `Created phase "${name}" with ID ${phase.id} for feature "${feature.name}"` }] }; }
- src/mcp-server.ts:399-403 (schema)Zod input schema validation for the 'create_phase' tool parameters: featureId, name, and description.{ featureId: z.string().min(1), name: z.string().min(1), description: z.string().min(1) },
- src/mcp-server.ts:397-420 (registration)Registration of the 'create_phase' tool on the MCP server instance using server.tool(), including inline schema and handler.server.tool( "create_phase", { featureId: z.string().min(1), name: z.string().min(1), description: z.string().min(1) }, async ({ featureId, name, description }) => { const feature = getFeature(featureId); if (!feature) { throw new Error(`Feature ${featureId} not found`); } const phase = createPhaseDirectly(feature, name, description); updateFeature(featureId, feature); return { content: [{ type: "text", text: `Created phase "${name}" with ID ${phase.id} for feature "${feature.name}"` }] }; } );
- src/mcp-server.ts:52-57 (helper)Helper function called by the create_phase handler to create and append a new Phase object to the feature's phases array.function createPhaseDirectly(feature: Feature, name: string, description: string): Phase { const newPhase = createPhaseObject(name, description); feature.phases.push(newPhase); feature.updatedAt = new Date(); return newPhase; }