generate_diagram
Create Mermaid diagrams from text descriptions to visualize concepts and workflows for documentation.
Instructions
Generate a Mermaid diagram from a text description.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes |
Implementation Reference
- src/lib/handlers/smart.ts:190-204 (handler)The MCP tool handler for 'generate_diagram'. Validates brain is enabled, calls brain.generateDiagram, and returns the Mermaid diagram code with a usage note./** * Generate a Mermaid diagram from description */ async generate_diagram(args: { description: string }) { if (!brain.isEnabled()) { return { error: ERROR_MESSAGES.SMART_FEATURES_DISABLED }; } const diagram = await brain.generateDiagram(args.description); return { diagram, note: 'Copy this Mermaid code into an Outline document to render the diagram.', }; },
- src/lib/brain/index.ts:178-181 (helper)Core implementation in Brain class that checks if enabled and delegates to LlmProcessor.generateMermaid to produce the diagram.async generateDiagram(description: string): Promise<string> { this.checkEnabled(); return this.processor.generateMermaid(description); }
- src/lib/schemas.ts:164-166 (schema)Zod schema defining the input for generate_diagram tool: requires a 'description' string.export const generateDiagramSchema = z.object({ description: z.string().min(1, 'Description is required'), });
- src/lib/tools.ts:225-229 (registration)Registration of the 'generate_diagram' tool in the allTools array, using the schema and providing description.createTool( 'generate_diagram', 'Generate a Mermaid diagram from a text description.', 'generate_diagram' ),
- src/lib/schemas.ts:249-249 (schema)Inclusion of generateDiagramSchema in the central toolSchemas map under key 'generate_diagram'.generate_diagram: generateDiagramSchema,