Skip to main content
Glama
analyze-codebase.ts1.5 kB
import { z } from 'zod'; import { CodebaseAnalyzer } from '../analyzers/codebase-analyzer.js'; export const AnalyzeCodebaseSchema = z.object({ path: z.string().describe('Path to file or directory to analyze') }); export type AnalyzeCodebaseInput = z.infer<typeof AnalyzeCodebaseSchema>; export async function analyzeCodebase(input: AnalyzeCodebaseInput) { 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 summary = { totalFiles: results.length, totalElements: results.reduce((sum, r) => sum + r.totalElements, 0), documentedElements: results.reduce((sum, r) => sum + r.documentedElements, 0), averageCoverage: results.reduce((sum, r) => sum + r.documentationCoverage, 0) / results.length }; return { success: true, summary, results: results.map(r => ({ file: r.filePath, language: r.language, elements: r.totalElements, documented: r.documentedElements, coverage: r.documentationCoverage, details: r.elements.map(e => ({ type: e.type, name: e.name, line: e.line, hasDoc: e.hasDocumentation })) })) }; } catch (error) { return { success: false, error: (error as Error).message }; } }

Implementation Reference

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