mcpo CLI
An Open WebUI proxy that exposes any MCP server as an HTTP API with an OpenAPI schema
- 4,415 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Exposes MCP server tools, which may run commands, over the network
- Unsafe without an API key and network restrictions
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/mcpoDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Exposes MCP server tools, which may run commands, over the network
- Unsafe without an API key and network restrictions
This is third-party code. Review the repository files before installing.
What it does
mcpo starts an MCP server from a given command, or connects to an SSE or streamable HTTP server, and exposes its tools as REST endpoints. Each tool automatically gets an OpenAPI schema and interactive docs. A Claude Desktop style config file can serve several servers on separate paths with hot reload. It supports an API key, OAuth 2.1 for protected servers and running behind a reverse proxy.
Who it is for. For people connecting MCP tools to Open WebUI or apps that only understand OpenAPI.
Good fit when
- You need MCP tools in Open WebUI
- An app or SDK supports OpenAPI but not MCP
- You need network access to a stdio server behind a key
Not a fit when
- Your client already supports MCP natively
- You need MCP features beyond tools, such as resources and prompts
Example request
Run mcpo for the time server so I can connect it to Open WebUILimitations
The proxy exposes over HTTP whatever the MCP server can do, so an API key and network restrictions are a must. It needs Python or uv, or Docker. mcpo itself uses no external services.
How to disable. Stop the mcpo process or container; if installed via pip, remove it with pip uninstall mcpo.
FAQ
Can I run several servers at once?
Yes, via --config with an mcpServers file; each server gets its own path.
Are remote MCP servers supported?
Yes, via --server-type sse or streamable-http with the server URL.
Discussion
No questions or reviews yet.
Related
CLI toolsA CLI that turns any MCP server, OpenAPI spec or GraphQL endpoint into commands at runtime, with no codegen
A universal MCP CLI client from Apify: persistent sessions, OAuth, JSON output for scripts and shell access to any MCP server for agents
A CLI for any MCP server: list and call tools, resources and prompts, run mock and proxy modes, guard access and manage agent configs
An MCP bridge: a single run_python tool runs code in a container and calls your MCP servers
An adapter that connects an MCP client limited to local stdio servers to a remote MCP server over HTTP or SSE, with authorization
A zero-dependency Python CLI: one catalog of MCP servers and skills for every agent, with only a compact index in context
README in short
The README explains why to bridge MCP to OpenAPI and gives launch commands via uvx, pip and Docker. It covers SSE and streamable HTTP servers, subpath serving, a hot-reload config file and OAuth 2.1. It links to Open WebUI integration docs. MIT licensed.