get_track_plan
Reads the plan.md file for a given conductor track and returns its live content, enabling access to current file data instead of outdated docs or memory.
Instructions
Read the plan.md for a specific conductor track. Returns live file content — not docs, not memory.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| trackName | Yes |
Implementation Reference
- src/tools/conductor.tool.ts:65-70 (registration)Registration of the 'get_track_plan' MCP tool via server.tool(), with the schema and handler.
server.tool('get_track_plan', 'Read the plan.md for a specific conductor track. Returns live file content — not docs, not memory.', GetTrackPlanSchema.shape, async (args) => { const plan = await manager.getTrackPlan(args.trackName); return { content: [{ type: 'text' as const, text: plan.content }], }; }); - src/tools/conductor.tool.ts:23-25 (schema)Zod schema for get_track_plan: requires a 'trackName' string parameter.
export const GetTrackPlanSchema = z.object({ trackName: z.string().min(1), }); - src/managers/ConductorManager.ts:84-87 (handler)Handler/implementation: getTrackPlan() validates the slug via assertSafeSlug() and delegates to fs.readTrackPlan().
async function getTrackPlan(trackName: string): Promise<TrackPlan> { assertSafeSlug(trackName); return fs.readTrackPlan(tracksDir, trackName); } - src/access/FileSystemAccess.ts:59-63 (helper)Helper: readTrackPlan() reads plan.md from disk and returns a TrackPlan object.
async function readTrackPlan(tracksDir: string, trackName: string): Promise<TrackPlan> { const planPath = join(tracksDir, trackName, 'plan.md'); const content = await readFile(planPath, 'utf8'); return { trackName, content }; }