Docker/Hetzner MCP Server
Provides tools for managing Docker containers, Compose stacks, and system resources on Hetzner servers via SSH. It also includes capabilities for reloading Caddy configurations and managing Cloudflare DNS records.
README
Docker/Hetzner MCP Server
MCP (Model Context Protocol) server for managing Docker containers, Compose stacks, and server resources on a Hetzner dedicated server via SSH. Also includes Cloudflare DNS record management.
Tools
Containers
- list_containers -- List running (or all) Docker containers
- container_logs -- Get recent logs from a container
- container_stats -- Get CPU, memory, and network I/O for a container
- restart_container -- Restart a container
- stop_container -- Stop a running container
- start_container -- Start a stopped container
Stacks
- list_stacks -- List all Docker Compose stacks found under /opt/
- stack_status -- Get status of a Compose stack
System
- system_info -- Docker system info (disk usage, image/container counts)
- disk_usage -- Server disk usage for all mount points and key directories
- system_resources -- CPU, RAM, load average, uptime, top processes
- list_images -- List Docker images sorted by size
- prune_system -- Prune unused Docker resources (not volumes)
Caddy
- caddy_reload -- Reload the Caddy reverse proxy configuration
Cloudflare DNS
- list_dns_records -- List all DNS records for a Cloudflare zone
Setup
cd docker-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# Configure
cp run-mcp.sh.example run-mcp.sh
chmod +x run-mcp.sh
# Edit run-mcp.sh and set your credentials
Prerequisites
- SSH access to the Hetzner server (configured in
~/.ssh/configas an alias) - Docker installed on the remote server
- (Optional) Cloudflare API credentials for DNS management
Environment Variables
| Variable | Required | Description |
|---|---|---|
HETZNER_SSH_HOST |
Yes | SSH host alias (default: hetzner) |
CLOUDFLARE_ZONE_ID |
No | Cloudflare Zone ID (for DNS tools) |
CLOUDFLARE_EMAIL |
No | Cloudflare account email |
CLOUDFLARE_API_KEY |
No | Cloudflare Global API Key |
Claude Code Configuration
Add to ~/.mcp.json:
{
"mcpServers": {
"docker": {
"command": "/path/to/docker-mcp/run-mcp.sh",
"type": "stdio"
}
}
}
License
MIT -- see LICENSE
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.