mcpField
O
OpenAPI MCP Server

OpenAPI MCP Server

Local
github.com/3locDeveloper Tools2Updated 82w ago

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

  1. 01stdio server mode
  2. 02SSE server mode
  3. 03OpenAPI/REST mode
  4. 04Example addition handler
  5. 05Docker run configurations

Use cases

  1. 01Starting an MCP server implementation
  2. 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.

mcp.json · Universal config
{
"mcpServers": {
"openapi-mcp-server-3loc": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
Run commanddocker run -i --rm compose

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
ocicompose

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

OpenAPI 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 server
  • sse: Run as a Server-Sent Events server (port 8001)
  • openapi: Run as an OpenAPI/REST server (port 8002)

Building and Running

Using Docker Compose
  1. Build the container:
docker compose build
  1. 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

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.