gulbaki/swagger-mcp-server
If you are the rightful owner of swagger-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server designed for exploring and interacting with Swagger/OpenAPI specifications.
Swagger/OpenAPI MCP Server
A Model Context Protocol (MCP) server that allows LLMs to explore and interact with Swagger/OpenAPI specifications. This server provides tools and resources for loading API specifications, browsing endpoints, and getting detailed information about API operations.
Installation
- Clone or create the project directory
- Install dependencies:
npm install
- Build the TypeScript code:
npm run build
Usage
Available Tools
load_api
Load an OpenAPI/Swagger specification into the server.
Parameters:
apiId
(string): Unique identifier for this APIsource
(string): URL or file path to the OpenAPI/Swagger specification
Example:
{
"name": "load_api",
"arguments": {
"apiId": "petstore",
"source": "https://petstore.swagger.io/v2/swagger.json"
}
}
get_endpoint_details
Get detailed information about a specific API endpoint.
Parameters:
apiId
(string): ID of the loaded APImethod
(string): HTTP method (GET, POST, etc.)path
(string): API endpoint pathnatural
(boolean, optional): If true, returns a human-readable summary
Example:
{
"name": "get_endpoint_details",
"arguments": {
"apiId": "petstore",
"method": "GET",
"path": "/pet/{petId}",
"natural": true
}
}
list_apis
List all currently loaded API specifications.
Parameters: None
search_endpoints
Search for endpoints matching a specific pattern.
Parameters:
apiId
(string): ID of the loaded APIpattern
(string): Search pattern for endpoint paths or descriptions
Example:
{
"name": "search_endpoints",
"arguments": {
"apiId": "petstore",
"pattern": "pet"
}
}
Available Resources
swagger://{apiId}/load
Get overview information about a loaded API specification.
swagger://{apiId}/endpoints
Get a list of all available endpoints for an API.
swagger://{apiId}/endpoint/{method}/{path}
Get detailed information about a specific endpoint.
Configuration with Claude Desktop
To use this server with Claude Desktop, add the following to your claude_desktop_config.json
:
{
"mcpServers": {
"swagger-explorer": {
"command": "node",
"args": ["/path/to/your/swagger-mcp-server/build/index.js"]
}
}
}
Replace /path/to/your/swagger-mcp-server
with the actual path to your project directory.
License
MIT License