Infra-Manager MCP Server
Ce que fait ce service
Serveur MCP (Model Context Protocol) qui expose l'infrastructure Proxmox à des agents IA (Claude, etc.). Permet à un LLM de lister, créer, démarrer, arrêter ou inspecter des VMs et containers LXC Proxmox, ainsi que d'exécuter des commandes SSH sur les nœuds. Utilise le protocole SSE (Server-Sent Events) pour la communication MCP.
Où il est installé
/data/compose/logs/ (monté dans /var/log du container)ghcr.io/faton5/homelab-mcp-server:latest (image personnelle publiée sur GitHub Container Registry)infra-manager-mcpConfiguration actuelle
docker-compose.yml (stack Portainer 2) :
services:
infra-manager-mcp:
image: ghcr.io/faton5/homelab-mcp-server:latest
container_name: infra-manager-mcp
restart: unless-stopped
ports:
- "10850:10850"
environment:
- PROXMOX_HOST=192.168.1.12
- PROXMOX_PORT=8006
- PROXMOX_TOKEN_ID=root@pam!mcp
- PROXMOX_TOKEN_SECRET=***
- PROXMOX_VERIFY_SSL=false
- PROXMOX_TIMEOUT=30
- MCP_TRANSPORT=sse
- MCP_HOST=0.0.0.0
- MCP_PORT=10850
- MCP_NAME=infra-manager
- SSH_ENABLED=true
- SSH_DEFAULT_USER=root
- LOG_LEVEL=INFO
- PYTHONUNBUFFERED=1
volumes:
- ./logs:/var/log
networks:
- infra-network
networks:
infra-network:
driver: bridge
Le container tourne tail -f /dev/null comme commande principale — le serveur MCP est probablement lancé différemment (entrypoint ou processus supervisé).
Ports et réseau
| Port hôte | Port container | Usage |
| --- | --- | --- |
10850 | 10850 | API MCP via SSE (Server-Sent Events) |
http://:10850 Variables d'environnement
| Variable | Valeur |
| --- | --- |
PROXMOX_HOST | 192.168.1.12 |
PROXMOX_PORT | 8006 |
PROXMOX_TOKEN_ID | root@pam!mcp |
PROXMOX_TOKEN_SECRET | *** |
PROXMOX_VERIFY_SSL | false |
PROXMOX_TIMEOUT | 30 |
MCP_TRANSPORT | sse |
MCP_HOST | 0.0.0.0 |
MCP_PORT | 10850 |
MCP_NAME | infra-manager |
SSH_ENABLED | true |
SSH_DEFAULT_USER | root |
LOG_LEVEL | INFO |
Dépendances
192.168.1.12:8006), SSH sur les nœuds ProxmoxCommandes
Voir le statut
docker ps --filter name=infra-manager-mcp
Voir les logs
```bash
docker logs infra-manager-mcp --tail 50
Ou directement :
ls /data/compose/logs/
```
Démarrer
docker start infra-manager-mcp
Arrêter
docker stop infra-manager-mcp
Redémarrer
docker restart infra-manager-mcp
Logs — Dernière activité
Aucun log produit observé directement (container tourne avec
tail -f /dev/null, logs éventuellement dans /data/compose/logs/).
Points d'attention
root@pam!mcp — c'est un token root avec potentiellement tous les droits. Vérifier dans Proxmox quels droits sont effectivement associés à ce token (Datacenter → API Tokens).SSH_ENABLED=true avec SSH_DEFAULT_USER=root signifie que le MCP peut exécuter des commandes SSH en tant que root sur les nœuds Proxmox — surface d'attaque importante si le port 10850 est exposé publiquement.PROXMOX_VERIFY_SSL=false — les communications Proxmox ne vérifient pas le certificat TLS.10850 doit idéalement rester privé (réseau local uniquement ou accessible uniquement via tunnel/VPN), pas exposé sur Internet.ghcr.io/faton5/homelab-mcp-server) — si l'image est mise à jour sur GitHub, un docker pull + redémarrage met à jour le serveur.