MCP Catalogs
Home

mcpo

by open-webui·4,197·Score 58

A proxy server that exposes MCP tools as OpenAPI-compatible HTTP endpoints for seamless integration with LLM agents.

developer-toolsai-llmother
462
Forks
52
Open issues
3 mo ago
Last commit
2d ago
Indexed

Overview

mcpo is a lightweight proxy that bridges the gap between MCP servers and OpenAPI-compatible systems. It transforms MCP tool calls into standard RESTful APIs, providing security, documentation, and compatibility with existing tool ecosystems. The server supports multiple MCP server types including stdio, SSE, and streamable HTTP, with authentication options including OAuth 2.1. By auto-generating OpenAPI schemas, it eliminates the need for custom protocol development and enables instant integration with LLM agents and applications expecting standard HTTP interfaces.

Try asking AI

After installing, here are 6 things you can ask your AI assistant:

you:Integrating MCP tools with Open WebUI and other LLM frontends expecting OpenAPI
you:Securing MCP servers by adding authentication and documentation through standard HTTP interfaces
you:Enabling legacy systems and web applications to consume MCP tools without protocol changes
you:What MCP server types does mcpo support?
you:How does mcpo handle authentication?
you:Can mcpo serve multiple MCP tools simultaneously?

When to choose this

Choose mcpo when you need to expose MCP tools to systems that only understand OpenAPI, especially when you require security, auto-generated documentation, or OAuth authentication without writing custom integration code.

When NOT to choose this

Avoid mcpo if you're working exclusively within the native MCP ecosystem where stdio communication is sufficient, or if you need low-latency performance as the proxy adds some overhead to MCP calls.

Comparable tools

openai-tools-mcpserver-mcpnpx-mcp-server

Installation

Installation

# Using uv (recommended)
uvx mcpo --port 8000 --api-key "top-secret" -- your_mcp_server_command

# Using pip
pip install mcpo
mcpo --port 8000 --api-key "top-secret" -- your_mcp_server_command

Docker

docker run -p 8000:8000 ghcr.io/open-webui/mcpo:main --api-key "top-secret" -- your_mcp_server_command

Claude Desktop Configuration

{
  "mcpServers": {
    "mcpo-proxy": {
      "command": "uvx",
      "args": ["mcpo", "--port", "8000", "--api-key", "top-secret", "--", "your_mcp_server_command"]
    }
  }
}

FAQ

What MCP server types does mcpo support?
mcpo supports three MCP server types: stdio (default), SSE (Server-Sent Events), and streamable HTTP. Each type can be specified using the --server-type flag.
How does mcpo handle authentication?
mcpo supports multiple authentication methods including API keys (--api-key flag) and OAuth 2.1. For OAuth, it performs dynamic client registration and handles the entire OAuth flow automatically.
Can mcpo serve multiple MCP tools simultaneously?
Yes, mcpo can serve multiple MCP tools through a configuration file following the Claude Desktop format. Each tool gets its own route and OpenAPI schema, and hot-reload is supported for automatic updates.

Compare mcpo with

GitHub →

Last updated · Auto-generated from public README + GitHub signals.