MCP Docker Compose Setup
About
Docker Compose setup for multiple MCP servers (Oracle, PostgreSQL, Jira, etc.) with Nginx proxy, enabling AI assistants to access databases and services via SSE interface.
Explore
- Runs eight MCP services in Docker containers
- Uses Nginx as a reverse proxy on port 8088
- Supports SSE transport for MCP communication
- Compatible with Cursor, Windsurf, and similar AI editors
- All Docker images available on Docker Hub
- Provides sample configuration files for each service
- Recommends router-level wildcard DNS for simplicity
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP Docker Compose SetupCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Follow these steps to set up and run the MCP Docker Compose environment:
This repository contains a Docker Compose configuration for running multiple MCP (Multi-Channel Provider) sse services locally.
Copy the sample configuration files to create your own local versions:
cp docker-compose.yml.sample docker-compose.yml
Set up DNS resolution for the MCP services as described in the DNS Configuration section. The router-level DNS configuration is recommended for simplicity.
Edit the configuration files in the mcp-configs directory to add your credentials and connection details:
This setup can be used with Cursor, Windsurf, and other AI coding assistants that support the Model Context Protocol with SSE (Server-Sent Events). The repository includes a sample mcp-servers.json file with the necessary configuration.
> Note: This setup uses the SSE (Server-Sent Events) interface of MCP servers. Tools that only support STDIO interface (like current versions of Claude Desktop) are not compatible with this setup.
For Cursor and other AI code editors that support SSE:
- Copy the content from the sample configuration below into your editor's MCP configuration
- Modify the URLs if you've changed any hostnames or ports
The MCP configuration for all services looks like:
json{
"mcpServers": {
"oracle": {
"url": "http://oracle-mcp.localhost:8088/mcp/sse"
},
"postgres": {
"url": "http://postgres-mcp.localhost:8088/mcp/sse"
},
"sqlserver": {
"url": "http://sqlserver-mcp.localhost:8088/mcp/sse"
},
"azure-devops": {
"url": "http://azure-devops-mcp.localhost:8088/mcp/sse"
},
"jira": {
"url": "http://jira-mcp.localhost:8088/mcp/sse"
},
"confluence": {
"url": "http://confluence-mcp.localhost:8088/mcp/sse"
},
"figma": {
"url": "http://figma-mcp.localhost:8088/mcp/sse"
},
"opensearch": {
"url": "http://opensearch-mcp.localhost:8088/mcp/sse"
}
}
}
``
Simply customize these settings for your environment and add them to your AI assistant's configuration. Each tool has a different location for MCP configuration - check your tool's documentation for details.
For this setup to work properly, you must configure your DNS to resolve all
*-mcp.localhost hostnames to 127.0.0.1. This can be done in several ways:
> Recommendation: Using router-level DNS configuration is the preferred approach as it's the simplest and most effective solution. It automatically works for all devices on your network without individual configuration and requires just a one-time setup. If you manage your own router/DNS server, configure this option first.
Each service has a corresponding configuration file in the
mcp-configs directory. Customize these files with your actual credentials and connection details before starting the services:
-
oracle.config: Oracle database connection parameters
- postgres.config: PostgreSQL database connection parameters
- sqlserver.config: SQL Server database connection parameters
- azure-devops.config: Azure DevOps API connection parameters
- atlassian.config: Jira and Confluence API connection parameters
- figma.config: Figma API connection parameters
- opensearch.config: OpenSearch connection parameters
The setup includes two Nginx configuration files:
-
nginx.conf: Main Nginx configuration that sets up virtual hosts for each service
- mcp-proxy.conf: Proxy settings for proper forwarding of requests to backend services
The Nginx configuration automatically routes requests based on the subdomain pattern:
{service-name}-mcp.localhost:8088 → http://{service-name}:8080 (where {service-name}` is resolved through Docker's internal DNS to the appropriate container)Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp docker compose setup": {
"mcp-docker-compose": {
"command": "docker",
"args": [
"pull",
"guang1/jdbc-mcp:latest"
]
}
}
}
}
McpServers
{
"mcp-docker-compose": {
"command": "docker",
"args": [
"pull",
"guang1/jdbc-mcp:latest"
]
}
}
This repository contains a Docker Compose configuration for running multiple MCP (Multi-Channel Provider) sse services locally.
Getting Started
Follow these steps to set up and run the MCP Docker Compose environment:
1. Clone the Repository
git clone https://github.com/guanghuang/mcp-docker-compose.git
cd mcp-docker-compose
2. Create Configuration Files from Templates
Copy the sample configuration files to create your own local versions:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



