About OpenAPI MCP Server
A starter project for developers building MCP servers. It includes an example addition handler and supports stdio, SSE, and OpenAPI/REST operating modes.
Key features
- 01stdio server mode
- 02SSE server mode
- 03OpenAPI/REST mode
- 04Example addition handler
- 05Docker run configurations
Use cases
- 01Starting an MCP server implementation
- 02Trying stdio, SSE, and REST modes
MCP support
It is an MCP server foundation with stdio and SSE transports, plus OpenAPI/REST endpoints. The example addition handler demonstrates protocol-specific implementation.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEOpenAPI MCP Server
This is a skeleton project that you can use as a starting point for building your own MCP server. The example addition function demonstrates how to implement handlers across all three protocols.
Features
Current implementation status:
- ✅ Standard I/O (stdio)
- ✅ Server-Sent Events (SSE)
- ✅ OpenAPI/REST endpoints
Running Modes
The server supports three different modes of operation, controlled by the MODE environment variable:
stdio: Run as a standard I/O serversse: Run as a Server-Sent Events server (port 8001)openapi: Run as an OpenAPI/REST server (port 8002)
Building and Running
Using Docker Compose
- Build the container:
docker compose build
- Run specific services:
# Run all services
docker compose up
# Run only SSE server
docker compose up sse-mcp-server
# Run only OpenAPI server
docker compose up openapi-mcp-server
Using Docker directly
You can also run the server directly using Docker:
# Run in stdio mode
docker run -i --rm -e MODE=stdio 3loc/openapi-mcp-server
# Run in SSE mode
docker run -p 8001:8000 --rm -e MODE=sse 3loc/openapi-mcp-server
# Run in OpenAPI mode
docker run -p 8002:8000 --rm -e MODE=openapi 3loc/openapi-mcp-server
Configuration
The server can be configured using an mcp.json file. Here's an example configuration:
{
"mcpServers": {
"stdio-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--name", "openapi-mcp-server",
"-e", "MODE=stdio",
"3loc/openapi-mcp-server"
]
},
"sse-mcp-server": {
"url": "http://localhost:8001/sse"
}
}
}
Development
The project provides a foundation for implementing an MCP server with multiple communication protocols. All three modes (stdio, SSE, and OpenAPI) are now implemented and can be used interchangeably based on your needs.
Comments
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.