Skip to main content
Glama

OpenAPI MCP Server

smithery.yaml4.92 kB
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml startCommand: type: stdio configSchema: # JSON Schema defining the configuration options for the MCP. type: object properties: apiBaseUrl: type: string title: "API Base URL" description: "Base URL for the API endpoints" examples: ["https://api.example.com", "https://jsonplaceholder.typicode.com"] specSource: type: string title: "OpenAPI Spec Source" description: "How to provide the OpenAPI specification" enum: ["file", "url", "stdin", "inline"] default: "stdin" openApiSpec: type: string title: "OpenAPI Spec Path/URL" description: "Path to local file or URL to OpenAPI specification (when not using stdin/inline)" examples: ["./openapi.json", "https://api.example.com/openapi.json"] specInline: type: string title: "Inline OpenAPI Spec" description: "OpenAPI specification content as JSON string (when using inline mode)" headers: type: string title: "API Headers" description: "API headers in format 'key1:value1,key2:value2'" examples: ["Authorization:Bearer token", "X-API-Key:12345,Content-Type:application/json"] serverName: type: string title: "Server Name" description: "Name for the MCP server" default: "mcp-openapi-server" serverVersion: type: string title: "Server Version" description: "Version for the MCP server" default: "1.0.0" toolsMode: type: string title: "Tools Mode" description: "Which tools to load" enum: ["all", "dynamic"] default: "all" includeTools: type: array title: "Include Specific Tools" description: "Array of specific tool IDs or names to include" items: type: string includeTags: type: array title: "Include Tags" description: "Array of OpenAPI tags to include" items: type: string includeResources: type: array title: "Include Resources" description: "Array of resource path prefixes to include" items: type: string includeOperations: type: array title: "Include Operations" description: "Array of HTTP methods to include (e.g., get, post, put)" items: type: string enum: ["get", "post", "put", "patch", "delete", "head", "options"] disableAbbreviation: type: boolean title: "Disable Abbreviation" description: "Disable name optimization for tool names" default: false required: ["apiBaseUrl"] anyOf: - required: ["openApiSpec"] - properties: specSource: const: "stdin" - required: ["specInline"] commandFunction: |- (config) => { const args = ['bin/mcp-server.js']; const env = {}; // Required API base URL args.push('--api-base-url', config.apiBaseUrl); // Handle different spec source methods if (config.specSource === 'stdin' || (!config.openApiSpec && !config.specInline)) { args.push('--spec-from-stdin'); env.OPENAPI_SPEC_FROM_STDIN = 'true'; } else if (config.specInline) { args.push('--spec-inline', config.specInline); } else if (config.openApiSpec) { args.push('--openapi-spec', config.openApiSpec); } // Optional configuration if (config.headers) { args.push('--headers', config.headers); } if (config.serverName) { args.push('--name', config.serverName); } if (config.serverVersion) { args.push('--server-version', config.serverVersion); } if (config.toolsMode && config.toolsMode !== 'all') { args.push('--tools', config.toolsMode); } if (config.includeTools && config.includeTools.length > 0) { config.includeTools.forEach(tool => { args.push('--tool', tool); }); } if (config.includeTags && config.includeTags.length > 0) { config.includeTags.forEach(tag => { args.push('--tag', tag); }); } if (config.includeResources && config.includeResources.length > 0) { config.includeResources.forEach(resource => { args.push('--resource', resource); }); } if (config.includeOperations && config.includeOperations.length > 0) { config.includeOperations.forEach(operation => { args.push('--operation', operation); }); } if (config.disableAbbreviation) { args.push('--disable-abbreviation'); } // Always use stdio transport args.push('--transport', 'stdio'); return { command: 'node', args, env }; }

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/ivo-toby/mcp-openapi-server'

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