Skip to main content
Glama
generate-schema.ts1.47 kB
#!/usr/bin/env tsx /** * Generate JSON Schema from Zod schema */ import { writeFileSync } from "fs"; import { join } from "path"; import { zodToJsonSchema } from "zod-to-json-schema"; import { configSchema } from "../src/config/schema.ts"; // Generate JSON Schema const jsonSchema = zodToJsonSchema(configSchema, { name: "LSMCPConfig", $refStrategy: "none", errorMessages: true, markdownDescription: true, }); // Add additional metadata const schema = { $schema: "http://json-schema.org/draft-07/schema#", $id: "https://github.com/mizchi/lsmcp/lsmcp.schema.json", title: "LSMCP Configuration", description: "Configuration schema for Language Service MCP", ...(jsonSchema as any), }; // Add examples schema.examples = [ { preset: "tsgo", }, { preset: "pyright", files: ["**/*.py", "**/*.pyi"], }, { lsp: { bin: "deno", args: ["lsp"], }, files: ["**/*.ts", "**/*.tsx"], }, { preset: "tsgo", settings: { autoIndex: true, indexConcurrency: 10, }, symbolFilter: { excludeKinds: ["Variable", "Constant"], includeOnlyTopLevel: true, }, }, ]; // Write to file const outputPath = join(process.cwd(), "lsmcp.schema.json"); writeFileSync(outputPath, JSON.stringify(schema, null, 2) + "\n"); console.log(`✅ Schema generated at: ${outputPath}`); console.log("\nTo use this schema in your config file, add:"); console.log(` "$schema": "../lsmcp.schema.json"`);

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/mizchi/typescript-mcp'

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