ClaudeMap

Open MCP Gateway

Exposes locally deployed MCP servers as strict OpenAPI 3.1.0 REST routes, built for the Open WebUI ecosystem.

MCP Serversmcpopenapigatewayopen-webuibun

Open MCP Gateway (OMG) aggregates MCP service nodes — native binary stdio, Node/Bun script pipelines, SSE or HTTP transports — behind HTTP routes generated strictly per the OpenAPI 3.1.0 spec: tool inputs mount under requestBody.content['application/json'].schema and generated operationIds match the original tool names exactly, with no tool_*_post naming pollution. A blue-green session pool guarded by an AsyncMutex hot-swaps services on config changes without interrupting in-flight requests; lifecycle self-healing and hot reloading cover process crashes and config edits. Built with Bun 1.4 and TypeScript, it compiles to a single native executable with no runtime dependencies, keeps state in an XDG-separated layout with environment-variable interpolation, parses X-Forwarded-* headers so OpenAPI servers.url always reflects the real external base URL, and manages external MCP packages with bun in the data directory.

What it does

  • Full transport coverage in one gateway: native binary stdio, script stdio, SSE and HTTP, unified with protocol wrapping, lifecycle self-healing and hot reloading
  • Strict OpenAPI 3.1.0 contract — operationIds equal the original tool names, tools mount under requestBody.content['application/json'].schema
  • Blue-green session pool: config updates swap sessions behind an AsyncMutex so in-flight requests never break; XDG-separated config/data/state/cache with ${APP_DATA_DIR}-style interpolation
  • Single-binary deploy (bun build --compile, no runtime dependencies) and reverse-proxy friendly X-Forwarded-* parsing; per-server documents at /<server>/openapi.json register straight into Open WebUI's admin panel

When to use it

Teams that already run MCP servers locally and are standardising on Open WebUI (or any OpenAPI-consuming client): point the gateway at your stdio/SSE/HTTP servers once and every tool becomes a REST call without touching the servers themselves.

Getting started

# run from source (Bun 1.4+)
git clone https://github.com/TiancongLx/open-mcp-gateway.git
cd open-mcp-gateway && bun install && bun run dev

# or compile a single native executable
bun run build   # output: build/mcp-gateway

# config: $XDG_CONFIG_HOME/mcp-gateway/config.json5
# external MCP packages: cd $XDG_DATA_HOME/mcp-gateway && bun add <pkg>

Things to know

Built for the Open WebUI ecosystem — any OpenAPI client can consume the routes, but the integration docs and end-to-end tests target Open WebUI. Requires Bun 1.4+ at runtime (or the compiled binary); the config is JSON5, so comments and trailing commas will trip plain-JSON tooling. A community project, not affiliated with the Open WebUI team. MIT.

Repository

TiancongLx/open-mcp-gateway

Charted

Related on the map

  • Blitz Strike

    MCP Server

    A penetration-testing methodology delivered as one MCP server: BLITZ maps the attack surface, EAGLE-EYE traces source-to-sink, STRIKE live-verifies every finding before it is reported.

    • mcp-server
    • security
    • pentest
    • methodology
  • Ripwire

    MCP Server

    Red Hat's "ripgrep for AI context" — a C++23 zero-dependency CLI that also speaks MCP.

    • mcp
    • code-context
    • cli
    • red-hat
  • Deja Vu

    MCP Server

    One shared session memory for 25+ coding agents — Claude Code, Codex, and Cursor finally remember the same project.

    • mcp
    • memory
    • cross-agent
    • context