🚀 Proxmox Manager - Servidor MCP de Proxmox
Un servidor de Protocolo de contexto de modelo (MCP) basado en Python para interactuar con hipervisores Proxmox, proporcionando una interfaz limpia para administrar nodos, máquinas virtuales y contenedores.
🏗️ Construido con
- Cline - Agente de codificación autónomo: vaya más rápido con Cline.
- Proxmoxer : contenedor de Python para la API de Proxmox
- SDK de MCP - SDK de protocolo de contexto de modelo
- Pydantic - Validación de datos mediante anotaciones de tipo de Python
✨ Características
- 🤖 Integración completa con Cline
- 🛠️ Creado con el SDK oficial de MCP
- Autenticación segura basada en tokens con Proxmox
- 🖥️ Herramientas para gestionar nodos y máquinas virtuales
- 💻 Ejecución de comandos de la consola de VM
- 📝 Sistema de registro configurable
- ✅ Implementación de tipos seguros con Pydantic
- 🎨 Formato de salida enriquecido con temas personalizables
https://github.com/user-attachments/assets/1b5f42f7-85d5-4918-aca4-d38413b0e82b
📦 Instalación
Prerrequisitos
- Gestor de paquetes UV (recomendado)
- Python 3.10 o superior
- Git
- Acceso a un servidor Proxmox con credenciales de token API
Antes de comenzar, asegúrese de tener:
- [ ] Nombre de host o IP del servidor Proxmox
- [ ] Token API de Proxmox (ver Configuración del token API )
- [ ] UV instalado (
pip install uv
)
Opción 1: Instalación rápida (recomendada)
- Clonar y configurar el entorno:
- Instalar dependencias:
- Crear configuración:
- Editar
proxmox-config/config.json
:
Verificación de la instalación
- Compruebe el entorno de Python:
- Ejecutar las pruebas:
- Verificar configuración:Deberías ver:
- Una conexión exitosa a su servidor Proxmox
- O un error de conexión (si los detalles de Proxmox son incorrectos)
⚙️ Configuración
Configuración del token API de Proxmox
- Inicie sesión en su interfaz web de Proxmox
- Vaya a Centro de datos -> Permisos -> Tokens de API
- Crear un nuevo token de API:
- Seleccione un usuario (por ejemplo, root@pam)
- Introduzca un ID de token (por ejemplo, "mcp-token")
- Desmarque "Separación de privilegios" si desea acceso completo
- Guarde y copie tanto el ID del token como el secreto
🚀 Ejecución del servidor
Modo de desarrollo
Para pruebas y desarrollo:
Integración de escritorio de Cline
Para los usuarios de Cline, agregue esta configuración a su archivo de configuración de MCP (normalmente en ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
):
Para ayudar a generar las rutas correctas, puede utilizar este comando:
Importante:
- Todas las rutas deben ser absolutas
- El intérprete de Python debe ser de su entorno virtual
- PYTHONPATH debe apuntar al directorio src
- Reiniciar VSCode después de actualizar la configuración de MCP
🔧 Herramientas disponibles
El servidor proporciona las siguientes herramientas MCP para interactuar con Proxmox:
obtener_nodos
Enumera todos los nodos del clúster Proxmox.
- Parámetros: Ninguno
- Ejemplo de respuesta:
obtener_estado_del_nodo
Obtenga el estado detallado de un nodo específico.
- Parámetros:
node
(cadena, obligatorio): Nombre del nodo
- Ejemplo de respuesta:
obtener_vms
Enumere todas las máquinas virtuales del clúster.
- Parámetros: Ninguno
- Ejemplo de respuesta:
obtener_almacenamiento
Enumere el almacenamiento disponible.
- Parámetros: Ninguno
- Ejemplo de respuesta:
obtener_estado_del_clúster
Obtener el estado general del clúster.
- Parámetros: Ninguno
- Ejemplo de respuesta:
ejecutar_comando_vm
Ejecute un comando en la consola de una máquina virtual mediante el agente invitado QEMU.
- Parámetros:
node
(cadena, obligatorio): nombre del nodo donde se ejecuta la máquina virtualvmid
(cadena, obligatoria): ID de la máquina virtualcommand
(cadena, obligatorio): Comando a ejecutar
- Ejemplo de respuesta:
- Requisitos:
- La máquina virtual debe estar ejecutándose
- El agente invitado de QEMU debe estar instalado y ejecutándose en la máquina virtual
- Los permisos de ejecución de comandos deben estar habilitados en el Agente Invitado
- Manejo de errores:
- Devuelve un error si la máquina virtual no se está ejecutando
- Devuelve un error si no se encuentra la máquina virtual
- Devuelve un error si falla la ejecución del comando
- Incluye la salida del comando incluso si el comando devuelve un código de salida distinto de cero
👨💻 Desarrollo
Después de activar su entorno virtual:
- Ejecutar pruebas:
pytest
- Código de formato:
black .
- Comprobación de tipos:
mypy .
- Pelusa:
ruff .
📁 Estructura del proyecto
📄 Licencia
Licencia MIT
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Un servidor basado en Python que permite la interacción con hipervisores Proxmox. Admite autenticación segura y proporciona herramientas para la gestión de nodos, máquinas virtuales, clústeres y almacenamiento.
- 🏗️ Construido con
- ✨ Características
- 📦 Instalación
- ⚙️ Configuración
- 🚀 Ejecución del servidor
- 🔧 Herramientas disponibles
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Python server implementation that enables integration with the PeakMojo API, providing access to various resources like users, personas, scenarios, and tools for managing PeakMojo functionality.Last updated -PythonMIT License
- AsecurityFlicenseAqualityA Python server that enables interaction with Box files and folders through the Box API, allowing operations like file search, text extraction, and AI-based querying and data extraction.Last updated -842Python
- -securityFlicense-qualityA Python-based server that helps users easily install and configure other MCP servers across different platforms.Last updated -2Python
- -securityAlicense-qualityAn enhanced Python-based MCP server that enables complete VM lifecycle management and monitoring of Proxmox virtualization platforms through natural language, with 11 REST API endpoints for seamless integration.Last updated -6PythonMIT License