OpenAPI MCP Server
Explore and analyze OpenAPI specifications from local files or remote URLs.
OpenAPI MCP Server
A Model Context Protocol (MCP) server that enables LLMs to explore and understand OpenAPI specifications through structured tools.
Features
- š Smart API Exploration - Navigate APIs by categories, endpoints, and schemas
- š Multiple Modes - Run as stdio (for Claude Desktop), HTTP server, or interactive CLI
- š¾ Intelligent Caching - Caches remote OpenAPI specs for faster access
- šļø Multi-Architecture - Supports Linux AMD64 and ARM64
Quick Start
Using Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"openapi": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "OPENAPI_SPEC_URL=https://api.example.com/openapi.json", "ghcr.io/sagenkoder/go-openapi-exploration-mcp-server:latest"]
}
}
}
Or use a local binary:
{
"mcpServers": {
"openapi": {
"command": "/path/to/openapi-mcp-stdio",
"env": {
"OPENAPI_SPEC_URL": "https://api.example.com/openapi.json"
}
}
}
}
Installation
Docker (Recommended)
# Latest (stdio mode)
docker pull ghcr.io/sagenkoder/go-openapi-exploration-mcp-server:latest
# Specific modes
docker pull ghcr.io/sagenkoder/go-openapi-exploration-mcp-server:http
docker pull ghcr.io/sagenkoder/go-openapi-exploration-mcp-server:interactive
Download Binaries
Download from releases:
openapi-mcp-stdio-linux-amd64- MCP stdio modeopenapi-mcp-http-linux-amd64- HTTP server modeopenapi-mcp-interactive-linux-amd64- Interactive CLI mode
Build from Source
# Clone
git clone https://github.com/SagenKoder/go-openapi-exploration-mcp-server.git
cd go-openapi-exploration-mcp-server
# Build all modes
./build.sh
# Or build specific mode
go build -o openapi-mcp-stdio ./cmd/openapi-mcp-stdio
Usage
Environment Variables
OPENAPI_SPEC_URL(required) - URL or file path to OpenAPI specOPENAPI_CACHE_DIR(optional) - Cache directory (default:~/.openapi-mcp-cache)
Stdio Mode (for MCP clients)
# Docker
docker run -i --rm \
-e OPENAPI_SPEC_URL=https://petstore3.swagger.io/api/v3/openapi.json \
ghcr.io/sagenkoder/go-openapi-exploration-mcp-server:latest
# Binary
OPENAPI_SPEC_URL=https://petstore3.swagger.io/api/v3/openapi.json ./openapi-mcp-stdio
HTTP Mode
# Docker
docker run -p 8080:8080 \
-e OPENAPI_SPEC_URL=https://petstore3.swagger.io/api/v3/openapi.json \
ghcr.io/sagenkoder/go-openapi-exploration-mcp-server:http
# Binary
OPENAPI_SPEC_URL=https://petstore3.swagger.io/api/v3/openapi.json ./openapi-mcp-http -addr :8080
Interactive Mode
# Docker
docker run -it --rm \
-e OPENAPI_SPEC_URL=https://petstore3.swagger.io/api/v3/openapi.json \
ghcr.io/sagenkoder/go-openapi-exploration-mcp-server:interactive
# Binary
OPENAPI_SPEC_URL=https://petstore3.swagger.io/api/v3/openapi.json ./openapi-mcp-interactive
Available Tools
The server provides these tools to LLMs:
- list_categories - List API categories based on path segments
- list_endpoints - List endpoints, optionally filtered by category
- show_endpoint - Show detailed endpoint information including parameters and schemas
- get_spec_info - Get general information about the API
- show_schema - Inspect specific schema components
Examples
Local File
OPENAPI_SPEC_URL=/path/to/openapi.yaml ./openapi-mcp-stdio
With Custom Cache
OPENAPI_CACHE_DIR=/tmp/api-cache \
OPENAPI_SPEC_URL=https://api.example.com/openapi.json \
./openapi-mcp-stdio
Docker with Volume Mount
docker run -i --rm \
-v $(pwd)/openapi.yaml:/openapi.yaml:ro \
-e OPENAPI_SPEC_URL=/openapi.yaml \
ghcr.io/sagenkoder/go-openapi-exploration-mcp-server:latest
Development
Project Structure
cmd/
āāā openapi-mcp-stdio/ # MCP stdio mode
āāā openapi-mcp-http/ # HTTP server mode
āāā openapi-mcp-interactive/ # Interactive CLI mode
internal/
āāā cache.go # Caching logic
āāā handlers.go # MCP tool handlers
āāā server.go # Core server logic
āāā utils.go # Utilities
Building Docker Images
# Build specific mode
docker build --build-arg MODE=stdio -t my-openapi-mcp:stdio .
# Build all modes
./build.sh docker
License
MIT License - see LICENSE file for details.
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Bedrock Server Manager
Manage your Bedrock server with natural language commands using the Bedrock Server Manager API.
Windows CLI
MCP server for secure command-line interactions on Windows systems, enabling controlled access to PowerShell, CMD, and Git Bash shells.
Manim MCP Server
Executes Manim Python scripts to generate and return rendered video animations.
DDEV MCP Server
Manage DDEV projects, enabling LLM applications to interact with local development environments through the MCP protocol.
Cloudflare MCP Server Example
An example of deploying a remote MCP server on Cloudflare Workers without authentication.
nf-core MCP Server
Manage and navigate local nf-core pipeline repositories.
SwarmTask
An asynchronous task manager for parallel execution of shell commands with real-time progress monitoring.
ContextKeeper
Provides perfect memory for AI-assisted development by capturing project context snapshots, enabling natural language search, evolution tracking, and code intelligence.
agentwallet-mcp
Server-side EVM wallet for Ai agents. Send transactions, manage tokens, and interact with smart contracts across multiple chains.
App Market Intelligence MCP
Analyze app data from the Apple App Store and Google Play Store for market intelligence and insights.