Skip to main content
Glama

generate_documentation

Create comprehensive markdown documentation for codebases or files, detailing code elements and existing documentation to improve project understanding.

Instructions

Generate comprehensive markdown documentation for a codebase or file, including all code elements and their existing documentation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoPath to file or directory to document
formatNoOutput format for documentation

Implementation Reference

  • Main tool handler function that analyzes the specified path, generates analysis results, uses MarkdownGenerator to create documentation, and returns success/error with stats.
    export async function generateDocumentation(input: GenerateDocumentationInput) { try { const analyzer = new CodebaseAnalyzer(); const results = await analyzer.analyzePath(input.path); if (results.length === 0) { return { success: false, error: 'No supported source files found in the specified path' }; } const generator = new MarkdownGenerator(); const documentation = generator.generateDocumentation(results); return { success: true, documentation, stats: { filesProcessed: results.length, totalElements: results.reduce((sum, r) => sum + r.totalElements, 0), documentationCoverage: (results.reduce((sum, r) => sum + r.documentationCoverage, 0) / results.length).toFixed(2) + '%' } }; } catch (error) { return { success: false, error: (error as Error).message }; } }
  • Zod schema defining the input for the generate_documentation tool: path (required) and format (markdown default).
    export const GenerateDocumentationSchema = z.object({ path: z.string().describe('Path to file or directory to document'), format: z.enum(['markdown']).default('markdown').describe('Output format for documentation') });
  • src/index.ts:52-56 (registration)
    Tool registration in the TOOLS array, specifying name, description, and input schema.
    { name: 'generate_documentation', description: 'Generate comprehensive markdown documentation for a codebase or file, including all code elements and their existing documentation.', inputSchema: GenerateDocumentationSchema },
  • src/index.ts:108-119 (registration)
    Dispatch handler in the MCP server that validates input, calls the generateDocumentation function, and formats the response as MCP content.
    case 'generate_documentation': { const validated = GenerateDocumentationSchema.parse(args); const result = await generateDocumentation(validated); return { content: [ { type: 'text', text: result.success ? result.documentation : JSON.stringify(result, null, 2) } ] }; }
  • Core helper method in MarkdownGenerator that orchestrates the creation of markdown documentation from analysis results, including summary and per-file sections.
    generateDocumentation(results: AnalysisResult[]): string { const sections: string[] = []; sections.push('# Codebase Documentation\n'); sections.push(this.generateSummary(results)); for (const result of results) { sections.push(this.generateFileDocumentation(result)); } return sections.join('\n\n'); }

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/Njengah/claude-4.5-mcp-tutorial'

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