🚀 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
- -securityFlicense-qualityThis is an MCP server that facilitates building tools for interacting with various APIs and workflows, supporting Python-based development with potential for customizable prompts and user configurations.Last updated -Python
- -securityFlicense-qualityA server that securely manages Ethereum private keys locally and enables Claude for Desktop to interact with EVM-compatible blockchains through Infura.Last updated -TypeScript
PeakMojo Serverofficial
-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- AsecurityAlicenseAqualityA server that provides a persistent Python REPL environment through the MCP protocol, allowing execution of Python code, variable management, and package installation.Last updated -33PythonMIT License