get_track_spec
Read the live technical specification (spec.md) for a conductor track by providing its track name.
Instructions
Read the spec.md for a specific conductor track. Returns the live technical specification.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| trackName | Yes |
Implementation Reference
- src/tools/conductor.tool.ts:37-39 (schema)Zod schema for the get_track_spec tool — validates a single required string parameter `trackName`.
export const GetTrackSpecSchema = z.object({ trackName: z.string().min(1), }); - src/tools/conductor.tool.ts:72-82 (handler)MCP tool registration and handler for 'get_track_spec'. Calls `manager.getTrackSpec(args.trackName)` and returns the file content as text.
server.tool( 'get_track_spec', 'Read the spec.md for a specific conductor track. Returns the live technical specification.', GetTrackSpecSchema.shape, async (args) => { const file = await manager.getTrackSpec(args.trackName); return { content: [{ type: 'text' as const, text: file.content }], }; }, ); - src/tools/conductor.tool.ts:72-82 (registration)Registers the tool named 'get_track_spec' on the MCP server via `server.tool(...)` in the `registerConductorTools` function.
server.tool( 'get_track_spec', 'Read the spec.md for a specific conductor track. Returns the live technical specification.', GetTrackSpecSchema.shape, async (args) => { const file = await manager.getTrackSpec(args.trackName); return { content: [{ type: 'text' as const, text: file.content }], }; }, ); - src/managers/ConductorManager.ts:95-98 (handler)Manager-level `getTrackSpec` function that validates the slug and delegates to `fs.readTrackFile(tracksDir, trackName, 'spec.md')`.
async function getTrackSpec(trackName: string): Promise<TrackFile> { assertSafeSlug(trackName); return fs.readTrackFile(tracksDir, trackName, 'spec.md'); } - src/access/FileSystemAccess.ts:70-74 (helper)Low-level `readTrackFile` helper that reads an arbitrary file from a track directory on disk and returns a `TrackFile` object.
async function readTrackFile(tracksDir: string, trackName: string, filename: string): Promise<TrackFile> { const filePath = join(tracksDir, trackName, filename); const content = await readFile(filePath, 'utf8'); return { trackName, filename, content }; }