MCP Server für Claude Desktop
Tools · 5 min
MCP ist ein offener Standard von Anthropic, der Claude Desktop mit externen Tools verbindet. Du kannst eigene Server schreiben (Python, TypeScript), die Docker, Proxmox, Grafana oder Ollama steuern — alles per natürlicher Sprache. Setup in unter 10 Minuten mit FastMCP.
Model Context Protocol (MCP) verbindet Claude Desktop mit deiner Infrastruktur.

Was ist MCP?
MCP ist ein offener Standard von Anthropic. Er ermöglicht Claude, mit externen Tools und Datenquellen zu kommunizieren.
Unsere MCP Server
| Server | Tools | Steuert |
|---|---|---|
| Portainer | 5 | Docker Container |
| Proxmox | 6 | VMs, LXCs |
| n8n | 5 | Workflows |
| Ollama | 4 | LLM-Modelle |
| Grafana | 6 | Dashboards |
| Uptime Kuma | 3 | Monitoring |
Installation
# 1. Python installieren
pip install mcp
# 2. Claude Desktop config
# ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"homelab": {
"command": "python3",
"args": ["/path/to/server.py"]
}
}
}Nach dem Neustart von Claude Desktop siehst du die verfügbaren Tools im Menü.

Eigener MCP Server mit FastMCP
# 1. FastMCP installieren
pip install fastmcp
# 2. server.py erstellen
from fastmcp import FastMCP
import subprocess
mcp = FastMCP("Homelab Server")
@mcp.tool()
def run_docker_command(command: str) -> str:
"""Führe Docker Commands aus"""
result = subprocess.run(
command.split(),
capture_output=True,
text=True
)
return result.stdout + result.stderr
@mcp.tool()
def get_container_status() -> list:
"""Liste alle laufenden Container"""
result = subprocess.run(
["docker", "ps", "--format", "{{.Names}}"],
capture_output=True,
text=True
)
return result.stdout.strip().split("
")
@mcp.tool()
def restart_service(service: str) -> str:
"""Starte einen Docker Service neu"""
result = subprocess.run(
["docker-compose", "restart", service],
capture_output=True,
text=True
)
return f"Service {service} restartet"
if __name__ == "__main__":
mcp.run(transport="stdio")Beispiel-Queries
- • "Welche Container laufen gerade?"
- • "Starte die docker-swarm3 VM"
- • "Zeig mir alle aktiven Alerts"
- • "Wie viel VRAM nutzt Ollama?"
# Erwartete Claude-Antworten:
User: "Welche Container laufen gerade?"
Claude: "Ich frage mal schnell die Docker-API..."
→ nutzt get_container_status()
→ "Aktuell laufen: nginx, postgres, redis, ollama"
User: "Starte den n8n Container neu"
Claude: "Klar, einen Moment..."
→ nutzt restart_service("n8n")
→ "Done. n8n läuft wieder."Offizielle Quellen
- modelcontextprotocol.io
Offizielle Dokumentation
- FastMCP Framework
Python-Framework für MCP-Server
Fazit
MCP ermöglicht Claude, deine gesamte Infrastruktur zu steuern — per Natural Language.
War dieser Artikel hilfreich?
Nächster Schritt: Workflows sauber in Betrieb bringen
Nutze bewährte n8n-Patterns, Templates und Integrationen für Workflows, die lokal, dokumentiert und auditierbar bleiben.
- Lokal und self-hosted gedacht
- Dokumentiert und auditierbar
- Aus eigener Runtime entwickelt
- Made in Austria