Docker Build and Deployment Guide (mcpo project)
@flyfox666
About Docker Build and Deployment Guide (mcpo project)
An example Docker image for mcpo(with npm,curl,nodejs,uv Pre-Built;Pre-Built MCP:amap;baidumap;server-brave-search; tavily;fetch), a tool that exposes MCP (Model Context Protocol) servers as OpenAPI-compatible HTTP endpoints for OpenWebUI.
Basic information
Config
No standard config provided
This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.
RepositoryTools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is mcpo?
mcpo (Model Context Protocol OpenAPI Proxy) is a containerized deployment using Docker and Docker Compose. It dynamically installs MCP server tools (Python uvx, Node.js npx) at startup based on a config.json, runs as a non-root user for security, and supports flexible pip and apt mirror configuration.
How to use mcpo?
Create a .env file with MCPO_API_KEY (required) and optionally PIP_SOURCE. Prepare a config.json with MCP server definitions. Build the image with docker-compose build [--no-cache] and start the service with docker-compose up -d. The container’s start.sh script installs dependencies and launches the mcpo service.
Key features of mcpo
- Dynamic dependency installation at container startup.
- Non-root user (
appuser) execution for security. - Persistent volumes for config, logs, data, and caches.
- Configurable pip source via
PIP_SOURCEbuild argument. - Environment isolation per MCP tool installation.
Use cases of mcpo
- Deploying mcpo with multiple MCP servers in a containerized environment.
- Replicating deployments with pinned tool versions for reproducibility.
- Running mcpo with custom pip mirrors to speed up builds.
- Managing API keys securely via
.envfiles.
FAQ from mcpo
Why do I see “npx: command not found” or “git: command not found”?
Ensure the Dockerfile installs nodejs and git, and that the PATH includes /usr/bin. Rebuild the image with docker-compose build --no-cache.
Why do I get “mkdir: cannot create directory '/root': Permission denied”?
The container runs as non-root user appuser. All cache directories are redirected to /app via ENV variables, and start.sh only creates directories under /app.
Why is pip not using my custom PIP_SOURCE?
Confirm the .env file contains PIP_SOURCE and that docker-compose.yml passes it as a build argument (build.args). The Dockerfile must receive it via ARG PIP_SOURCE.
Why are network and dependency installations slow or failing?
The Dockerfile uses an Aliyun mirror to accelerate apt. For Python packages, set PIP_SOURCE in .env to a domestic mirror. Node.js and uv installations still depend on network availability.
More Cloud & Infrastructure MCP servers
AWS Model Context Protocol (MCP) Server
alexei-ledA lightweight service that enables AI assistants to execute AWS CLI commands (in safe containerized environment) through the Model Context Protocol (MCP). Bridges Claude, Cursor, and other MCP-aware AI tools with AWS CLI for enhanced cloud infrastructure management.
AWS MCP Servers
awslabsOpen source MCP Servers for AWS
MCP Gateway
mcp-ecosystem🧩 MCP Gateway - A lightweight gateway service that instantly transforms existing MCP Servers and APIs into MCP servers with zero code changes. Features Docker deployment and management UI, requiring no infrastructure modifications.
Supabase MCP Server
supabase-communityConnect Supabase to your AI assistants

Aws Kb Retrieval Server
modelcontextprotocolModel Context Protocol Servers
Comments