MCP server for the VPS.org API — manage servers, domains, DNS, and more from AI assistants
Project description
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-mcp
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-mcp
Then 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_servers |
List all VPS servers in your account |
get_server |
Get detailed info about a specific server |
create_server |
Create a new VPS server |
delete_server |
Permanently delete a server |
server_power |
Start, stop, restart, or hard-stop a server |
create_backup |
Create a backup of a server |
create_snapshot |
Create a snapshot of a server |
resize_server |
Resize a server to a different plan |
Domains
| Tool | Description |
|---|---|
list_domains |
List all domains in your account |
get_domain |
Get detailed info about a domain |
search_domains |
Search for domain availability |
update_nameservers |
Update nameservers for a domain |
renew_domain |
Renew a domain registration |
DNS
| Tool | Description |
|---|---|
list_dns_zones |
List DNS zones (optionally filter by domain) |
get_dns_zone |
Get a DNS zone with all records |
create_dns_zone |
Create a new DNS zone |
delete_dns_zone |
Delete a DNS zone and all its records |
create_dns_record |
Create a DNS record (A, AAAA, CNAME, MX, TXT, etc.) |
update_dns_record |
Update an existing DNS record |
delete_dns_record |
Delete a DNS record |
Info
| Tool | Description |
|---|---|
list_plans |
List available VPS plans with pricing |
list_locations |
List available data center locations |
list_operating_systems |
List available OS options |
SSH Keys
| Tool | Description |
|---|---|
list_ssh_keys |
List all SSH keys in your account |
add_ssh_key |
Add a new SSH public key |
delete_ssh_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 | servers:* |
| Domain tools | domains:* |
| DNS tools | dns:* |
| Plan/Location/OS tools | servers:read |
| SSH Key tools | ssh_keys:* |
| 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-mcp
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vps_mcp-0.1.0.tar.gz.
File metadata
- Download URL: vps_mcp-0.1.0.tar.gz
- Upload date:
- Size: 54.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0579aba0501d97d41e570c428dd5730c239d26fc8884682e8670231ce36f291
|
|
| MD5 |
28b93754c65a349ca65f214e99b9f128
|
|
| BLAKE2b-256 |
fc869ea0e66b531d0d4b4e5c1b2613a7f54c52bd91cb33f4d7668bc64af08026
|
File details
Details for the file vps_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vps_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
416e92a272a0f2e368b05b2c4e0fb7f60bfe9c8b610ef631970aeb77a757e35e
|
|
| MD5 |
d7d79a45bff9068308aa28c2dd08b000
|
|
| BLAKE2b-256 |
3330a3d1caed314c498854cbe6708825b8702aabc5eebccd40582e6e9029010e
|