Learn how to build and deploy MCP (Model Context Protocol) servers using Docker! This repository contains everything from the NetworkChuck Docker MCP video tutorial, including complete examples, templates, and step-by-step guides.
Watch the full video tutorial on YouTube โ
Get your first MCP server running in under 5 minutes:
# 1. Install Docker Desktop (if not already installed)
# Visit: https://docs.docker.com/desktop/
# 2. Enable Docker MCP Toolkit
# Settings โ Beta Features โ Enable "Docker MCP Toolkit"
# 3. Clone this repository
git clone https://github.com/networkchuck/docker-mcp-tutorial.git
cd docker-mcp-tutorial
# 4. Build the dice roller example
cd examples/dice-roller
docker build -t dice-mcp-server .
# 5. Follow the Quick Start Guide
# See: quick-start/setup-guide.md
- Dice Roller - Fun D&D dice rolling MCP server with all files ready to run
NetworkChuck's custom prompt that generates complete MCP servers from simple descriptions. Just describe what you want, and it creates everything!
- Step-by-step installation guides (Mac, Windows, Linux)
- How to build custom MCP servers
- Docker MCP Gateway deep dive
- Troubleshooting common issues
Every tool, link, and resource mentioned in the video, organized and ready to use.
docker-mcp-tutorial/
โโโ examples/ # Complete working MCP server
โ โโโ dice-roller/ # D&D dice rolling server
โโโ mcp-builder-prompt/ # AI prompt to generate MCP servers
โโโ quick-start/ # Get running in 5 minutes
โโโ docs/ # Detailed documentation
โ โโโ installation.md # Platform-specific setup
โ โโโ custom-servers.md # Build your own servers
โ โโโ docker-gateway.md # Gateway architecture
โ โโโ troubleshooting.md # Common issues & fixes
โโโ resources/ # Links and additional resources
- MCP Fundamentals - Understand the Model Context Protocol
- Docker Integration - Run MCP servers in containers
- Build Custom Servers - Create your own AI tools
- API Integration - Connect to external services
- Security & Secrets - Manage API keys safely
- Remote Access - Expose servers over network
- n8n Integration - Automation workflows with MCP
- Docker Desktop installed and running
- Claude Desktop or another MCP-compatible client
- Basic command line knowledge
- Coffee โ (highly recommended)
- Download Docker Desktop
- Enable MCP Toolkit in Beta Features
- Set up Claude Desktop, Cursor, or LM Studio
- Configure MCP gateway connection
- Build Docker containers for MCP servers
- Register servers in catalog
- Start using with your AI!
Detailed platform-specific instructions in docs/installation.md
- Open the prompt template:
mcp-builder-prompt/mcp-builder-prompt.md
- Describe your desired functionality
- Feed to Claude or your preferred AI
- Get complete, working MCP server code!
"I want to build a weather MCP server that can:
- Get current weather for any city
- Get 5-day forecast
- Convert between Celsius and Fahrenheit
Use the OpenWeather API"
The AI will generate all files needed: Dockerfile, Python server, configuration, and installation instructions!
Perfect for D&D and tabletop gaming:
- Roll any dice notation (2d6+3, 1d20, etc.)
- D&D stat generation
- Advantage/disadvantage rolls
- Skill checks against DC
Note: The video also demonstrates building Toggl Timer and Kali Linux MCP servers. Use the MCP Builder Prompt to create these or any other server you can imagine!
The Docker MCP Gateway is the magic that makes this all work:
- Centralized Management - One connection, multiple servers
- Secret Management - Secure API key storage
- Transport Options - Local (stdio) or Network (SSE)
- Dynamic Containers - Servers run on-demand
Learn more in docs/docker-gateway.md
Run your MCP servers over the network:
# Start gateway with network transport
docker mcp gateway run --transport sse
# Access from n8n or remote clients
http://YOUR_IP:8811
Perfect for automation workflows and remote AI operations!
Tools not appearing in Claude?
- Restart Claude Desktop
- Check catalog and registry files
- Verify Docker image built successfully
Authentication errors?
- Verify secrets:
docker mcp secret list
- Check environment variable names
Container not running?
- Check logs:
docker logs [container-name]
- Verify Dockerfile syntax
Full troubleshooting guide in docs/troubleshooting.md
Found a bug? Have an improvement? Contributions are welcome!
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
MIT License - See LICENSE file for details
- Docker for sponsoring and creating the MCP Toolkit
- Anthropic for the Model Context Protocol
- The amazing NetworkChuck community
If this helped you, consider:
- โญ Starring this repository
- ๐ Subscribing to NetworkChuck on YouTube
- โ Buying NetworkChuck a coffee
Remember: The world of AI tools is evolving rapidly. This is your chance to be part of the revolution. Don't waste it!
"Hack YouTube ethically, of course." - NetworkChuck