This repository contains a complete Docker Compose setup for running MCPO (MCP-to-OpenAPI proxy) with enhanced deployment configurations, management scripts, and self-hosting capabilities.
For a comprehensive installation guide with real-world examples and troubleshooting tips, check out our detailed blog post:
🚀 Installing and Configuring MCPO for Open WebUI: A Complete Guide
This guide includes step-by-step instructions, management scripts usage, and Open WebUI integration examples.
This repository is based on the excellent work by the Open WebUI team and their original MCPO project. We've added Docker Compose setup, management scripts, and deployment configurations to make self-hosting easier.
Original Project: open-webui/mcpo
License: MIT License
Special Thanks: To the Open WebUI community for creating this amazing MCP-to-OpenAPI bridge.
MCPO exposes any MCP (Model Context Protocol) tool as an OpenAPI-compatible HTTP server, making it easy to integrate MCP servers with various applications and services.
This repository adds the following improvements to the original MCPO:
- 🐳 Docker Compose Setup - Complete containerized deployment
- 📝 Management Script (
mcpo.sh) - Easy start/stop/status/logs management - 📋 Configuration Examples - Working example configurations with placeholders
- 🔧 Self-Hosting Ready - Production-ready deployment configurations
- 📖 Enhanced Documentation - Comprehensive installation and troubleshooting guides
- 🔄 Backup & Restore - Configuration backup utilities
The included mcpo.sh script makes MCPO management incredibly easy:
# Start MCPO services
./mcpo.sh start
# Check running status
./mcpo.sh status
# View logs
./mcpo.sh logs
# Follow logs in real-time
./mcpo.sh logs -f
# Stop services
./mcpo.sh stop
# Restart services
./mcpo.sh restart- Docker and Docker Compose
- Basic Linux command line knowledge
- API keys for the services you want to use
-
Clone this repository:
git clone https://github.com/cfocoder/mcpo.git cd mcpo -
Configure environment:
cp .env.example .env # Edit .env with your API keys -
Configure MCP servers:
cp config.example.json config.json # Or use the working example: cp config.working-example.json config.json -
Start MCPO:
chmod +x mcpo.sh ./mcpo.sh start
-
Verify installation:
- Visit: http://localhost:8001/docs
- Check status:
./mcpo.sh status
Once MCPO is running, integrate it with Open WebUI using these OpenAPI endpoints:
http://localhost:8001/exa/openapi.json
http://localhost:8001/perplexity/openapi.json
http://localhost:8001/memory/openapi.json
Add these URLs in Open WebUI Settings → Tools → Manage Tool Servers.
mcpo/
├── src/mcpo/ # Core MCPO source code (from original project)
├── docker-compose.yml # Docker orchestration
├── mcpo.sh # Management script
├── config.example.json # Configuration template
├── config.working-example.json # Working configuration example
├── .env.example # Environment variables template
├── .env.working-example # Working environment example
├── INSTALL.md # Detailed installation guide
├── BLOG_POST.md # Complete blog post tutorial
└── README.md # This file
For development and testing:
# View logs during development
./mcpo.sh logs -f
# Restart after configuration changes
./mcpo.sh restart
# Check container status
./mcpo.sh status- Container won't start: Check
./mcpo.sh logs - API errors: Verify API keys in
.env - Port conflicts: MCPO uses port 8001
- Permission issues: Ensure
mcpo.shis executable
For detailed troubleshooting, see our blog post.
MIT License - Same as the original MCPO project.
This repository focuses on deployment and self-hosting enhancements. For core MCPO functionality contributions, please contribute to the original project.
For deployment-related improvements to this repository:
- Fork this repo
- Create a feature branch
- Submit a pull request
Note: This is a deployment-focused fork of the original MCPO project. All core functionality and credit belongs to the Open WebUI team.