Skip to main content
Glama

Vibe-Coder MCP Server

create_phase

Define and initiate a new phase within a structured workflow for LLM-based coding projects, ensuring clear feature identification, detailed documentation, and organized implementation on the Vibe-Coder MCP Server.

Input Schema

NameRequiredDescriptionDefault
descriptionYes
featureIdYes
nameYes

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "description": { "minLength": 1, "type": "string" }, "featureId": { "minLength": 1, "type": "string" }, "name": { "minLength": 1, "type": "string" } }, "required": [ "featureId", "name", "description" ], "type": "object" }

Implementation Reference

  • Primary MCP tool registration for "create_phase". Includes inline Zod input schema (featureId: string, name: string, description: string) and the async handler that validates feature existence, creates the phase using helper, updates storage, and returns success message with phase ID.
    // Create phase tool 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}"` }] }; } );
  • Helper function called by the create_phase tool handler to instantiate a new Phase object and append it to the feature's phases array, updating the feature timestamp.
    * Create a new phase for a feature directly */ function createPhaseDirectly(feature: Feature, name: string, description: string): Phase { const newPhase = createPhaseObject(name, description); feature.phases.push(newPhase); feature.updatedAt = new Date(); return newPhase; }
  • Utility factory function to create a standardized Phase object with generated ID, default pending status, empty tasks, and current timestamps.
    export function createPhaseObject(name: string, description: string): Phase { const timestamp = now(); return { id: generatePhaseId(), name, description, tasks: [], status: "pending" as PhaseStatus, createdAt: timestamp, updatedAt: timestamp }; }
  • Zod schema for Phase type definition and validation, used throughout the codebase for type safety.
    export const PhaseSchema = z.object({ id: z.string().refine(isPhaseId, "Invalid phase ID format"), name: z.string().min(2, "Phase name must be at least 2 characters").max(100, "Phase name must be at most 100 characters"), description: z.string(), tasks: z.array(TaskSchema), status: PhaseStatusSchema, createdAt: z.date(), updatedAt: z.date(), });
  • Alternative registry-based registration of "create_phase" tool in the modular implementation, references createPhaseHandler and provides JSON schema for tool description.
    toolRegistry.register( 'create_phase', createPhaseHandler, 'Create a new development phase for a feature', { type: 'object', properties: { featureId: { type: 'string', description: 'ID of the feature to create a phase for' }, name: { type: 'string', description: 'Name of the phase' }, description: { type: 'string', description: 'Description of the phase' } }, required: ['featureId', 'name', 'description'] }, [ { featureId: "feature-123", name: "Requirements Analysis", description: "Gather and analyze requirements for the feature" }, { featureId: "feature-123", name: "Implementation", description: "Implement the core functionality of the feature" } ] );

Other Tools

Related Tools

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/crazyrabbitLTC/mcp-vibecoder'

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