mcpField
M
MCP Swagger Server

MCP Swagger Server

Local
github.com/andersmandersenDeveloper Tools0Updated 81w ago

About MCP Swagger Server

MCP Swagger Server gives developers MCP access to Swagger/OpenAPI documentation and API requests based on the specification. It loads a specification from a URL and validates requests against it.

Key features

  1. 01Load Swagger documentation from a URL
  2. 02Expose the full documentation as a resource
  3. 03Make API requests based on the specification
  4. 04Support API key authentication
  5. 05Cache specifications and validate requests

Use cases

  1. 01Inspect API documentation in an MCP session
  2. 02Call an API using its OpenAPI specification
  3. 03Validate parameters before sending a request

MCP support

Exposes the full documentation as the `swagger://documentation` resource and provides the `makeRequest` tool for API requests based on the specification.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"swagger": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
Run commanddocker run -i --rm build

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocibuild

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Swagger Server

An MCP server that provides access to Swagger/OpenAPI documentation and allows making API requests based on the specification.

Features

  • Loads Swagger documentation from a URL
  • Makes API requests based on the Swagger spec
  • Supports authentication via API key
  • Caches Swagger spec for better performance
  • Validates requests against the Swagger spec

Setup

  1. Install dependencies:
npm install
  1. Build the TypeScript code:
npm run build

Running Locally

Development mode:

npm run dev

Production mode:

npm run start

Configuration

The server requires the following environment variables:

  • SWAGGER_URL: URL to the Swagger specification (required)
  • AUTH_KEY: Authentication key for API requests (optional)

Available Resources and Tools

Resource: swagger-doc
  • URI: swagger://documentation
  • Description: Get the full Swagger documentation
Tool: makeRequest

Make API requests based on the Swagger spec.

Parameters:

  • path: The API endpoint path
  • method: HTTP method (GET, POST, etc.)
  • parameters: Optional path/query parameters
  • body: Optional request body

Example:

const result = await mcp.tools.makeRequest({
  path: "/api/users",
  method: "GET",
  parameters: { userId: "123" }
});

Smithery.ai Deployment

This server is configured for deployment on Smithery.ai. The deployment requires:

  1. A Dockerfile that builds and runs the server
  2. A smithery.yaml configuration file
  3. Proper TypeScript build setup
Configuration Schema

When deploying on Smithery.ai, configure the server with:

{
  "swaggerUrl": "https://api.example.com/swagger.json",
  "authKey": "your-api-key"  // Optional
}
Local Testing with Smithery
  1. Build the Docker image:
docker build -t mcp-swagger .
  1. Run the container:
docker run -e SWAGGER_URL=your-swagger-url -e AUTH_KEY=your-auth-key mcp-swagger

Development

Scripts
  • npm run build: Build TypeScript code
  • npm run start: Run the server in production mode
  • npm run dev: Run the server in development mode with hot reloading

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.