Overview
All MCP servers in this repository can be deployed using Docker, providing consistent environments and simplified dependency management. This guide covers building, running, and configuring Docker-based MCP servers.Building Docker Images
Oracle MCP Server
MySQL MCP Server
MikroTik MCP Server
All builds should be run from the repository root directory, as the Dockerfiles reference source code paths relative to the root.
Running MCP Servers
Oracle Database Server
With Connection String
Without Connection String
orcl-connect tool to establish a connection.
MySQL Database Server
Basic Usage
With Performance Schema
For optimal performance monitoring with themysql-awr tool:
MikroTik RouterOS Server
Plain TCP Connection
SSL/TLS Connection
Docker Networking
Connecting to Host Services
macOS Host Network Access
macOS Host Network Access
When running Docker on macOS and connecting to services on the host machine (like a local database), use
host.docker.internal instead of localhost:Linux Host Network Access
Linux Host Network Access
On Linux, you can use Or use the host gateway IP:
--network host to access host services:Windows Host Network Access
Windows Host Network Access
On Windows with Docker Desktop, use
host.docker.internal:Client Integration
Claude Desktop
Add Docker-based servers toclaude_desktop_config.json:
VS Code
Configure in.vscode/mcp.json:
Docker Run Options
Essential Flags
-i- Keep STDIN open for MCP protocol communication--rm- Automatically remove container when it exits-e- Set environment variables for credentials
Additional Options
Environment Variables Reference
Oracle MCP Server
| Variable | Required | Description |
|---|---|---|
ORACLE_USER | Conditional | Username (required if connecting on startup) |
ORACLE_PASSWORD | Conditional | Password (required if connecting on startup) |
MySQL MCP Server
| Variable | Required | Description |
|---|---|---|
MYSQL_USER | Conditional | Username (required if connecting on startup) |
MYSQL_PASSWORD | Conditional | Password (required if connecting on startup) |
MikroTik MCP Server
| Variable | Required | Description |
|---|---|---|
MK_USER | Conditional | Username (required if connecting on startup) |
MK_PASSWORD | Conditional | Password (required if connecting on startup) |
All environment variables are optional if you plan to use runtime connection tools like
orcl-connect, mysql-connect, or mk-connect.Troubleshooting Docker Issues
Connection Refused
Permission Issues
Image Pull Issues
Best Practices
- Never hardcode credentials in Dockerfiles or scripts - use environment variables
- Use
--rmflag to prevent container accumulation - Keep images updated with security patches
- Test connectivity from the container before configuring clients
- Use secrets management for production deployments
- Monitor container logs for connection issues