josephrichard7/proxmox-mpc
If you are the rightful owner of proxmox-mpc and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Model Context Protocol (MCP) server for Proxmox-mpc enables AI-powered interactions and management of Proxmox Virtual Environment resources through natural language and declarative state management.
proxmox-mpc
A console tool, web application, and Model Context Protocol (MCP) server to help manage and create resources in Proxmox home lab servers with natural language interaction and declarative state management.
Description
This application provides a comprehensive solution for managing Proxmox Virtual Environment (PVE) infrastructure through multiple interfaces:
- Console Tool: CLI for direct server management
- Web Application: Browser-based interface for visual management
- MCP Server: Model Context Protocol integration for AI-powered interactions
- State Management: Kubernetes/Helm-style declarative configuration management
- Natural Language: Interact with your Proxmox server using natural language commands
The system maintains the full state of the Proxmox server in a database and works like Helm and Kubernetes, continuously reconciling the actual infrastructure state with the desired state defined in configuration files.
Features
- ๐ฅ๏ธ Multi-interface support (CLI, Web, MCP)
- ๐ฃ๏ธ Natural language interaction with Proxmox resources
- ๐ Complete state synchronization and management
- ๐ Declarative configuration with automatic reconciliation
- ๐ Designed for home lab environments
- ๐ Resource monitoring and management
Current Status
๐ง Active Development - Phase 2.1 (Database Design) in progress
โ Working Features
- Proxmox API Connection: Test connectivity to your Proxmox server
- Node Management: List cluster nodes with resource usage
- CLI Interface: Command-line tools with verbose output options
๐งช Tested Configuration
- Proxmox VE: 8.4.1 (successfully tested)
- Authentication: API token authentication
- SSL: Self-signed certificate handling for homelab environments
Getting Started
Prerequisites
- Proxmox VE server with API token access
- Node.js 18+ (for development)
- Git for cloning the repository
Installation
-
Clone the repository:
git clone https://github.com/josephrichard7/proxmox-mpc.git cd proxmox-mpc
-
Install dependencies:
npm install
-
Configure Proxmox connection:
cp .env.example .env # Edit .env with your Proxmox server details: # - PROXMOX_HOST (your server IP/domain) # - PROXMOX_USERNAME (e.g., root@pam) # - PROXMOX_TOKEN_ID (create in Proxmox UI) # - PROXMOX_TOKEN_SECRET (from Proxmox token creation) # - PROXMOX_NODE (your node name)
Usage
Available CLI Commands
# Test connection to your Proxmox server
npm run cli test-connection
# Test connection with detailed output
npm run cli test-connection -v
# List cluster nodes with resource usage
npm run cli list-nodes
# List nodes with detailed information
npm run cli list-nodes -v
# Run all tests
npm test
# Check TypeScript compilation
npm run typecheck
API Token Setup
- Login to your Proxmox web interface
- Navigate to: Datacenter โ Permissions โ API Tokens
- Click Add to create a new token:
- User:
root@pam
(or your preferred user) - Token ID:
proxmox-mpc
(or any name) - Privilege Separation: Uncheck for testing
- User:
- Copy the generated secret and update your
.env
file
Documentation
- : Complete 8-phase development roadmap
- : Current status and achievements
- : Comprehensive Proxmox API documentation
- : Detailed plans for each development phase
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.