MCP Docker Compose Setup

by guanghuang

532 downloads Not rated yet
GitHub

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Docker Compose Setup
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.