mcpo
by open-webui
mcpo is a proxy that exposes any MCP tool as an OpenAPI-compatible HTTP server, making it accessible via standard RESTful OpenAPI for use with LLM agents and apps. It eliminates the need for custom protocols and glue code.
Last updated: N/A
What is mcpo?
mcpo is a dead-simple proxy that transforms MCP server commands into standard RESTful OpenAPI endpoints. This allows MCP tools to be easily integrated with LLM agents and other applications that expect OpenAPI servers.
How to use mcpo?
Install mcpo using pip or uv, or run it via Docker. Then, execute mcpo with the path to your MCP server command, specifying the port and API key. Alternatively, you can use a config file to serve multiple MCP tools.
Key features of mcpo
Exposes MCP tools as OpenAPI-compatible HTTP servers
Auto-generates interactive documentation
Adds security, stability, and scalability using web standards
Supports SSE-compatible MCP servers
Can be configured via command-line arguments or a config file
Use cases of mcpo
Integrating MCP tools with LLM agents
Making MCP tools accessible to applications that expect OpenAPI servers
Securing and scaling MCP tools
Providing interactive documentation for MCP tools
Simplifying the deployment and management of MCP tools
FAQ from mcpo
Why use mcpo instead of native MCP?
Why use mcpo instead of native MCP?
Native MCP servers usually speak over raw stdio, which is inherently insecure, incompatible with most tools, and missing standard features like docs, auth, and error handling. mcpo solves these problems by exposing MCP tools as standard OpenAPI servers.
How do I specify an API key?
How do I specify an API key?
Use the --api-key
flag when running mcpo, e.g., mcpo --port 8000 --api-key "top-secret" -- your_mcp_server_command
.
Can I serve multiple MCP tools with mcpo?
Can I serve multiple MCP tools with mcpo?
Yes, you can use a config file to serve multiple MCP tools. Each tool will be accessible under its own unique route.
How do I access the OpenAPI schema?
How do I access the OpenAPI schema?
The OpenAPI schema is automatically generated and can be accessed at http://localhost:8000/docs
(or http://localhost:8000/<tool>/docs
when using a config file).
What are the requirements for running mcpo?
What are the requirements for running mcpo?
mcpo requires Python 3.8+ and uv (optional, but highly recommended).