Skip to main content
Glama

MCP Swagger Server

by zecure

MCP Swagger Server

Generate MCP (Model Context Protocol) servers from Swagger/OpenAPI specifications with flexible filtering.

Features

  • Dynamic Tool Generation: Automatically creates MCP tools from OpenAPI endpoints
  • Flexible Filtering: Control exposed endpoints via HTTP methods, paths, tags, and operation IDs
  • Authentication: Built-in Bearer token support
  • Type Safety: Automatic parameter validation and conversion
  • FastMCP Integration: Built on the FastMCP framework for reliable MCP server implementation

Installation

# Install from source pip install -e . # Or install dependencies directly pip install -r requirements.txt

Quick Start

# Basic usage (exposes GET endpoints by default) mcp-swagger path/to/swagger.json # With authentication mcp-swagger swagger.json --api-token "your-token" # Custom base URL mcp-swagger swagger.json --base-url "https://api.example.com"

Filtering Options

Control which endpoints are exposed:

  • HTTP Methods: --methods get post put delete
  • Path Patterns: --paths "/api/*" --exclude-paths "/admin/*"
  • Tags: --tags public documents --exclude-tags internal
  • Operation IDs: --operation-ids list_docs get_doc --exclude-operation-ids delete_all

Examples

# Public read-only API mcp-swagger api.json --methods get --tags public --exclude-paths "/admin/*" # Specific operations only mcp-swagger api.json --operation-ids list_docs get_doc search_docs # Preview generated tools without starting server mcp-swagger api.json --dry-run --methods get post

Configuration

Command Line Options

  • --host: Server host (default: localhost)
  • --port: Server port (default: 8080)
  • --transport: Transport protocol: sse or streamable-http (default)
  • --timeout: Request timeout in seconds (default: 30)
  • --dry-run: Preview tools without starting server

Environment Variables

  • API_BASE_URL: Default base URL for the API
  • API_TOKEN: API token for authentication

Docker

# Build image docker build -t mcp-swagger . # Run with configuration docker run -p 8080:8080 \ -e API_BASE_URL=https://api.example.com \ -e API_TOKEN=your-token \ -v $(pwd)/swagger.json:/app/swagger.json \ mcp-swagger /app/swagger.json --methods get post

Architecture

  • config/: CLI parsing and settings
  • filters/: Endpoint filtering logic
  • generators/: MCP tool generation
  • parsers/: OpenAPI spec parsing
  • api_client/: HTTP client and auth
  • models/: Data models
  • utils/: Utilities and logging

How It Works

  1. Load OpenAPI/Swagger specification (file or URL)
  2. Apply filters to select endpoints
  3. Generate FastMCP tools with parameter validation and auth
  4. Start MCP server with generated tools
-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Automatically generates MCP servers from OpenAPI/Swagger specifications, enabling users to interact with any REST API through natural language with flexible endpoint filtering and authentication support.

  1. Features
    1. Installation
      1. Quick Start
        1. Filtering Options
          1. Examples
            1. Configuration
              1. Command Line Options
              2. Environment Variables
            2. Docker
              1. Architecture
                1. How It Works

                  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/zecure/mcp_swagger'

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