Skip to main content
Glama

Codebase MCP Server

by cmaujean
ast-registry.ts1.1 kB
import { ASTParser, ASTParserRegistry, ParseResult } from './ast-types.js'; export class DefaultASTParserRegistry implements ASTParserRegistry { private parsers: ASTParser[] = []; registerParser(parser: ASTParser): void { this.parsers.push(parser); } getParser(filePath: string, extension: string): ASTParser | null { for (const parser of this.parsers) { if (parser.canParse(filePath, extension)) { return parser; } } return null; } async parseFile(content: string, filePath: string): Promise<ParseResult> { const extension = filePath.split('.').pop()?.toLowerCase() || ''; const parser = this.getParser(filePath, extension); if (!parser) { return { success: false, error: `No parser available for file: ${filePath} (extension: ${extension})` }; } try { return await parser.parse(content, filePath); } catch (error) { return { success: false, error: `Parse error for ${filePath}: ${error instanceof Error ? error.message : String(error)}` }; } } }

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/cmaujean/codebase-mcp'

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