#!/usr/bin/env node import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { parseToolName, parseToolDescription, parseToolSchema, parseToolHandler, } from './tools/parse.js'; import { validateToolName, validateToolDescription, validateToolSchema, validateToolHandler, } from './tools/validate.js'; import { queryToolName, queryToolDescription, queryToolSchema, queryToolHandler, } from './tools/query.js'; import { schemaToolName, schemaToolDescription, schemaToolSchema, schemaToolHandler, } from './tools/schema.js'; import { generateToolName, generateToolDescription, generateToolSchema, generateToolHandler, } from './tools/generate.js'; const server = new McpServer({ name: 'swagger-tools', version: '0.1.0', }); // Register parse-spec tool server.tool( parseToolName, parseToolDescription, parseToolSchema, parseToolHandler ); // Register validate-spec tool server.tool( validateToolName, validateToolDescription, validateToolSchema, validateToolHandler ); // Register query-endpoints tool server.tool( queryToolName, queryToolDescription, queryToolSchema, queryToolHandler ); // Register get-schema tool server.tool( schemaToolName, schemaToolDescription, schemaToolSchema, schemaToolHandler ); // Register generate-types tool server.tool( generateToolName, generateToolDescription, generateToolSchema, generateToolHandler ); // Start the server with stdio transport async function main() { const transport = new StdioServerTransport(); await server.connect(transport); } main().catch(console.error);