vps-mcp
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vps-mcp list my VPS servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VPS.org MCP Server
An MCP (Model Context Protocol) server that connects AI assistants to the VPS.org API. Manage VPS servers, domains, DNS records, SSH keys, and more through natural language.
Install
# Recommended: run directly with uvx (no install needed)
uvx vps-mcp
# Or install with pip
pip install vps-mcpRelated MCP server: whm-mcp-server
Get Your API Token
Log in at admin.vps.org
Go to Account → Developers (direct link)
Create a new API token
Copy the token (starts with
vps_)
Configuration
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"vps": {
"command": "uvx",
"args": ["vps-mcp"],
"env": {
"VPS_API_TOKEN": "vps_your_token_here"
}
}
}
}Claude Code
claude mcp add vps -- uvx vps-mcpThen set the environment variable before running Claude Code:
export VPS_API_TOKEN="vps_your_token_here"Custom API URL
If you need to point to a different API endpoint:
{
"env": {
"VPS_API_TOKEN": "vps_your_token_here",
"VPS_API_URL": "https://admin.vps.org/api/v1"
}
}Tools
Servers
Tool | Description |
| List all VPS servers in your account |
| Get detailed info about a specific server |
| Create a new VPS server |
| Permanently delete a server |
| Start, stop, restart, or hard-stop a server |
| Create a backup of a server |
| Create a snapshot of a server |
| Resize a server to a different plan |
Domains
Tool | Description |
| List all domains in your account |
| Get detailed info about a domain |
| Search for domain availability |
| Update nameservers for a domain |
| Renew a domain registration |
DNS
Tool | Description |
| List DNS zones (optionally filter by domain) |
| Get a DNS zone with all records |
| Create a new DNS zone |
| Delete a DNS zone and all its records |
| Create a DNS record (A, AAAA, CNAME, MX, TXT, etc.) |
| Update an existing DNS record |
| Delete a DNS record |
Info
Tool | Description |
| List available VPS plans with pricing |
| List available data center locations |
| List available OS options |
SSH Keys
Tool | Description |
| List all SSH keys in your account |
| Add a new SSH public key |
| Delete an SSH key |
Required API Permissions
Your API token needs the following permissions depending on which tools you use:
Tools | Required Permission |
Server tools |
|
Domain tools |
|
DNS tools |
|
Plan/Location/OS tools |
|
SSH Key tools |
|
All tools |
|
Examples
Once configured, you can ask your AI assistant things like:
"List my VPS servers"
"Create a new Ubuntu server in Amsterdam with the starter plan"
"Stop server abc-123"
"Add an A record for api.example.com pointing to 1.2.3.4"
"What plans are available?"
"Add my SSH key to the account"
Development
# Clone the repo
git clone https://github.com/vpsdotorg/vps-mcp.git
cd vps-mcp
# Install in development mode
uv sync
# Run the server locally
VPS_API_TOKEN=your_token uv run vps-mcpLicense
MIT
Available Tools
26 toolsadd_ssh_keyA
Add a new SSH public key to your account.
Args: name: A label for the key (e.g. "work-laptop") public_key: The SSH public key (e.g. "ssh-ed25519 AAAA...")
Inputs: name (required), public_key (required). Returns: result
create_backupC
Create a backup of a VPS server.
Args: server_uuid: The UUID of the server to back up
Inputs: server_uuid (required). Returns: result
create_dns_recordA
Create a DNS record in a zone.
Args: zone_uuid: The UUID of the DNS zone record_type: Record type (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA) name: Record name (e.g. "@" for root, "www", "mail") value: Record value (e.g. IP address, hostname) ttl: Time to live in seconds (default 3600) priority: Priority for MX/SRV records
Inputs: zone_uuid (required), record_type (required), name (required), value (required), +2 more. Returns: result
create_dns_zoneB
Create a new DNS zone for a domain.
Args: domain: The domain name (e.g. "example.com")
Inputs: domain (required). Returns: result
create_serverA
Create a new VPS server.
Args: hostname: Hostname for the server (e.g. "my-server") location_id: Location ID (use list_locations to find available locations) plan_uuid: UUID of the plan (use list_plans to find available plans) os_version_uuid: UUID of the OS version (use list_operating_systems to find options) ssh_key_ids: Optional list of SSH key UUIDs to install on the server
Inputs: hostname (required), location_id (required), plan_uuid (required), os_version_uuid (required), +1 more. Returns: result
create_snapshotC
Create a snapshot of a VPS server.
Args: server_uuid: The UUID of the server to snapshot label: Optional label for the snapshot
Inputs: server_uuid (required), label. Returns: result
delete_dns_recordC
Delete a DNS record.
Args: record_uuid: The UUID of the DNS record to delete
Inputs: record_uuid (required). Returns: result
delete_dns_zoneB
Delete a DNS zone and all its records.
Args: zone_uuid: The UUID of the DNS zone to delete
Inputs: zone_uuid (required). Returns: result
delete_serverB
Permanently delete a VPS server. This action is irreversible.
Args: server_uuid: The UUID of the server to delete
Inputs: server_uuid (required). Returns: result
delete_ssh_keyB
Delete an SSH key from your account.
Args: ssh_key_uuid: The UUID of the SSH key to delete
Inputs: ssh_key_uuid (required). Returns: result
get_dns_zoneB
Get a DNS zone with all its records.
Args: zone_uuid: The UUID of the DNS zone
Inputs: zone_uuid (required). Returns: result
get_domainB
Get detailed information about a specific domain.
Args: domain_uuid: The UUID of the domain
Inputs: domain_uuid (required). Returns: result
get_serverB
Get detailed information about a specific VPS server.
Args: server_uuid: The UUID of the server
Inputs: server_uuid (required). Returns: result
list_dns_zonesB
List DNS zones, optionally filtered by domain name.
Args: domain: Optional domain name to filter by
Inputs: domain. Returns: result
list_domainsA
List all domains in your account.
Args: page: Page number (default 1)
Inputs: page. Returns: result
list_locationsB
List all available data center locations.
Inputs: no named parameters. Returns: result
list_operating_systemsA
List all available operating systems and their versions.
Inputs: no named parameters. Returns: result
list_plansA
List all available VPS plans with pricing, specs, and UUIDs.
Inputs: no named parameters. Returns: result
list_serversA
List all VPS servers in your account.
Args: page: Page number (default 1) page_size: Results per page (default 20, max 100)
Inputs: page, page_size. Returns: result
list_ssh_keysA
List all SSH keys in your account.
Inputs: no named parameters. Returns: result
renew_domainC
Renew a domain registration.
Args: domain_uuid: The UUID of the domain to renew years: Number of years to renew for (default 1)
Inputs: domain_uuid (required), years. Returns: result
resize_serverA
Resize a VPS server to a different plan. The server may be restarted.
Args: server_uuid: The UUID of the server to resize new_plan_uuid: The UUID of the new plan (use list_plans to see options)
Inputs: server_uuid (required), new_plan_uuid (required). Returns: result
search_domainsB
Search for domain availability.
Args: domain: The domain name to search for (e.g. "example.com")
Inputs: domain (required). Returns: result
server_powerA
Control the power state of a VPS server.
Args: server_uuid: The UUID of the server action: Power action — one of: "start", "stop", "restart", "hard_stop"
Inputs: server_uuid (required), action (required). Returns: result
update_dns_recordB
Update an existing DNS record.
Args: record_uuid: The UUID of the DNS record to update record_type: New record type name: New record name value: New record value ttl: New TTL in seconds priority: New priority (MX/SRV records)
Inputs: record_uuid (required), record_type, name, value, +2 more. Returns: result
update_nameserversA
Update the nameservers for a domain.
Args: domain_uuid: The UUID of the domain ns1: Primary nameserver (required) ns2: Secondary nameserver ns3: Third nameserver ns4: Fourth nameserver
Inputs: domain_uuid (required), ns1 (required), ns2, ns3, +1 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 26 tools
Each tool targets a distinct resource and action (e.g., create_server vs. list_servers vs. get_server) with no overlap. Tools for VPS, DNS, SSH keys, and domains are clearly separated.
All tools follow a consistent verb_noun pattern (e.g., create_server, list_dns_zones, delete_ssh_key). Minor exceptions like server_power are still intuitive.
26 tools cover multiple domains (VPS, DNS, SSH, domains) without being excessive. Each tool serves a clear purpose, though the count is slightly above the typical sweet spot of 3-15.
The tool set provides full CRUD and lifecycle management for VPS servers, DNS zones/records, SSH keys, and domains. Common operations like backup, snapshot, resize, power control, and domain renewals are included.
Maintenance
Related MCP Connectors
Manage Vozora VPS servers, SSH keys, firewalls, DNS and usage from an AI agent.
Manage VeriTeknik servers, DNS, backups and support tickets from your AI assistant.
- ZapX by ZAP-HostingDeprecatedcom.zap-hosting
Manage ZAP-Hosting game servers, VPS, dedicated servers, TeamSpeak and domains from your AI client.
Manage American Cloud VMs, Kubernetes, databases, storage, networks and DNS from your AI assistant.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to manage SpinupWP infrastructure, including servers, WordPress sites, and SSH keys through the SpinupWP v1 JSON API. Users can perform actions like provisioning sites, purging caches, and restarting services via natural language commands.17MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage WHM hosting accounts and server administration tasks including account management, server stats, updates, SSL, backups, and email through a secure API.13ISC
- FlicenseAqualityDmaintenanceGives AI assistants full control over a VPS via SSH, enabling command execution, file management, service control, Docker and firewall management.96-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage cPanel hosting accounts including DNS, email, databases, SSL, files, security, and more through natural language using cPanel's UAPI and API2.ISC