- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
6.4 KiB
MCP Server Configuration
Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation
This document describes how to configure the Proxmox MCP server for use with Claude Desktop and other MCP clients.
Claude Desktop Configuration
Step 1: Locate Claude Desktop Config File
The config file location depends on your operating system:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Step 2: Create or Update Config File
Add the Proxmox MCP server configuration. You have two options:
Option 1: Using External .env File (Recommended)
This is the recommended approach as it keeps sensitive credentials out of the config file:
{
"mcpServers": {
"proxmox": {
"command": "node",
"args": ["/home/intlc/projects/proxmox/mcp-proxmox/index.js"]
}
}
}
Important: The server automatically loads environment variables from /home/intlc/.env (one directory up from mcp-proxmox).
Option 2: Inline Environment Variables
If you prefer to specify environment variables directly in the config:
{
"mcpServers": {
"proxmox": {
"command": "node",
"args": ["/home/intlc/projects/proxmox/mcp-proxmox/index.js"],
"env": {
"PROXMOX_HOST": "your-proxmox-ip-or-hostname",
"PROXMOX_USER": "root@pam",
"PROXMOX_TOKEN_NAME": "your-token-name",
"PROXMOX_TOKEN_VALUE": "your-token-secret",
"PROXMOX_ALLOW_ELEVATED": "false",
"PROXMOX_PORT": "8006"
}
}
}
}
Step 3: Create .env File (if using Option 1)
Create a .env file at /home/intlc/.env with the following content:
# Proxmox Configuration (REQUIRED)
PROXMOX_HOST=your-proxmox-ip-or-hostname
PROXMOX_USER=root@pam
PROXMOX_TOKEN_NAME=your-token-name
PROXMOX_TOKEN_VALUE=your-token-secret
# Security Settings (REQUIRED)
PROXMOX_ALLOW_ELEVATED=false # Set to 'true' for advanced features
# Optional Settings
# PROXMOX_PORT=8006 # Defaults to 8006
⚠️ WARNING: Setting PROXMOX_ALLOW_ELEVATED=true enables DESTRUCTIVE operations (creating, deleting, modifying VMs/containers, snapshots, backups, etc.). Only enable if you understand the security implications!
Step 4: Restart Claude Desktop
After adding the configuration:
- Save the config file
- Restart Claude Desktop completely
- Verify the server is loaded in Claude Desktop → Settings → Developer → MCP Servers
- Test by asking Claude: "List my Proxmox VMs"
Proxmox API Token Setup
You have two options to create a Proxmox API token:
Option 1: Using the Script (Recommended)
Use the provided script to create a token programmatically:
./scripts/create-proxmox-token.sh <proxmox-host> <username> <password> [token-name]
Example:
./scripts/create-proxmox-token.sh 192.168.1.100 root@pam mypassword mcp-server
The script will:
- Authenticate with your Proxmox server
- Create the API token
- Display the token values to add to your
.envfile
⚠️ Note: You'll need valid Proxmox credentials (username/password) to run this script.
Option 2: Manual Creation via Web Interface
- Log into your Proxmox web interface
- Navigate to Datacenter → Permissions → API Tokens
- Click Add to create a new API token:
- User: Select existing user (e.g.,
root@pam) - Token ID: Enter a name (e.g.,
mcp-server) - Privilege Separation: Uncheck for full access or leave checked for limited permissions
- Click Add
- User: Select existing user (e.g.,
- Important: Copy both the Token ID and Secret immediately (secret is only shown once)
- Use Token ID as
PROXMOX_TOKEN_NAME - Use Secret as
PROXMOX_TOKEN_VALUE
- Use Token ID as
Permission Requirements
- Basic Mode (
PROXMOX_ALLOW_ELEVATED=false): Minimal permissions (usually default user permissions work) - Elevated Mode (
PROXMOX_ALLOW_ELEVATED=true): Add permissions forSys.Audit,VM.Monitor,VM.Console,VM.Allocate,VM.PowerMgmt,VM.Snapshot,VM.Backup,VM.Config,Datastore.Audit,Datastore.Allocate
Testing the MCP Server
You can test the server directly from the command line:
# Test server startup
cd /home/intlc/projects/proxmox/mcp-proxmox
node index.js
# Test listing tools
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node index.js
# Test a basic API call
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "proxmox_get_nodes", "arguments": {}}}' | node index.js
Available Tools
The Proxmox MCP server provides 55+ tools for interacting with Proxmox, including:
- Node management (list nodes, get status, get resources)
- VM and container management (list, create, delete, start, stop, reboot)
- Storage management (list storage, get details)
- Snapshot management (create, list, restore, delete)
- Backup management (create, list, restore, delete)
- Network management
- And much more...
See the mcp-proxmox README for the complete list of available tools.
Troubleshooting
Server Connection Errors
If Claude Desktop shows server connection errors:
- Verify the path to
index.jsis correct and absolute - Ensure Node.js is installed and in your PATH
- Check that dependencies are installed:
cd mcp-proxmox && pnpm install - Test the server manually using the commands above
Environment File Not Found
If you see "Could not load .env file" warnings:
- Verify the
.envfile exists at/home/intlc/.env(one directory up frommcp-proxmox) - Check file permissions:
ls -la ~/.env - Verify the file contains valid environment variables
Authentication Errors
If you see authentication errors:
- Verify your Proxmox API token is valid
- Check that
PROXMOX_HOST,PROXMOX_USER,PROXMOX_TOKEN_NAME, andPROXMOX_TOKEN_VALUEare all set correctly - Test the token manually using curl:
curl -k -H "Authorization: PVEAPIToken=root@pam!token-name=token-secret" \ https://your-proxmox-host:8006/api2/json/nodes
Permission Errors
If operations fail with permission errors:
- Check that your API token has the required permissions
- For basic operations, ensure you have at least read permissions
- For elevated operations, ensure
PROXMOX_ALLOW_ELEVATED=trueis set and the token has appropriate permissions