# mcpo

A simple proxy that exposes any MCP server's tools as a standard, secure OpenAPI-compatible HTTP server, so they work with tools, SDKs and UIs that expect REST APIs instead of raw MCP transport.

mcpo takes an MCP server command and makes it accessible over standard RESTful OpenAPI instead of the raw stdio transport MCP servers typically use, which is otherwise insecure, incompatible with most existing tools, and missing standard features such as documentation, authentication and error handling. It adds those features automatically, generating interactive documentation for every tool with no extra configuration.

It can proxy a local stdio-based server, or connect to a remote SSE- or streamable-HTTP-based MCP server by specifying the server type and endpoint, with optional custom headers. It can be run directly from Python, through uv for a faster, config-free start, or from a published Docker image, and integrates with Open WebUI once the proxy is running.

Website: https://github.com/open-webui/mcpo
