Vultr MCP
Provides comprehensive management of Vultr cloud infrastructure with 335+ tools across 27 service modules, including compute instances, DNS, Kubernetes clusters, databases, storage, networking, CDN, load balancers, and billing operations through natural language commands
Click 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., "@Vultr MCP list my running instances in the New York region"
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.
๐ฉ๏ธ Vultr MCP
The Ultimate Model Context Protocol Server for Vultr Cloud Management
Transform your cloud infrastructure with natural language commands
๐ Quick Start โข ๐ Documentation โข ๐ ๏ธ Features โข ๐ก Examples โข ๐ค Contributing
๐ฏ What is Vultr MCP?
Vultr MCP is the most comprehensive Model Context Protocol server for Vultr cloud services, bringing 335+ management tools across 27 service modules to your fingertips. Manage your entire Vultr infrastructure through natural language conversations with Claude Code, Claude Desktop, or any MCP-compatible AI assistant.
โก Why Choose Vultr MCP?
๐๏ธ Complete Control: Manage every aspect of your Vultr infrastructure
๐ง AI-Native: Built specifically for natural language cloud management
๐ Smart Identifiers: Use human names instead of cryptic UUIDs
๐ Enterprise Ready: Battle-tested with comprehensive error handling
๐ Full Coverage: From DNS to Kubernetes, databases to CDN
โจ Beautiful CLI: Professional Rich UI with colors, tables, and real-time feedback
Related MCP server: Cloud Pilot MCP
๐ ๏ธ Features
๐ Core Capabilities
๐ฏ Smart Management
๐ค Human-readable identifiers
๐ก๏ธ Intelligent validation
๐ Real-time analytics
๐ Bulk operations
โก Developer Experience
๐ Native Python API
๐ฅ๏ธ Rich CLI interface
๐ Comprehensive docs
๐งช Full test coverage
๐ฏ Enterprise Features (v2.1.0)
๐จ Beautiful CLI Interface
๐ Rich colors and professional tables
๐ Real-time performance metrics
๐ Loading spinners and progress bars
โจ Branded panels and status indicators
๐ Structured Logging
๐ท๏ธ Contextual logging with service tags
โฑ๏ธ Request timing and performance data
๐ Debug-level API call tracing
๐ Error tracking with retry attempts
โก Performance & Reliability
๐พ Intelligent TTL-based caching (85%+ hit rate)
๐ Exponential backoff retry with jitter
๐ Real-time P95/P99 performance monitoring
๐ก๏ธ Network timeout and error resilience
๐ Security & Quality
๐ก๏ธ Pre-commit hooks with 7 quality checks
๐ Bandit security scanning
๐ค Dependabot automated updates
โก Ruff lightning-fast linting
๐๏ธ Service Coverage (335+ Tools)
Service | Tools | Smart Identifiers |
Instances | 14 |
|
Bare Metal | 18 |
|
Reserved IPs | 11 | IP address |
SSH Keys | 5 |
|
Snapshots | 6 |
|
Backups | 2 | UUID |
Regions | 5 | Region code |
Plans | 10 | Plan ID |
Service | Tools | Smart Identifiers |
DNS Management | 14 | Domain name |
VPCs & VPC 2.0 | 15 |
|
Load Balancers | 16 |
|
CDN & Edge | 15 | Origin/CDN domain |
Firewall | 10 |
|
Service | Tools | Smart Identifiers |
Managed Databases | 41 |
|
Block Storage | 12 |
|
Object Storage | 12 |
|
Storage Gateways | 14 |
|
Service | Tools | Smart Identifiers |
Kubernetes | 24 | Cluster |
Container Registry | 10 | Registry |
Serverless Inference | 10 | Service |
Marketplace | 11 | App name |
Service | Tools | Smart Identifiers |
Billing & Account | 12 | Account info |
Users & Subaccounts | 23 | Email, name |
Startup Scripts | 10 | Script |
ISO Images | 7 | Filename |
Operating Systems | 8 | OS name |
๐ Quick Start
๐ฆ Installation
# ๐โโ๏ธ Fast installation with uv (recommended)
uv add mcp-vultr
# ๐ฆ Traditional pip installation
pip install mcp-vultrโ๏ธ Setup with Claude Code
# ๐ Set your Vultr API key
export VULTR_API_KEY="your-vultr-api-key"
# ๐ Add to Claude Code (one command!)
claude mcp add vultr vultr-mcp-server --env VULTR_API_KEY="${VULTR_API_KEY}"๐ Start Managing!
# ๐ Launch the MCP server
vultr-mcp-serverThat's it! You now have 335+ Vultr management tools available through natural language in Claude Code.
๐งฆ Proxy Support (optional)
Route every outbound Vultr API call through an HTTP or SOCKS5 proxy by setting VULTR_PROXY:
# ๐ง
SOCKS5, resolving DNS proxy-side (socks5h)
export VULTR_PROXY="socks5h://127.0.0.1:1080"
# ๐ SOCKS5 with credentials
export VULTR_PROXY="socks5://user:pass@bastion.internal:1080"
# ๐ A plain HTTP proxy works too
export VULTR_PROXY="http://198.51.100.1:3128"
# ๐ซ Force a direct connection, ignoring ambient HTTP_PROXY/ALL_PROXY
export VULTR_PROXY="direct"Handy with ssh -D 1080 bastion when the Vultr API is only reachable from an allowlisted network.
Value | Effect |
| SOCKS5, DNS resolved locally |
| SOCKS5, DNS resolved by the proxy |
| Standard HTTP proxy |
| Connect directly and ignore ambient proxy variables |
unset | Fall back to |
VULTR_PROXY takes precedence over the ambient variables, so you can proxy this package without touching the rest of your shell. Proxy credentials are redacted from logs.
โจ What's New in v2.1.0
๐ MAJOR ENTERPRISE UPGRADE - Complete transformation with professional-grade features:
๐จ Beautiful CLI Interface
Rich Tables: Professional colored tables with borders and status indicators
Branded Panels: Stunning server startup with custom panels and emojis
Loading Feedback: Spinners, progress bars, and real-time status updates
Error Styling: Graceful error handling with contextual formatting
๐ Performance Monitoring
Real-time Metrics: P95/P99 response times, cache hit rates, error tracking
Intelligent Caching: TTL-based caching with 85%+ hit rates for faster responses
System Monitoring: CPU, memory, network, and disk I/O tracking
Performance Tables: Beautiful metrics visualization with trend analysis
๐ Structured Logging
Context-Rich Logs: Service tags, request timing, and correlation IDs
Debug Tracing: Full API call tracing with request/response details
Error Tracking: Retry attempts, failure analysis, and recovery metrics
JSON Support: Machine-readable logs for log aggregation systems
๐ก๏ธ Enterprise Reliability
Exponential Backoff: Smart retry logic with jitter to prevent thundering herd
Network Resilience: Timeout protection and connection pooling
Error Recovery: Graceful degradation and automatic failover
Rate Limit Handling: Intelligent backoff when approaching API limits
๐ Security & Quality
Pre-commit Hooks: Automated code quality checks on every commit
Security Scanning: Bandit security analysis and vulnerability detection
Dependency Management: Automated updates with Dependabot
Modern Tooling: Lightning-fast Ruff linting with comprehensive rule sets
๐ก Examples
๐ฃ๏ธ Natural Language Commands
๐งโ๐ป "Create a web server instance called 'my-website' in New Jersey"
๐ค โ
Created instance 'my-website' (Ubuntu 22.04, 1GB RAM) in ewr region
๐งโ๐ป "Add a DNS record for blog.example.com pointing to my-website"
๐ค โ
Added A record: blog.example.com โ 192.168.1.100 (TTL: 300)
๐งโ๐ป "Scale my Kubernetes cluster to 5 nodes"
๐ค โ
Scaled cluster 'production' node pool to 5 nodes
๐งโ๐ป "Show me this month's billing breakdown by service"
๐ค ๐ Monthly costs: Instances $45, Kubernetes $120, Storage $23...๐ Python API
import asyncio
from mcp_vultr import VultrDNSClient, VultrDNSServer
async def deploy_website():
"""๐ Deploy a complete website infrastructure"""
# High-level DNS client
dns = VultrDNSClient("your-api-key")
# Full API client with smart identifiers
vultr = VultrDNSServer("your-api-key")
# ๐ Create domain and DNS records
await dns.create_domain("mysite.com", "192.168.1.100")
await dns.add_a_record("mysite.com", "www", "192.168.1.100")
await dns.add_mx_record("mysite.com", "@", "mail.mysite.com", 10)
# ๐ฅ๏ธ Deploy instance with smart naming
instance = await vultr.create_instance(
region="ewr",
plan="vc2-1c-1gb",
os_id=387,
label="web-server", # ๐ท๏ธ Human-readable name!
hostname="web.mysite.com"
)
# ๐ฅ Configure firewall by description
firewall = await vultr.get_firewall_group("web-servers")
# ๐ Get real-time metrics
stats = await vultr.get_instance_bandwidth("web-server") # By name!
print(f"โ
Deployed {instance['label']} with {stats['incoming']}GB traffic")
asyncio.run(deploy_website())๐ฅ๏ธ Enterprise CLI Experience
โจ Beautiful Rich Interface with Professional Tables
# ๐ Stunning domain overview with colors and status indicators
$ mcp-vultr domains list
Vultr DNS Domains (49 found)
โโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโ
โ Domain โ Created โ DNSSEC โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ api.mycompany.com โ 2024-01-15T10:30:00+00:00 โ โ
enabled โ
โ webapp.io โ 2024-03-22T14:20:00+00:00 โ โ disabled โ
โ blog.example.com โ 2024-07-10T09:15:00+00:00 โ โ
enabled โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโ
# ๐ Professional server startup with branded panels
$ mcp-vultr server
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Vultr MCP Server โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๐ Starting Vultr DNS MCP Server โ
โ ๐ API Key: your-key-abc123... โ
โ ๐ Press Ctrl+C to stop โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
# ๐๏ธ Infrastructure management with smart names
mcp-vultr instances create --label "api-server" --region ewr --plan vc2-2c-4gb
mcp-vultr instances start api-server # Start by name!
mcp-vultr instances attach-volume api-server db-storage # Attach by names!
# ๐ DNS management with real-time feedback
mcp-vultr domains create api.mycompany.com 192.168.1.200
mcp-vultr records add api.mycompany.com A @ 192.168.1.200
mcp-vultr setup-website api.mycompany.com 192.168.1.200 --ssl
# ๐ณ Kubernetes cluster management
mcp-vultr k8s create production-cluster --region ewr --nodes 3
mcp-vultr k8s scale production-cluster --nodes 5 # Scale by name!
mcp-vultr k8s get-costs production-cluster # Cost analysis!๐ Real-time Performance Monitoring & Structured Logging
# ๐ Live performance metrics and cache statistics
[info] API request completed method=GET response_time=0.63s status_code=200
[debug] Cache set cache_type=TTLCache endpoint=/domains hit_rate=85.2%
[debug] API call recorded cache_hit=False duration=0.63s success=True
# ๐ Beautiful performance tables with P95/P99 metrics
API Performance Metrics
โโโโโโโโโโโโโโโโโณโโโโโโโโโโโณโโโโโโโโโโโณโโโโโโโโโณโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Endpoint โ Requests โ Avg Time โ P95 โ Cache Hit โ Error Rate โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ GET /domains โ 1,247 โ 0.234s โ 0.456s โ 85.2% โ 0.1% โ
โ GET /records โ 3,891 โ 0.189s โ 0.312s โ 92.1% โ 0.3% โ
โ POST /records โ 456 โ 0.567s โ 1.234s โ 0.0% โ 2.1% โ
โโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโ๐ฏ Smart Identifier Resolution
Stop wrestling with UUIDs! Vultr MCP's killer feature is smart identifier resolution - use human-readable names instead of cryptic UUIDs across all services.
๐ท๏ธ Before vs After
# ๐ค The old way (UUIDs everywhere)
vultr instance stop 00000000-0000-0000-0000-000000000001
vultr firewall rule add 00000000-0000-0000-0000-000000000002 --port 443
# ๐ The Vultr MCP way (human names!)
mcp-vultr instances stop web-server
mcp-vultr firewall rules add web-servers --port 443๐ง Smart Resolution Across All Services
Service | Smart Identifier | Example |
๐ฅ๏ธ Instances |
|
|
๐ SSH Keys |
|
|
๐ฅ Firewall Groups |
|
|
๐ธ Snapshots |
|
|
๐ Reserved IPs | IP address |
|
๐ณ Container Registries |
|
|
๐พ Block Storage |
|
|
๐ VPCs |
|
|
๐ Startup Scripts |
|
|
๐ฅ๏ธ Bare Metal |
|
|
๐ CDN Zones | Origin/CDN domain |
|
โธ๏ธ Kubernetes |
|
|
โ๏ธ Load Balancers |
|
|
๐๏ธ Databases |
|
|
๐ Object Storage |
|
|
๐ Inference Services |
|
|
๐ช Storage Gateways |
|
|
๐ฅ Subaccounts |
|
|
๐ค Users | Email address |
|
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ค AI Assistant โ
โ (Claude Code/Desktop) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Natural Language Commands
โโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก Vultr MCP Server โ
โ (335+ Tools) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ DNS ๐ฅ๏ธ Compute ๐ณ K8s ๐๏ธ DB ๐ฅ Security ๐พ Storage โ
โ ๐ Analytics ๐ CDN โ๏ธ LB ๐ Serverless ๐ฅ Users โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Smart API Calls
โโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ๏ธ Vultr Cloud API โ
โ (Complete Infrastructure Management) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ๐ Documentation
๐ Getting Started
๐ API Reference
๐ Tutorials & Examples
๐ ๏ธ Development
๐โโ๏ธ Quick Setup
# ๐ฅ Clone the repository
git clone https://git.supported.systems/MCP/mcp-vultr.git
cd mcp-vultr
# โก Install with uv (recommended)
uv sync --extra dev
# ๐งช Run tests (multiple performance modes)
make test-fast # โก Quick tests (30-60s)
make test-parallel # ๐ Parallel execution (60-120s)
make test-coverage # ๐ Full coverage (180-300s)
# ๐ฏ Targeted testing
make test-unit # Unit tests only
make test-mcp # MCP server tests
make test-error # Error handling tests
# ๐ Performance monitoring
python test_performance_benchmark.py
# ๐จ Format code
uv run black src tests && uv run isort src tests
# ๐ Type checking
uv run mypy src๐ฆ Build & Publish
# ๐๏ธ Build package
uv build
# โ
Check integrity
uv run twine check dist/*
# ๐ Publish to PyPI
uv run twine upload dist/*๐ค Contributing
We โค๏ธ contributions! Whether it's:
๐ Bug Reports: Found an issue? Let us know!
โจ Feature Requests: Have ideas? We want to hear them!
๐ Documentation: Help make our docs even better
๐งช Testing: Add tests, improve coverage
๐ป Code: Submit PRs for new features or fixes
๐ How to Contribute
๐ด Fork the repository
๐ฟ Create a feature branch (
git checkout -b feature/amazing-feature)โ๏ธ Make your changes
โ Test everything (
make test-parallelormake test-coverage)๐ Commit your changes (
git commit -m 'Add amazing feature')๐ค Push to the branch (
git push origin feature/amazing-feature)๐ Open a Pull Request
๐ Project Stats
Metric | Value |
๐ ๏ธ MCP Tools | 335+ |
๐ฆ Service Modules | 27 |
๐ Python Support | 3.10+ |
๐ Test Coverage | 90%+ |
๐ Documentation | Comprehensive |
โก Performance | Production Ready |
๐ Acknowledgments
๐ฉ๏ธ Vultr for their comprehensive cloud API
๐ค Anthropic for the Model Context Protocol specification
๐ Python Community for amazing tools and libraries
๐ FastMCP for the excellent MCP framework
๐ฅ Contributors who make this project amazing
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
โญ Star us on GitLab if you find Vultr MCP useful!
Made with โค๏ธ for the cloud infrastructure community
๐ Get Started โข ๐ Documentation โข ๐ Report Issues โข ๐ฌ Discussions
Available Tools
322 toolsbackup_getC
Get details of a specific backup.
Args: backup_id: The backup ID
Returns: Backup details
Inputs: backup_id (required). Returns: object
backup_get_scheduleA
Get the automatic backup schedule for an instance.
Smart identifier resolution: use the instance label, hostname or ID. All times are UTC.
Args: instance_identifier: Instance label, hostname, or ID
Returns: Schedule with enabled, type, hour, dow, dom and next_scheduled_time_utc. When enabled is false the instance has backups turned off and the schedule is not running.
Inputs: instance_identifier (required). Returns: object
backup_list_allB
List all backups in your Vultr account.
Returns: Backups, each with id, date_created, description, size and status
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
backup_set_scheduleA
Set the automatic backup schedule for an instance.
Smart identifier resolution: use the instance label, hostname or ID. A name matching more than one instance is refused rather than guessed.
This sets when backups run. It does not turn backups on: an instance with backups disabled keeps the schedule but never runs it. Use instance_update with backups=true for that.
All times are UTC.
Args: instance_identifier: Instance label, hostname, or ID schedule_type: daily, weekly, monthly, daily_alt_even (even days of the month) or daily_alt_odd (odd days) ctx: FastMCP context for resource change notifications hour: Hour of day to run, 0-23, UTC dow: Day of week, required for a weekly schedule. Vultr's own tooling documents this range inconsistently (0-6 in the CLI, 1-7 elsewhere), so the value is passed through unchecked and the API decides. Read the schedule back to confirm the day. dom: Day of month, 1-28, required for a monthly schedule
Returns: The schedule as it stands after the change
Inputs: schedule_type (required), instance_identifier (required), dom, dow, +1 more. Returns: object
bare_metal_create_bare_metal_serverC
Create a new bare metal server.
Args: region: Region to deploy in plan: Bare metal plan ID os_id: Operating system ID iso_id: ISO ID for custom installation script_id: Startup script ID ssh_key_ids: List of SSH key IDs label: Server label tag: Server tag user_data: Cloud-init user data enable_ipv6: Enable IPv6 enable_private_network: Enable private network attach_private_network: Private network IDs to attach attach_vpc: VPC IDs to attach attach_vpc2: VPC 2.0 IDs to attach enable_ddos_protection: Enable DDoS protection hostname: Server hostname persistent_pxe: Enable persistent PXE
Returns: Created bare metal server details
Inputs: plan (required), region (required), tag, label, +13 more. Returns: object
bare_metal_delete_bare_metal_serverA
Delete a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID to delete
Returns: Success message
Inputs: server_identifier (required). Returns: Generic wrapper for non-object return types.
bare_metal_get_bare_metal_bandwidthA
Get bandwidth usage for a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID
Returns: Bandwidth usage information
Inputs: server_identifier (required). Returns: object
bare_metal_get_bare_metal_neighborsA
Get neighbors (other servers on same physical host) for a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID
Returns: List of neighboring servers
Inputs: server_identifier (required). Returns: Generic wrapper for non-object return types.
bare_metal_get_bare_metal_planC
Get details of a specific bare metal plan.
Args: plan_id: The plan ID
Returns: Bare metal plan details
Inputs: plan_id (required). Returns: object
bare_metal_get_bare_metal_serverA
Get details of a specific bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID
Returns: Bare metal server details
Inputs: server_identifier (required). Returns: object
bare_metal_get_bare_metal_server_summaryA
Get a comprehensive summary of a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID
Returns: Comprehensive server summary including status, specs, and usage
Inputs: server_identifier (required). Returns: object
bare_metal_get_bare_metal_user_dataA
Get user data for a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID
Returns: User data information
Inputs: server_identifier (required). Returns: object
bare_metal_list_bare_metal_plansC
List available bare metal plans.
Args: plan_type: Optional plan type filter
Returns: List of bare metal plans
Inputs: plan_type. Returns: Generic wrapper for non-object return types.
bare_metal_list_bare_metal_serversA
List all bare metal servers.
Returns: List of bare metal servers with details
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
bare_metal_list_bare_metal_servers_by_regionA
List bare metal servers in a specific region.
Args: region: Region code (e.g., 'ewr', 'lax')
Returns: List of bare metal servers in the specified region
Inputs: region (required). Returns: Generic wrapper for non-object return types.
bare_metal_list_bare_metal_servers_by_statusB
List bare metal servers by status.
Args: status: Server status to filter by (e.g., 'active', 'stopped', 'installing')
Returns: List of bare metal servers with the specified status
Inputs: status (required). Returns: Generic wrapper for non-object return types.
bare_metal_reboot_bare_metal_serverA
Reboot a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID
Returns: Success message
Inputs: server_identifier (required). Returns: Generic wrapper for non-object return types.
bare_metal_reinstall_bare_metal_serverB
Reinstall a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID hostname: New hostname for the server
Returns: Reinstall operation details
Inputs: server_identifier (required), hostname. Returns: object
bare_metal_search_bare_metal_plansA
Search bare metal plans by specifications.
Args: min_vcpus: Minimum number of vCPUs min_ram: Minimum RAM in GB min_disk: Minimum disk space in GB max_monthly_cost: Maximum monthly cost in USD
Returns: List of plans matching the criteria
Inputs: min_ram, min_disk, min_vcpus, max_monthly_cost. Returns: Generic wrapper for non-object return types.
bare_metal_start_bare_metal_serverA
Start a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID
Returns: Success message
Inputs: server_identifier (required). Returns: Generic wrapper for non-object return types.
bare_metal_stop_bare_metal_serverA
Stop a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID
Returns: Success message
Inputs: server_identifier (required). Returns: Generic wrapper for non-object return types.
bare_metal_update_bare_metal_serverB
Update a bare metal server. Smart identifier resolution: use server label, hostname, or UUID.
Args: server_identifier: The bare metal server label, hostname, or ID label: New label tag: New tag user_data: New user data enable_ddos_protection: Enable/disable DDoS protection
Returns: Updated bare metal server details
Inputs: server_identifier (required), tag, label, user_data, +1 more. Returns: object
billing_analyze_spending_trendsB
Analyze spending trends over the past months.
Args: months: Number of months to analyze (default: 6)
Returns: Spending analysis with trends and recommendations
Inputs: months. Returns: object
billing_get_account_infoB
Get account information including billing details.
Returns: Account information and billing details
Inputs: no named parameters. Returns: object
billing_get_cost_breakdown_by_serviceB
Get cost breakdown by service for the specified period.
Args: days: Number of days to analyze (default: 30)
Returns: Service-wise cost breakdown with percentages
Inputs: days. Returns: object
billing_get_current_balanceB
Get current account balance and payment information.
Returns: Current balance, pending charges, and payment history
Inputs: no named parameters. Returns: object
billing_get_current_month_summaryB
Get current month usage and cost summary.
Returns: Current month usage summary with service breakdown
Inputs: no named parameters. Returns: object
billing_get_invoiceB
Get details of a specific invoice.
Args: invoice_id: The invoice ID
Returns: Invoice details including line items
Inputs: invoice_id (required). Returns: object
billing_get_last_month_summaryB
Get last month usage and cost summary.
Returns: Last month usage summary with service breakdown
Inputs: no named parameters. Returns: object
billing_get_monthly_usage_summaryB
Get monthly usage and cost summary.
Args: year: Year (e.g., 2024) month: Month (1-12)
Returns: Monthly usage summary with service breakdown
Inputs: year (required), month (required). Returns: object
billing_get_payment_summaryC
Get payment summary and account status.
Returns: Payment summary with account status
Inputs: no named parameters. Returns: object
billing_list_billing_historyB
List billing history for the specified number of days.
Args: days: Number of days to include (default: 30) per_page: Number of items per page (default: 25)
Returns: Billing history with transaction details
Inputs: days, per_page. Returns: object
billing_list_invoice_itemsB
List items in a specific invoice.
Args: invoice_id: The invoice ID per_page: Number of items per page (default: 25)
Returns: Invoice line items with details
Inputs: invoice_id (required), per_page. Returns: object
billing_list_invoicesC
List all invoices.
Args: per_page: Number of items per page (default: 25)
Returns: List of invoices with pagination info
Inputs: per_page. Returns: object
block_storage_attachA
Attach block storage volume to an instance.
Smart identifier resolution: Use volume label/ID and instance label/hostname/ID.
Args: volume_identifier: Volume label or ID to attach instance_identifier: Instance label, hostname, or ID to attach to ctx: FastMCP context for resource change notifications live: Whether to attach without rebooting the instance (default: True)
Returns: Success confirmation
Inputs: volume_identifier (required), instance_identifier (required), live. Returns: object
block_storage_createA
Create a new block storage volume.
Args: region: Region code where the volume will be created (e.g., "ewr", "lax", "fra") size_gb: Size in GB (10-40000 depending on block_type) ctx: FastMCP context for resource change notifications label: Optional label for the volume (recommended for easy identification) block_type: Optional block storage type (affects size limits and performance)
Returns: Created volume information including ID, cost, and configuration
Inputs: region (required), size_gb (required), label, block_type. Returns: object
block_storage_deleteB
Delete a block storage volume.
Smart identifier resolution: Use volume label or ID.
Args: volume_identifier: Volume label or ID to delete ctx: FastMCP context for resource change notifications
Returns: Success confirmation
Inputs: volume_identifier (required). Returns: object
block_storage_detachA
Detach block storage volume from its instance.
Smart identifier resolution: Use volume label or ID.
Args: volume_identifier: Volume label or ID to detach ctx: FastMCP context for resource change notifications live: Whether to detach without rebooting the instance (default: True)
Returns: Success confirmation
Inputs: volume_identifier (required), live. Returns: object
block_storage_get_mounting_instructionsA
Get instructions for mounting a block storage volume on Linux.
Smart identifier resolution: Use volume label or ID.
Args: volume_identifier: Volume label or ID
Returns: Step-by-step mounting instructions and commands
Inputs: volume_identifier (required). Returns: object
block_storage_get_volume_statusA
Get comprehensive status information for a block storage volume.
Smart identifier resolution: Use volume label or ID.
Args: volume_identifier: Volume label or ID
Returns: Detailed status including attachment, usage, and cost information
Inputs: volume_identifier (required). Returns: object
block_storage_list_attachedA
List all attached block storage volumes with instance information.
Returns: List of volumes that are currently attached to instances
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
block_storage_list_by_regionA
List block storage volumes in a specific region.
Args: region: Region code to filter by (e.g., "ewr", "lax", "fra")
Returns: List of volumes in the specified region
Inputs: region (required). Returns: Generic wrapper for non-object return types.
block_storage_list_unattachedA
List all unattached block storage volumes.
Returns: List of volumes that are not currently attached to any instance
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
block_storage_updateA
Update block storage volume configuration.
Smart identifier resolution: Use volume label or ID.
Args: volume_identifier: Volume label or ID to update ctx: FastMCP context for resource change notifications size_gb: New size in GB (can only increase, not decrease) label: New label for the volume
Returns: Success confirmation
Inputs: volume_identifier (required), label, size_gb. Returns: object
cdn_analyze_cdn_performanceB
Analyze CDN zone performance over the specified period. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID days: Number of days to analyze (default: 7)
Returns: Performance analysis including cache hit ratio, bandwidth usage, and recommendations
Inputs: zone_identifier (required), days. Returns: object
cdn_create_cdn_ssl_certificateA
Upload SSL certificate for a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID certificate: SSL certificate content (PEM format) private_key: Private key content (PEM format) certificate_chain: Certificate chain (optional, PEM format)
Returns: SSL certificate details
Inputs: certificate (required), private_key (required), zone_identifier (required), certificate_chain. Returns: object
cdn_create_cdn_zoneB
Create a new CDN zone.
Args: origin_domain: Origin domain for the CDN origin_scheme: Origin scheme (http or https) cors_policy: CORS policy configuration gzip_compression: Enable gzip compression block_ai_bots: Block AI/crawler bots block_bad_bots: Block known bad bots block_ip_addresses: List of IP addresses to block regions: List of regions to enable CDN in
Returns: Created CDN zone details
Inputs: origin_domain (required), regions, cors_policy, block_ai_bots, +4 more. Returns: object
cdn_delete_cdn_ssl_certificateA
Remove SSL certificate from a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID
Returns: Success message
Inputs: zone_identifier (required). Returns: Generic wrapper for non-object return types.
cdn_delete_cdn_zoneA
Delete a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID to delete
Returns: Success message
Inputs: zone_identifier (required). Returns: Generic wrapper for non-object return types.
cdn_get_cdn_available_regionsB
Get list of available CDN regions.
Returns: List of available CDN regions with details
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
cdn_get_cdn_ssl_certificateA
Get SSL certificate information for a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID
Returns: SSL certificate information including expiry and status
Inputs: zone_identifier (required). Returns: object
cdn_get_cdn_zoneA
Get details of a specific CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID
Returns: CDN zone details
Inputs: zone_identifier (required). Returns: object
cdn_get_cdn_zone_logsA
Get access logs for a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID start_date: Start date for logs (ISO format: YYYY-MM-DD) end_date: End date for logs (ISO format: YYYY-MM-DD) per_page: Number of items per page (default: 25)
Returns: CDN zone access logs with request details
Inputs: zone_identifier (required), end_date, per_page, start_date. Returns: object
cdn_get_cdn_zone_statsB
Get statistics for a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID
Returns: CDN zone statistics including bandwidth, requests, and cache hit ratio
Inputs: zone_identifier (required). Returns: object
cdn_get_cdn_zone_summaryA
Get a comprehensive summary of a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID
Returns: Comprehensive CDN zone summary including configuration, stats, and SSL info
Inputs: zone_identifier (required). Returns: object
cdn_list_cdn_zonesA
List all CDN zones.
Returns: List of CDN zones with details
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
cdn_purge_cdn_zoneA
Purge all cached content from a CDN zone. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID
Returns: Purge operation details
Inputs: zone_identifier (required). Returns: object
cdn_setup_cdn_for_websiteA
Set up a CDN zone with optimal settings for a website.
Args: origin_domain: Origin domain for the website enable_security: Enable bot blocking and security features enable_compression: Enable gzip compression regions: List of regions to enable (if not specified, uses global)
Returns: Created CDN zone with setup details and next steps
Inputs: origin_domain (required), regions, enable_security, enable_compression. Returns: object
cdn_update_cdn_zoneA
Update a CDN zone configuration. Smart identifier resolution: use origin domain, CDN domain, or UUID.
Args: zone_identifier: The CDN zone origin domain, CDN domain, or ID cors_policy: CORS policy configuration gzip_compression: Enable gzip compression block_ai_bots: Block AI/crawler bots block_bad_bots: Block known bad bots block_ip_addresses: List of IP addresses to block regions: List of regions to enable CDN in
Returns: Updated CDN zone details
Inputs: zone_identifier (required), regions, cors_policy, block_ai_bots, +3 more. Returns: object
collection_add_resource_to_collectionB
Add a Vultr resource to a service collection.
Args: collection_id: ID of the service collection resource_type: Type of resource (instance, domain, etc.) resource_id: Vultr resource ID ctx: FastMCP context for resource change notifications resource_name: Human-readable name for the resource tags: Optional tags for the resource metadata: Additional metadata for the resource
Returns: Success confirmation
Inputs: resource_id (required), collection_id (required), resource_type (required), tags, +2 more. Returns: object
collection_create_collectionA
Create a new service collection.
Args: name: Name for the service collection project: Project name to group collections environment: Environment (development, testing, staging, production, or custom) ctx: FastMCP context for resource change notifications description: Optional description region: Vultr region for resources tags: Optional tags for organization created_by: User who created the collection
Returns: Created service collection details
Inputs: name (required), project (required), environment (required), tags, +3 more. Returns: object
collection_delete_collectionB
Delete a service collection.
Args: collection_id: ID of the collection to delete ctx: FastMCP context for resource change notifications force: Force deletion even if collection has resources
Returns: Success confirmation
Inputs: collection_id (required), force. Returns: object
collection_list_collections_by_projectC
List service collections for a specific project.
Args: project: Project name to filter by environment: Optional environment filter
Returns: List of matching service collections
Inputs: project (required), environment. Returns: Generic wrapper for non-object return types.
collection_promote_collection_environmentB
Promote a service collection to a different environment.
Args: collection_id: ID of the collection to promote target_environment: Target environment (development, testing, staging, production) ctx: FastMCP context for resource change notifications copy_resources: Whether to copy resources to new environment workflow_triggers: Whether to trigger promotion workflows
Returns: Details of the promotion operation
Inputs: collection_id (required), target_environment (required), copy_resources, workflow_triggers. Returns: object
collection_remove_resource_from_collectionA
Remove a resource from a service collection.
Args: collection_id: ID of the service collection resource_type: Type of resource to remove resource_id: Vultr resource ID to remove ctx: FastMCP context for resource change notifications
Returns: Success confirmation
Inputs: resource_id (required), collection_id (required), resource_type (required). Returns: object
collection_update_collection_permissionsC
Update permissions for a service collection.
Args: collection_id: ID of the service collection user_id: User ID to grant/revoke permissions permission_level: Permission level (owner, editor, viewer) ctx: FastMCP context for resource change notifications action: Action to take (add, remove)
Returns: Success confirmation
Inputs: user_id (required), collection_id (required), permission_level (required), action. Returns: object
db_analyze_database_migration_statusC
Get enhanced migration status analysis with recommendations.
Args: database_id: The database ID or label
Returns: Detailed migration analysis with troubleshooting recommendations
Inputs: database_id (required). Returns: object
db_analyze_database_performanceA
Analyze database performance and provide optimization recommendations.
Args: database_id: The database ID or label (e.g., "my-mysql-db" or UUID)
Returns: Performance analysis with health score and optimization recommendations
Inputs: database_id (required). Returns: object
db_createA
Create a new managed database.
Args: database_engine: Database engine (mysql, pg, valkey, kafka) database_engine_version: Engine version (MySQL: 8, PostgreSQL: 13-17, Valkey: 7, Kafka: 3.8) region: Region code (e.g., 'ewr', 'lax') plan: Plan ID (e.g., 'vultr-dbaas-hobbyist-cc-1-25-1') label: User-supplied label for the database tag: Optional tag for the database vpc_id: VPC ID to deploy in (or 'new' for new VPC) trusted_ips: List of IP addresses allowed to access (CIDR notation) mysql_sql_modes: MySQL SQL modes to enable (MySQL only) mysql_require_primary_key: Require primary key for tables (MySQL only) mysql_slow_query_log: Enable slow query logging (MySQL only) valkey_eviction_policy: Data eviction policy (Valkey only) kafka_rest_enabled: Enable Kafka REST support (Kafka only, business+ plans) kafka_schema_registry_enabled: Enable Schema Registry (Kafka only, business+ plans) kafka_connect_enabled: Enable Kafka Connect (Kafka only, business+ plans)
Returns: Created database information
Inputs: plan (required), label (required), region (required), database_engine (required), +11 more. Returns: object
db_create_connection_poolA
Create a new connection pool.
Args: database_id: The database ID or label name: Connection pool name database: Target logical database name username: Database username for the pool mode: Pool mode (session, transaction, statement) size: Pool size (number of connections)
Returns: Created connection pool information
Inputs: mode (required), name (required), size (required), database (required), +2 more. Returns: object
db_create_kafka_topicA
Create a Kafka topic (Kafka databases only).
Args: database_id: The Kafka database ID or label name: Topic name partitions: Number of partitions replication: Replication factor retention_hours: Retention time in hours retention_bytes: Retention size in bytes
Returns: Created topic information
Inputs: name (required), database_id (required), partitions, replication, +2 more. Returns: object
db_create_logical_databaseB
Create a new logical database within a managed database instance.
Args: database_id: The database ID or label name: Name for the new logical database
Returns: Created logical database information
Inputs: name (required), database_id (required). Returns: object
db_create_read_replicaC
Create a read replica of a database.
Args: database_id: The source database ID or label label: Label for the read replica region: Region for the read replica plan: Plan ID for the read replica
Returns: Information about the created read replica
Inputs: plan (required), label (required), region (required), database_id (required). Returns: object
db_create_userA
Create a new database user.
Args: database_id: The database ID or label username: Username for the new user password: Password (auto-generated if not provided) encryption: Password encryption type (MySQL: caching_sha2_password, mysql_native_password) access_level: Permission level (Kafka: admin, read, write, readwrite)
Returns: Created user information
Inputs: username (required), database_id (required), password, encryption, +1 more. Returns: object
db_deleteA
Delete a managed database.
Args: database_id: The database ID or label (e.g., "my-mysql-db" or UUID)
Returns: Status message confirming deletion
Inputs: database_id (required). Returns: object
db_delete_connection_poolB
Delete a connection pool.
Args: database_id: The database ID or label pool_name: The connection pool name to delete
Returns: Status message confirming deletion
Inputs: pool_name (required), database_id (required). Returns: object
db_delete_kafka_topicB
Delete a Kafka topic.
Args: database_id: The Kafka database ID or label topic_name: The topic name to delete
Returns: Status message confirming deletion
Inputs: topic_name (required), database_id (required). Returns: object
db_delete_logical_databaseB
Delete a logical database.
Args: database_id: The database ID or label db_name: The logical database name to delete
Returns: Status message confirming deletion
Inputs: db_name (required), database_id (required). Returns: object
db_delete_userA
Delete a database user.
Args: database_id: The database ID or label username: The username to delete
Returns: Status message confirming deletion
Inputs: username (required), database_id (required). Returns: object
db_fork_databaseB
Fork a database to create a copy.
Args: database_id: The source database ID or label label: Label for the forked database region: Region for the new database plan: Plan ID for the new database vpc_id: VPC ID for the new database
Returns: Information about the forked database
Inputs: plan (required), label (required), region (required), database_id (required), +1 more. Returns: object
db_get_connection_poolB
Get information about a connection pool.
Args: database_id: The database ID or label pool_name: The connection pool name
Returns: Connection pool information
Inputs: pool_name (required), database_id (required). Returns: object
db_get_kafka_topicB
Get information about a Kafka topic.
Args: database_id: The Kafka database ID or label topic_name: The topic name
Returns: Kafka topic information
Inputs: topic_name (required), database_id (required). Returns: object
db_get_logical_databaseB
Get information about a logical database.
Args: database_id: The database ID or label db_name: The logical database name
Returns: Logical database information
Inputs: db_name (required), database_id (required). Returns: object
db_get_maintenance_updatesC
Get available maintenance updates for a database.
Args: database_id: The database ID or label
Returns: List of available maintenance updates
Inputs: database_id (required). Returns: Generic wrapper for non-object return types.
db_get_migration_statusB
Get the status of an ongoing database migration.
Args: database_id: The database ID or label
Returns: Migration status information
Inputs: database_id (required). Returns: object
db_get_usageB
Get database usage statistics (CPU, memory, disk).
Args: database_id: The database ID or label (e.g., "my-mysql-db" or UUID)
Returns: Usage information including CPU, memory, and disk statistics
Inputs: database_id (required). Returns: object
db_get_userA
Get information about a specific database user.
Args: database_id: The database ID or label username: The username to get information for
Returns: User information including permissions
Inputs: username (required), database_id (required). Returns: object
db_list_available_versionsB
List available versions for database engine upgrades.
Args: database_id: The database ID or label
Returns: List of available versions for upgrade
Inputs: database_id (required). Returns: Generic wrapper for non-object return types.
db_list_backupsA
List available backups for a managed database.
Args: database_id: The database ID or label
Returns: List of available backups with timestamps and sizes
Inputs: database_id (required). Returns: Generic wrapper for non-object return types.
db_list_connection_poolsA
List connection pools for a managed database.
Args: database_id: The database ID or label
Returns: List of connection pools
Inputs: database_id (required). Returns: Generic wrapper for non-object return types.
db_list_databasesA
List logical databases within a managed database instance.
Args: database_id: The database ID or label
Returns: List of logical databases
Inputs: database_id (required). Returns: Generic wrapper for non-object return types.
db_list_kafka_topicsA
List Kafka topics (Kafka databases only).
Args: database_id: The Kafka database ID or label
Returns: List of Kafka topics
Inputs: database_id (required). Returns: Generic wrapper for non-object return types.
db_list_plansA
List all available managed database plans.
Returns: List of database plans with pricing and specifications
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
db_list_usersA
List all users in a managed database.
Args: database_id: The database ID or label (e.g., "my-mysql-db" or UUID)
Returns: List of database users with their permissions
Inputs: database_id (required). Returns: Generic wrapper for non-object return types.
db_promote_read_replicaB
Promote a read replica to a standalone database.
Args: database_id: The read replica database ID or label
Returns: Status message confirming promotion
Inputs: database_id (required). Returns: object
db_restore_from_backupA
Restore a database from a backup to a new instance.
Args: database_id: The source database ID or label backup_label: The backup label/timestamp to restore from database_label: Label for the new restored database plan: Plan ID for the new database region: Region for the new database vpc_id: VPC ID for the new database
Returns: Information about the restoration process
Inputs: plan (required), region (required), database_id (required), backup_label (required), +2 more. Returns: object
db_setup_mysql_databaseA
Quick setup for a MySQL database with application user and database.
Args: region: Region code (e.g., 'ewr', 'lax') plan: Plan ID (e.g., 'vultr-dbaas-hobbyist-cc-1-25-1') label: Label for the database root_password: Root password (auto-generated if not provided) app_user: Application username to create app_password: Application user password (auto-generated if not provided) app_database: Application database name to create
Returns: Complete setup information including connection details
Inputs: plan (required), label (required), region (required), app_user, +3 more. Returns: object
db_setup_postgresql_databaseA
Quick setup for a PostgreSQL database with application user and database.
Args: region: Region code (e.g., 'ewr', 'lax') plan: Plan ID (e.g., 'vultr-dbaas-hobbyist-cc-1-25-1') label: Label for the database version: PostgreSQL version (13-17) app_user: Application username to create app_password: Application user password (auto-generated if not provided) app_database: Application database name to create
Returns: Complete setup information including connection details
Inputs: plan (required), label (required), region (required), version, +3 more. Returns: object
db_start_maintenanceB
Start maintenance on a database.
Args: database_id: The database ID or label
Returns: Status message confirming maintenance start
Inputs: database_id (required). Returns: object
db_start_migrationA
Start migrating data from an external database.
Args: database_id: The destination database ID or label host: Source database hostname port: Source database port username: Source database username password: Source database password database: Source database name ssl: Use SSL connection to source
Returns: Status message confirming migration start
Inputs: host (required), port (required), database (required), password (required), +3 more. Returns: object
db_start_version_upgradeC
Start a database engine version upgrade.
Args: database_id: The database ID or label version: Target version to upgrade to
Returns: Status message confirming upgrade start
Inputs: version (required), database_id (required). Returns: object
db_stop_migrationA
Stop an ongoing database migration.
Args: database_id: The database ID or label
Returns: Status message confirming migration stop
Inputs: database_id (required). Returns: object
db_updateA
Update a managed database configuration.
Args: database_id: The database ID or label to update region: New region (requires migration) plan: New plan ID (for scaling) label: New label for the database tag: New tag for the database vpc_id: New VPC ID timezone: Database timezone (TZ format, e.g., 'UTC', 'America/New_York') trusted_ips: New list of trusted IP addresses (CIDR notation) mysql_sql_modes: MySQL SQL modes (MySQL only) mysql_require_primary_key: Require primary key setting (MySQL only) mysql_slow_query_log: Slow query log setting (MySQL only) valkey_eviction_policy: Eviction policy (Valkey only) kafka_rest_enabled: Kafka REST setting (Kafka only) kafka_schema_registry_enabled: Schema Registry setting (Kafka only) kafka_connect_enabled: Kafka Connect setting (Kafka only)
Returns: Updated database information
Inputs: database_id (required), tag, plan, label, +11 more. Returns: object
db_update_connection_poolA
Update a connection pool configuration.
Args: database_id: The database ID or label pool_name: The connection pool name to update database: New target logical database name username: New database username mode: New pool mode (session, transaction, statement) size: New pool size
Returns: Updated connection pool information
Inputs: pool_name (required), database_id (required), mode, size, +2 more. Returns: object
db_update_kafka_topicB
Update a Kafka topic configuration.
Args: database_id: The Kafka database ID or label topic_name: The topic name to update partitions: New number of partitions replication: New replication factor retention_hours: New retention time in hours retention_bytes: New retention size in bytes
Returns: Updated topic information
Inputs: topic_name (required), database_id (required), partitions, replication, +2 more. Returns: object
db_update_userB
Update a database user's password or permissions.
Args: database_id: The database ID or label username: The username to update password: New password access_level: New permission level (Kafka only)
Returns: Updated user information
Inputs: username (required), database_id (required), password, access_level. Returns: object
db_update_user_access_controlB
Update access control for a database user (Valkey/Redis only).
Args: database_id: The database ID or label username: The username to update acl_categories: ACL categories (e.g., ["+@all"]) acl_channels: ACL channels (e.g., [""]) acl_commands: ACL commands acl_keys: ACL keys (e.g., [""])
Returns: Status message confirming update
Inputs: username (required), database_id (required), acl_keys, acl_channels, +2 more. Returns: object
dns_analyze_domainB
Analyze DNS configuration for a domain and provide recommendations.
Args: domain: The domain name to analyze
Returns: Analysis results with recommendations for improvements
Inputs: domain (required). Returns: object
dns_create_domainB
Create a new DNS domain.
Args: domain: The domain name to create ip: The default IP address for the domain ctx: FastMCP context for resource change notifications dns_sec: Enable DNSSEC (enabled/disabled, default: disabled)
Returns: Created domain information
Inputs: ip (required), domain (required), dns_sec. Returns: object
dns_create_recordA
Create a new DNS record.
Args: domain: The domain name record_type: Record type (A, AAAA, CNAME, MX, TXT, NS, SRV) name: Record name/subdomain data: Record data/value ctx: FastMCP context for resource change notifications ttl: Time to live in seconds (default: 300) priority: Priority for MX/SRV records
Returns: Created record information
Inputs: data (required), name (required), domain (required), record_type (required), +2 more. Returns: object
dns_delete_domainB
Delete a DNS domain and all its records.
Args: domain: The domain name to delete ctx: FastMCP context for resource change notifications
Returns: Status message confirming deletion
Inputs: domain (required). Returns: object
dns_delete_recordA
Delete a DNS record.
Args: domain: The domain name record_id: The record ID to delete ctx: FastMCP context for resource change notifications
Returns: Status message confirming deletion
Inputs: domain (required), record_id (required). Returns: object
dns_export_zone_fileB
Export domain records as standard DNS zone file format.
Args: domain: The domain name to export
Returns: DNS zone file content as string
Inputs: domain (required). Returns: Generic wrapper for non-object return types.
dns_get_domainA
Get details for a specific DNS domain.
Args: domain: The domain name to get details for
Returns: Domain details including creation date and DNSSEC status
Inputs: domain (required). Returns: object
dns_get_recordC
Get details for a specific DNS record.
Args: domain: The domain name record_id: The record ID to get details for
Returns: DNS record details
Inputs: domain (required), record_id (required). Returns: object
dns_import_zone_fileA
Import DNS records from zone file format.
Args: domain: The domain name to import records to zone_data: DNS zone file content as string dry_run: If True, only validate and return what would be created without making changes
Returns: List of created records or validation results
Inputs: domain (required), zone_data (required), dry_run. Returns: Generic wrapper for non-object return types.
dns_list_domainsA
List all DNS domains in your Vultr account.
Args: format: Output format - 'compact' (default, one domain per line) or 'json' (full details)
Returns: All DNS domains in the requested format
Inputs: format. Returns: Generic wrapper for non-object return types.
dns_list_recordsA
List DNS records for a domain. Supports compact zone format and filtering.
Args: domain: The domain name to list records for format: Output format - 'zone' (compact, default) or 'json' (full details) record_type: Filter by type (A, AAAA, CNAME, MX, TXT, NS, SRV) per_page: Records per page (1-500). Omit to fetch all records. cursor: Pagination cursor from previous response
Returns: DNS records in requested format
Inputs: domain (required), cursor, format, per_page, +1 more. Returns: Generic wrapper for non-object return types.
dns_setup_websiteB
Set up basic DNS records for a website.
Args: domain: The domain name ip: The website IP address www_enabled: Whether to create www subdomain record (default: True)
Returns: List of created DNS records
Inputs: ip (required), domain (required), www_enabled. Returns: Generic wrapper for non-object return types.
dns_update_recordC
Update an existing DNS record.
Args: domain: The domain name record_id: The record ID to update ctx: FastMCP context for resource change notifications name: New record name (optional) data: New record data (optional) ttl: New TTL value (optional) priority: New priority for MX/SRV records (optional)
Returns: Updated record information
Inputs: domain (required), record_id (required), ttl, data, +2 more. Returns: object
dns_validate_recordA
Validate a DNS record before creation.
Args: record_type: Record type (A, AAAA, CNAME, MX, TXT, NS, SRV) name: Record name/subdomain data: Record data/value ttl: Time to live in seconds priority: Priority for MX/SRV records
Returns: Validation results with any errors or warnings
Inputs: data (required), name (required), record_type (required), ttl, +1 more. Returns: object
firewall_create_groupC
Create a new firewall group.
Args: description: Description for the firewall group ctx: FastMCP context for resource change notifications
Returns: Created firewall group information
Inputs: description (required). Returns: object
firewall_create_ruleA
Create a new firewall rule.
Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) ip_type: IP type (v4 or v6) protocol: Protocol (tcp, udp, icmp, gre) subnet: IP subnet (use "0.0.0.0" for any IPv4, "::" for any IPv6) subnet_size: Subnet size (0-32 for IPv4, 0-128 for IPv6) ctx: FastMCP context for resource change notifications port: Port or port range (e.g., "80" or "8000:8999") - required for tcp/udp source: Source type (e.g., "cloudflare") - optional notes: Notes for the rule - optional
Returns: Created firewall rule information
Examples: # Allow HTTP from anywhere create_rule(group_id, "v4", "tcp", "0.0.0.0", 0, ctx, port="80")
# Allow SSH from specific subnet
create_rule(group_id, "v4", "tcp", "192.168.1.0", 24, ctx, port="22", notes="Office network")
# Allow ping from anywhere
create_rule(group_id, "v4", "icmp", "0.0.0.0", 0, ctx)Inputs: subnet (required), ip_type (required), protocol (required), subnet_size (required), +4 more. Returns: object
firewall_delete_groupA
Delete a firewall group.
Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) ctx: FastMCP context for resource change notifications
Returns: Status message confirming deletion
Inputs: firewall_group_id (required). Returns: object
firewall_delete_ruleA
Delete a firewall rule.
Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) firewall_rule_id: The firewall rule ID to delete ctx: FastMCP context for resource change notifications
Returns: Status message confirming deletion
Inputs: firewall_rule_id (required), firewall_group_id (required). Returns: object
firewall_get_groupB
Get information about a specific firewall group.
Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID)
Returns: Firewall group information
Inputs: firewall_group_id (required). Returns: object
firewall_get_ruleA
Get information about a specific firewall rule.
Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) firewall_rule_id: The firewall rule ID
Returns: Firewall rule information
Inputs: firewall_rule_id (required), firewall_group_id (required). Returns: object
firewall_list_groupsA
List all firewall groups in your Vultr account.
Returns: List of firewall group objects with details including: - id: Firewall group ID - description: Group description - date_created: Creation date - date_modified: Last modification date - instance_count: Number of instances using this group - rule_count: Number of rules in this group - max_rule_count: Maximum allowed rules
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
firewall_list_rulesA
List all rules in a firewall group.
Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID)
Returns: List of firewall rules with details
Inputs: firewall_group_id (required). Returns: Generic wrapper for non-object return types.
firewall_setup_web_server_rulesA
Set up common firewall rules for a web server.
Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) ctx: FastMCP context for resource change notifications allow_ssh_from: IP subnet to allow SSH from (default: anywhere)
Returns: List of created firewall rules
Creates rules for:
HTTP (port 80) from anywhere
HTTPS (port 443) from anywhere
SSH (port 22) from specified subnet
ICMP (ping) from anywhere
Inputs: firewall_group_id (required), allow_ssh_from. Returns: Generic wrapper for non-object return types.
firewall_update_groupA
Update a firewall group description.
Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) description: New description for the firewall group ctx: FastMCP context for resource change notifications
Returns: Status message confirming update
Inputs: description (required), firewall_group_id (required). Returns: object
inference_analyze_inference_usageB
Analyze usage patterns and provide optimization recommendations.
Args: subscription_id: The inference subscription ID or label
Returns: Comprehensive analysis including: - efficiency_score: Overall utilization efficiency (0-1) - recommendations: List of optimization suggestions - cost_optimization: Potential cost savings opportunities - usage_patterns: Detailed usage breakdown
Inputs: subscription_id (required). Returns: object
inference_create_serverless_inferenceB
Create a new serverless inference subscription.
Args: label: A descriptive label for the inference subscription (e.g., "production-chatbot", "dev-testing")
Returns: Created inference subscription with ID, API key, and configuration details
Inputs: label (required). Returns: object
inference_delete_serverless_inferenceA
Delete a serverless inference subscription.
Warning: This action is irreversible and will immediately terminate the subscription.
Args: subscription_id: The inference subscription ID or label to delete
Returns: Confirmation of deletion
Inputs: subscription_id (required). Returns: object
inference_get_inference_deployment_guideB
Get deployment guidance and best practices for an inference subscription.
Args: subscription_id: The inference subscription ID or label
Returns: Deployment guide with: - api_endpoints: Available API endpoints and documentation - authentication: How to use the API key - best_practices: Optimization and usage recommendations - examples: Sample code and integration patterns
Inputs: subscription_id (required). Returns: object
inference_get_inference_usageA
Get usage statistics for a serverless inference subscription.
Args: subscription_id: The inference subscription ID or label
Returns: Detailed usage information including: - chat: Token usage for chat/completion models - audio: Character usage for text-to-speech models - monthly_allotment: Total tokens/characters allocated - overage: Usage exceeding the monthly limit
Inputs: subscription_id (required). Returns: object
inference_get_serverless_inferenceB
Get detailed information about a specific inference subscription.
Args: subscription_id: The inference subscription ID or label (e.g., "my-ai-model", or UUID)
Returns: Detailed inference subscription information including API key and metadata
Inputs: subscription_id (required). Returns: object
inference_list_serverless_inferenceA
List all serverless inference subscriptions in your Vultr account.
Returns: List of inference subscription objects with details including: - id: Subscription ID (UUID) - label: User-defined label for the subscription - api_key: API key for accessing the inference service - date_created: When the subscription was created
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
inference_monitor_inference_performanceA
Monitor performance metrics and usage trends for an inference subscription.
Args: subscription_id: The inference subscription ID or label
Returns: Performance monitoring data including: - current_usage: Real-time usage statistics - trends: Usage patterns and projections - alerts: Any usage or performance warnings - health_score: Overall subscription health (0-100)
Inputs: subscription_id (required). Returns: object
inference_optimize_inference_costsA
Analyze costs and provide optimization recommendations for an inference subscription.
Args: subscription_id: The inference subscription ID or label
Returns: Cost optimization analysis including: - current_costs: Current usage-based costs - optimization_opportunities: Ways to reduce costs - plan_recommendations: Suggested plan changes - savings_potential: Estimated cost savings
Inputs: subscription_id (required). Returns: object
inference_update_serverless_inferenceA
Update an existing serverless inference subscription.
Args: subscription_id: The inference subscription ID or current label label: New label for the subscription
Returns: Updated inference subscription information
Inputs: label (required), subscription_id (required). Returns: object
instance_createB
Create a new instance.
Args: region: Region code (e.g., 'ewr', 'lax') plan: Plan ID (e.g., 'vc2-1c-1gb') ctx: FastMCP context for resource change notifications label: Label for the instance os_id: Operating System ID (use list_os to get available options) iso_id: ISO ID for custom installation script_id: Startup script ID snapshot_id: Snapshot ID to restore from enable_ipv6: Enable IPv6 enable_private_network: Enable private networking attach_private_network: List of private network IDs to attach ssh_key_ids: List of SSH key IDs to install backups: Enable automatic backups app_id: Application ID to install user_data: Cloud-init user data ddos_protection: Enable DDoS protection activation_email: Send activation email hostname: Hostname for the instance tag: Tag for the instance firewall_group_id: Firewall group ID reserved_ipv4: Reserved IPv4 address to use
Returns: Created instance information
Inputs: plan (required), region (required), tag, label, +16 more. Returns: object
instance_create_ipv4A
Create a new IPv4 address for an instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) reboot: Whether to reboot the instance (default: True)
Returns: Created IPv4 information
Inputs: instance_id (required), reboot. Returns: object
instance_deleteA
Delete an instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) ctx: FastMCP context for resource change notifications
Returns: Status message confirming deletion
Inputs: instance_id (required). Returns: object
instance_delete_ipv4A
Delete an IPv4 address from an instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) ipv4: The IPv4 address to delete
Returns: Status message confirming deletion
Inputs: ipv4 (required), instance_id (required). Returns: object
instance_getA
Get full details of a single instance.
Smart identifier resolution: use the instance ID, label or hostname. A name matching more than one instance is refused rather than guessed.
Args: instance_id: The instance ID, label, or hostname
Returns: The instance, including power state, region, plan, IPs and tags
Inputs: instance_id (required). Returns: object
instance_get_bandwidthA
Get bandwidth usage statistics for an instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID)
Returns: Bandwidth usage information
Inputs: instance_id (required). Returns: object
instance_listB
List all instances in your account.
Args: format: 'compact' (default, one line per instance) or 'json'
Returns: Instances with id, label, hostname, region, plan, power state and main IP. Compact format is far cheaper in tokens for fleet work.
Inputs: format. Returns: Generic wrapper for non-object return types.
instance_list_ipv4A
List IPv4 addresses for an instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID)
Returns: List of IPv4 addresses
Inputs: instance_id (required). Returns: Generic wrapper for non-object return types.
instance_list_ipv6A
List IPv6 addresses for an instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID)
Returns: List of IPv6 addresses
Inputs: instance_id (required). Returns: Generic wrapper for non-object return types.
instance_rebootB
Reboot an instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) ctx: FastMCP context for resource change notifications
Returns: Status message confirming reboot
Inputs: instance_id (required). Returns: object
instance_reinstallB
Reinstall an instance's operating system.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) ctx: FastMCP context for resource change notifications hostname: New hostname for the instance (optional)
Returns: Reinstall status information
Inputs: instance_id (required), hostname. Returns: object
instance_startA
Start a stopped instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) ctx: FastMCP context for resource change notifications
Returns: Status message confirming start
Inputs: instance_id (required). Returns: object
instance_stopA
Stop a running instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) ctx: FastMCP context for resource change notifications
Returns: Status message confirming stop
Inputs: instance_id (required). Returns: object
instance_updateB
Update an existing instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) ctx: FastMCP context for resource change notifications label: New label for the instance tag: New tag for the instance plan: New plan ID (for resizing) enable_ipv6: Enable/disable IPv6 backups: Enable/disable automatic backups ddos_protection: Enable/disable DDoS protection firewall_group_id: New firewall group ID user_data: New cloud-init user data
Returns: Updated instance information
Inputs: instance_id (required), tag, plan, label, +5 more. Returns: object
iso_create_isoB
Create a new ISO image from URL.
Args: url: The URL to create the ISO from
Returns: Created ISO details
Inputs: url (required). Returns: object
iso_delete_isoC
Delete an ISO image.
Args: iso_id: The ISO ID to delete
Returns: Success message
Inputs: iso_id (required). Returns: Generic wrapper for non-object return types.
iso_get_isoC
Get details of a specific ISO image.
Args: iso_id: The ISO ID
Returns: ISO image details
Inputs: iso_id (required). Returns: object
iso_get_iso_by_nameC
Get ISO by name or filename.
Args: name: ISO name or filename to search for
Returns: ISO details if found
Inputs: name (required). Returns: object
iso_list_custom_isosB
List custom ISO images (user-uploaded).
Returns: List of custom ISO images
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
iso_list_isosC
List all available ISO images.
Returns: List of available ISO images
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
iso_list_public_isosA
List public ISO images (filtered from all ISOs).
Returns: List of public ISO images
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
k8s_analyze_kubernetes_cluster_costsB
Analyze the estimated costs of a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID
Returns: Cost analysis including per-node costs and total estimated monthly cost
Inputs: cluster_identifier (required). Returns: object
k8s_create_kubernetes_clusterA
Create a new Kubernetes cluster.
Args: label: Label for the cluster region: Region code (e.g., 'ewr', 'lax') version: Kubernetes version (use get_kubernetes_versions for available options) node_pools: List of node pool configurations, each containing: - node_quantity: Number of nodes (minimum 1, recommended 3+) - plan: Plan ID (e.g., 'vc2-2c-4gb') - label: Node pool label - tag: Optional tag - auto_scaler: Optional auto-scaling configuration - min_nodes: Minimum nodes for auto-scaling - max_nodes: Maximum nodes for auto-scaling ctx: FastMCP context for resource change notifications enable_firewall: Enable firewall for cluster ha_controlplanes: Enable high availability control planes
Returns: Created cluster information
Inputs: label (required), region (required), version (required), node_pools (required), +2 more. Returns: object
k8s_create_kubernetes_node_poolA
Create a new node pool in a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID node_quantity: Number of nodes (minimum 1, recommended 3+) plan: Plan ID (e.g., 'vc2-2c-4gb') label: Node pool label (must be unique within cluster) ctx: FastMCP context for resource change notifications tag: Optional tag for the node pool auto_scaler: Enable auto-scaling for this node pool min_nodes: Minimum nodes for auto-scaling max_nodes: Maximum nodes for auto-scaling labels: Map of key/value pairs to apply to all nodes
Returns: Created node pool information
Inputs: plan (required), label (required), node_quantity (required), cluster_identifier (required), +5 more. Returns: object
k8s_delete_kubernetes_clusterB
Delete a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID to delete ctx: FastMCP context for resource change notifications
Returns: Deletion status message
Inputs: cluster_identifier (required). Returns: object
k8s_delete_kubernetes_cluster_with_resourcesA
Delete a Kubernetes cluster and all related resources. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID to delete ctx: FastMCP context for resource change notifications
Returns: Deletion status message
Inputs: cluster_identifier (required). Returns: object
k8s_delete_kubernetes_nodeA
Delete a specific node from a node pool. Smart identifier resolution: use cluster/node pool/node labels or UUIDs.
Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID node_identifier: The node label or ID to delete ctx: FastMCP context for resource change notifications
Returns: Deletion status message
Inputs: node_identifier (required), cluster_identifier (required), nodepool_identifier (required). Returns: object
k8s_delete_kubernetes_node_poolA
Delete a node pool from a Kubernetes cluster. Smart identifier resolution: use cluster/node pool labels or UUIDs.
Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID to delete ctx: FastMCP context for resource change notifications
Returns: Deletion status message
Inputs: cluster_identifier (required), nodepool_identifier (required). Returns: object
k8s_get_kubernetes_available_upgradesB
Get available Kubernetes version upgrades for a cluster. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID
Returns: List of available Kubernetes versions for upgrade
Inputs: cluster_identifier (required). Returns: Generic wrapper for non-object return types.
k8s_get_kubernetes_clusterA
Get detailed information about a specific Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID (e.g., "production-cluster" or UUID)
Returns: Detailed cluster information including configuration and status
Inputs: cluster_identifier (required). Returns: object
k8s_get_kubernetes_cluster_configA
Get the kubeconfig for a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID
Returns: Kubeconfig content for cluster access
Inputs: cluster_identifier (required). Returns: object
k8s_get_kubernetes_cluster_resourcesA
Get resource usage information for a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID
Returns: Cluster resource usage including CPU, memory, and storage
Inputs: cluster_identifier (required). Returns: object
k8s_get_kubernetes_cluster_statusB
Get comprehensive status information for a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID
Returns: Comprehensive cluster status including health, resources, and node status
Inputs: cluster_identifier (required). Returns: object
k8s_get_kubernetes_nodeB
Get detailed information about a specific node. Smart identifier resolution: use cluster/node pool/node labels or UUIDs.
Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID node_identifier: The node label or ID
Returns: Detailed node information
Inputs: node_identifier (required), cluster_identifier (required), nodepool_identifier (required). Returns: object
k8s_get_kubernetes_node_poolC
Get detailed information about a specific node pool. Smart identifier resolution: use cluster/node pool labels or UUIDs.
Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID
Returns: Detailed node pool information
Inputs: cluster_identifier (required), nodepool_identifier (required). Returns: object
k8s_get_kubernetes_versionsA
Get list of available Kubernetes versions.
Returns: List of available Kubernetes versions for new clusters
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
k8s_list_kubernetes_clustersA
List all Kubernetes clusters in your Vultr account.
Returns: List of cluster objects with details including: - id: Cluster ID - label: Cluster label - version: Kubernetes version - region: Region code - status: Cluster status - node_pools: List of node pools - date_created: Creation date - cluster_subnet: Cluster subnet - service_subnet: Service subnet - ip: Cluster IP address
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
k8s_list_kubernetes_node_poolsA
List all node pools for a Kubernetes cluster. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID
Returns: List of node pools with configuration and status
Inputs: cluster_identifier (required). Returns: Generic wrapper for non-object return types.
k8s_list_kubernetes_nodesA
List all nodes in a specific node pool. Smart identifier resolution: use cluster/node pool labels or UUIDs.
Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID
Returns: List of nodes with status and configuration
Inputs: cluster_identifier (required), nodepool_identifier (required). Returns: Generic wrapper for non-object return types.
k8s_recycle_kubernetes_nodeC
Recycle (restart) a specific node. Smart identifier resolution: use cluster/node pool/node labels or UUIDs.
Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID node_identifier: The node label or ID to recycle
Returns: Recycle operation status
Inputs: node_identifier (required), cluster_identifier (required), nodepool_identifier (required). Returns: object
k8s_scale_kubernetes_node_poolA
Scale a node pool to the target number of nodes. Smart identifier resolution: use cluster/node pool labels or UUIDs.
Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID target_node_count: Target number of nodes (minimum 1)
Returns: Scaling operation details and status
Inputs: target_node_count (required), cluster_identifier (required), nodepool_identifier (required). Returns: object
k8s_setup_kubernetes_cluster_for_workloadC
Set up a Kubernetes cluster optimized for specific workload types.
Args: label: Label for the new cluster region: Region code (e.g., 'ewr', 'lax') ctx: FastMCP context for resource change notifications workload_type: Type of workload ('web', 'api', 'data', 'development') environment: Environment type ('production', 'staging', 'development') auto_scaling: Enable auto-scaling for node pools
Returns: Created cluster information with setup recommendations
Inputs: label (required), region (required), environment, auto_scaling, +1 more. Returns: object
k8s_update_kubernetes_clusterB
Update a Kubernetes cluster configuration. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID ctx: FastMCP context for resource change notifications label: New label for the cluster
Returns: Update status message
Inputs: cluster_identifier (required), label. Returns: object
k8s_update_kubernetes_node_poolC
Update a node pool configuration. Smart identifier resolution: use cluster/node pool labels or UUIDs.
Args: cluster_identifier: The cluster label or ID nodepool_identifier: The node pool label or ID ctx: FastMCP context for resource change notifications node_quantity: New number of nodes tag: New tag for the node pool auto_scaler: Enable/disable auto-scaling min_nodes: Minimum nodes for auto-scaling max_nodes: Maximum nodes for auto-scaling labels: New map of key/value pairs for nodes
Returns: Update status message
Inputs: cluster_identifier (required), nodepool_identifier (required), tag, labels, +4 more. Returns: object
k8s_upgrade_kubernetes_clusterA
Start a Kubernetes cluster upgrade. Smart identifier resolution: use cluster label or UUID.
Args: cluster_identifier: The cluster label or ID upgrade_version: Target Kubernetes version (use get_kubernetes_available_upgrades)
Returns: Upgrade initiation status
Inputs: upgrade_version (required), cluster_identifier (required). Returns: object
lb_configure_basic_web_lbA
Configure a basic web load balancer with standard HTTP/HTTPS rules.
Args: region: Region code (e.g., 'ewr', 'lax') label: Label for the load balancer backend_instances: List of instance IDs to attach enable_ssl: Enable SSL/Auto SSL ssl_redirect: Redirect HTTP to HTTPS domain_zone: Domain zone for Auto SSL domain_sub: Subdomain for Auto SSL
Returns: Created and configured load balancer information
Inputs: label (required), region (required), backend_instances (required), domain_sub, +3 more. Returns: object
lb_createA
Create a new load balancer.
Args: region: Region code (e.g., 'ewr', 'lax') ctx: FastMCP context for resource change notifications balancing_algorithm: Algorithm to use ('roundrobin' or 'leastconn') ssl_redirect: Redirect HTTP traffic to HTTPS http2: Enable HTTP/2 support http3: Enable HTTP/3 support proxy_protocol: Enable proxy protocol timeout: Connection timeout in seconds label: Label for the load balancer nodes: Number of backend nodes health_check: Health check configuration dict with keys: - protocol: 'http', 'https', 'tcp' - port: Port number - path: Path for HTTP checks - check_interval: Check interval in seconds - response_timeout: Response timeout in seconds - unhealthy_threshold: Failures before marking unhealthy - healthy_threshold: Successes before marking healthy forwarding_rules: List of forwarding rule dicts with keys: - frontend_protocol: 'http', 'https', 'tcp' - frontend_port: Frontend port number - backend_protocol: 'http', 'https', 'tcp' - backend_port: Backend port number ssl: SSL configuration dict with keys: - private_key: Private key content - certificate: Certificate content - chain: Certificate chain content firewall_rules: List of firewall rule dicts with keys: - port: Port number - source: Source IP or CIDR - ip_type: 'v4' or 'v6' auto_ssl: Auto SSL configuration dict with keys: - domain_zone: Domain zone - domain_sub: Subdomain global_regions: List of global region codes vpc: VPC ID to attach to private_network: Private network ID (legacy) sticky_session: Sticky session configuration with cookie_name
Returns: Created load balancer information
Inputs: region (required), ssl, vpc, http2, +14 more. Returns: object
lb_create_forwarding_ruleB
Create a forwarding rule for a load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) frontend_protocol: Frontend protocol ('http', 'https', 'tcp') frontend_port: Frontend port number backend_protocol: Backend protocol ('http', 'https', 'tcp') backend_port: Backend port number ctx: FastMCP context for resource change notifications
Returns: Created forwarding rule information
Inputs: backend_port (required), frontend_port (required), backend_protocol (required), load_balancer_id (required), +1 more. Returns: object
lb_deleteB
Delete a load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) ctx: FastMCP context for resource change notifications
Returns: Status message confirming deletion
Inputs: load_balancer_id (required). Returns: object
lb_delete_forwarding_ruleB
Delete a forwarding rule from a load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) forwarding_rule_id: The forwarding rule ID ctx: FastMCP context for resource change notifications
Returns: Status message confirming deletion
Inputs: load_balancer_id (required), forwarding_rule_id (required). Returns: object
lb_delete_sslB
Delete SSL certificate from a load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) ctx: FastMCP context for resource change notifications
Returns: Status message confirming SSL deletion
Inputs: load_balancer_id (required). Returns: object
lb_disable_auto_sslA
Disable Auto SSL for a load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)
Returns: Status message confirming Auto SSL disabled
Inputs: load_balancer_id (required). Returns: object
lb_getB
Get detailed information about a specific load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)
Returns: Detailed load balancer information
Inputs: load_balancer_id (required). Returns: object
lb_get_configuration_summaryB
Get a comprehensive configuration summary for a load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)
Returns: Detailed configuration summary
Inputs: load_balancer_id (required). Returns: object
lb_get_firewall_ruleB
Get details of a specific firewall rule.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) firewall_rule_id: The firewall rule ID
Returns: Firewall rule details
Inputs: firewall_rule_id (required), load_balancer_id (required). Returns: object
lb_get_forwarding_ruleA
Get details of a specific forwarding rule.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID) forwarding_rule_id: The forwarding rule ID
Returns: Forwarding rule details
Inputs: load_balancer_id (required), forwarding_rule_id (required). Returns: object
lb_get_health_statusB
Get health status and monitoring information for a load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)
Returns: Health status and configuration information
Inputs: load_balancer_id (required). Returns: object
lb_list_firewall_rulesB
List firewall rules for a load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)
Returns: List of firewall rules
Inputs: load_balancer_id (required). Returns: Generic wrapper for non-object return types.
lb_list_forwarding_rulesB
List forwarding rules for a load balancer.
Args: load_balancer_id: The load balancer ID or label (e.g., "web-lb", "api-load-balancer", or UUID)
Returns: List of forwarding rules
Inputs: load_balancer_id (required). Returns: Generic wrapper for non-object return types.
lb_updateC
Update an existing load balancer.
Args: load_balancer_id: The load balancer ID or label ctx: FastMCP context for resource change notifications ssl: SSL configuration dict sticky_session: Sticky session configuration forwarding_rules: Updated forwarding rules health_check: Updated health check configuration proxy_protocol: Enable/disable proxy protocol timeout: Connection timeout in seconds ssl_redirect: Enable/disable SSL redirect http2: Enable/disable HTTP/2 http3: Enable/disable HTTP/3 nodes: Number of backend nodes balancing_algorithm: Balancing algorithm instances: List of instance IDs to attach
Returns: Updated load balancer information
Inputs: load_balancer_id (required), ssl, http2, http3, +9 more. Returns: object
marketplace_get_applicationA
Get detailed information about a specific application.
Args: app_id: The application ID, name, short_name, or image_id (e.g., "wordpress", "openlitespeed-wordpress")
Returns: Detailed application information
Inputs: app_id (required). Returns: object
marketplace_get_application_deployment_guideA
Get deployment guidance for an application.
Args: app_id: The application ID, name, short_name, or image_id
Returns: Deployment guidance including application details and requirements
Inputs: app_id (required). Returns: object
marketplace_get_applications_by_vendorA
Get all applications from a specific vendor.
Args: vendor: Vendor name (e.g., "vultr", "LiteSpeed_Technologies")
Returns: List of applications from the specified vendor
Inputs: vendor (required). Returns: Generic wrapper for non-object return types.
marketplace_get_deployment_examplesB
Get examples of how to deploy popular marketplace applications.
Returns: Dictionary with deployment examples and common use cases
Inputs: no named parameters. Returns: object
marketplace_get_marketplace_app_variablesA
Get configuration variables for a marketplace application.
Args: app_id: The marketplace application name, short_name, or image_id (e.g., "openlitespeed-wordpress")
Returns: Application variables information including: - variables: List of configuration variables - Each variable contains: name, description, required (boolean)
Inputs: app_id (required). Returns: object
marketplace_get_popular_marketplace_appsB
Get popular marketplace applications.
Args: limit: Maximum number of applications to return (default: 10)
Returns: List of popular marketplace applications
Inputs: limit. Returns: Generic wrapper for non-object return types.
marketplace_list_application_categoriesA
List applications grouped by categories/vendors.
Returns: Dictionary with vendors as keys and their applications as values
Inputs: no named parameters. Returns: object
marketplace_search_applicationsC
Search applications by name, description, or other criteria.
Args: search_term: Search term to match against application names and descriptions app_type: Optional filter by type ('marketplace', 'one-click') vendor: Optional filter by vendor name
Returns: List of matching applications
Inputs: search_term (required), vendor, app_type. Returns: Generic wrapper for non-object return types.
object_storage_createB
Create a new Object Storage instance.
Args: cluster_id: The cluster ID where the Object Storage will be created (use list_clusters to see options) label: A descriptive label for the Object Storage instance
Returns: Created Object Storage information including access credentials
Inputs: label (required), cluster_id (required). Returns: object
object_storage_deleteA
Delete an Object Storage instance.
Args: object_storage_id: The Object Storage ID or label (e.g., "my-storage", "backup-bucket", or UUID)
Returns: Status message confirming deletion
Inputs: object_storage_id (required). Returns: object
object_storage_find_by_regionA
Find all Object Storage instances in a specific region.
Args: region: Region code (e.g., "ewr", "lax", "fra")
Returns: List of Object Storage instances in the specified region
Inputs: region (required). Returns: Generic wrapper for non-object return types.
object_storage_getB
Get detailed information about a specific Object Storage instance.
Args: object_storage_id: The Object Storage ID or label (e.g., "my-storage", "backup-bucket", or UUID)
Returns: Detailed Object Storage information including access credentials
Inputs: object_storage_id (required). Returns: object
object_storage_get_s3_configA
Get S3-compatible configuration details for an Object Storage instance.
Args: object_storage_id: The Object Storage ID or label (e.g., "my-storage", "backup-bucket", or UUID)
Returns: S3 configuration details including: - endpoint: S3-compatible endpoint URL - access_key: S3 access key - secret_key: S3 secret key - region: Storage region - bucket_examples: Example bucket operations
Inputs: object_storage_id (required). Returns: object
object_storage_get_storage_summaryA
Get a summary of all Object Storage instances.
Returns: Summary information including: - total_instances: Total number of Object Storage instances - regions: List of regions with storage counts - status_breakdown: Count by status - cluster_usage: Count by cluster
Inputs: no named parameters. Returns: object
object_storage_list_clustersA
List all available Object Storage clusters.
Returns: List of Object Storage clusters with details including: - id: Cluster ID - region: Region code - hostname: S3-compatible hostname for the cluster - deploy: Deployment status
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
object_storage_list_cluster_tiersA
List all available tiers for a specific Object Storage cluster.
Args: cluster_id: The cluster ID (use list_clusters to see available clusters)
Returns: List of available tiers for the cluster with pricing and limits
Inputs: cluster_id (required). Returns: Generic wrapper for non-object return types.
object_storage_regenerate_keysA
Regenerate the S3 access keys for an Object Storage instance.
Args: object_storage_id: The Object Storage ID or label (e.g., "my-storage", "backup-bucket", or UUID)
Returns: Object Storage information with new access keys
Inputs: object_storage_id (required). Returns: object
object_storage_updateA
Update an Object Storage instance's label.
Args: object_storage_id: The Object Storage ID or label (e.g., "my-storage", "backup-bucket", or UUID) label: New label for the Object Storage instance
Returns: Status message confirming update
Inputs: label (required), object_storage_id (required). Returns: object
object_storage_validate_s3_accessA
Validate that an Object Storage instance has valid S3 credentials.
Args: object_storage_id: The Object Storage ID or label (e.g., "my-storage", "backup-bucket", or UUID)
Returns: Validation results including: - valid: Whether the configuration appears valid - endpoint: S3 endpoint URL - has_credentials: Whether access keys are present - suggestions: Any configuration suggestions
Inputs: object_storage_id (required). Returns: object
os_get_operating_systemB
Get details of a specific operating system.
Args: os_id: The operating system ID
Returns: Operating system details
Inputs: os_id (required). Returns: object
os_get_os_by_nameB
Get operating system by exact name match.
Args: name: Exact OS name to find
Returns: Operating system details
Inputs: name (required). Returns: object
os_list_application_imagesB
List application images (one-click apps).
Returns: List of application images
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
os_list_linux_osC
List Linux operating systems.
Returns: List of Linux operating systems
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
os_list_operating_systemsB
List all available operating systems.
Returns: List of available operating systems
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
os_list_os_by_familyB
List operating systems by family.
Args: family: OS family (e.g., 'ubuntu', 'centos', 'windows', 'application')
Returns: List of operating systems in the specified family
Inputs: family (required). Returns: Generic wrapper for non-object return types.
os_list_windows_osC
List Windows operating systems.
Returns: List of Windows operating systems
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
os_search_os_by_nameB
Search operating systems by name.
Args: name: OS name to search for (partial match)
Returns: List of matching operating systems
Inputs: name (required). Returns: Generic wrapper for non-object return types.
plan_compare_plansA
Compare multiple plans side by side.
Args: plan_ids: List of plan IDs to compare format: Output format - 'compact' (default) or 'json'
Returns: Plan comparison in requested format
Inputs: plan_ids (required), format. Returns: Generic wrapper for non-object return types.
plan_get_cheapest_planC
Get the cheapest available plan.
Args: plan_type: Optional plan type filter
Returns: Cheapest plan details
Inputs: plan_type. Returns: object
plan_get_planB
Get details of a specific plan.
Args: plan_id: The plan ID
Returns: Plan details
Inputs: plan_id (required). Returns: object
plan_get_plan_by_type_and_specB
Get plans by type and specific vCPU/RAM combination.
Args: plan_type: Plan type (vc2, vhf, voc) vcpus: Number of vCPUs ram_gb: RAM in GB format: Output format - 'compact' (default) or 'json'
Returns: Matching plans in requested format
Inputs: vcpus (required), ram_gb (required), plan_type (required), format. Returns: Generic wrapper for non-object return types.
plan_get_plans_by_region_availabilityA
Get plans available in a specific region.
Args: region: Region code (e.g., 'ewr', 'lax') format: Output format - 'compact' (default) or 'json'
Returns: Plans available in the specified region
Inputs: region (required), format. Returns: Generic wrapper for non-object return types.
plan_list_plansA
List all available plans. Supports compact table format for reduced token usage.
Args: plan_type: Optional plan type filter (e.g., 'all', 'vc2', 'vhf', 'voc') format: Output format - 'compact' (default, table) or 'json' (full details)
Returns: Plans in requested format
Inputs: format, plan_type. Returns: Generic wrapper for non-object return types.
plan_list_vc2_plansA
List VC2 (Virtual Cloud Compute) plans.
Args: format: Output format - 'compact' (default) or 'json'
Returns: VC2 plans in requested format
Inputs: format. Returns: Generic wrapper for non-object return types.
plan_list_vhf_plansC
List VHF (High Frequency) plans.
Args: format: Output format - 'compact' (default) or 'json'
Returns: VHF plans in requested format
Inputs: format. Returns: Generic wrapper for non-object return types.
plan_list_voc_plansB
List VOC (Optimized Cloud) plans.
Args: format: Output format - 'compact' (default) or 'json'
Returns: VOC plans in requested format
Inputs: format. Returns: Generic wrapper for non-object return types.
plan_search_plans_by_specsA
Search plans by specifications.
Args: min_vcpus: Minimum number of vCPUs min_ram: Minimum RAM in MB min_disk: Minimum disk space in GB max_monthly_cost: Maximum monthly cost in USD format: Output format - 'compact' (default) or 'json'
Returns: Plans matching the criteria in requested format
Inputs: format, min_ram, min_disk, min_vcpus, +1 more. Returns: Generic wrapper for non-object return types.
region_find_regions_with_planA
Find all regions where a specific plan is available.
Args: plan_id: The plan ID to search for (e.g., "vc2-1c-1gb")
Returns: List of regions where the plan is available, with region details
Inputs: plan_id (required). Returns: Generic wrapper for non-object return types.
region_get_availabilityA
Get availability information for a specific region.
Args: region_id: The region ID to check availability for (e.g., "ewr", "lax")
Returns: Availability information including: - available_plans: List of available plan IDs in this region
This is useful for checking which instance plans are available in a specific region before creating instances.
Inputs: region_id (required). Returns: object
region_listA
List all available Vultr regions.
Returns: List of region objects with details including: - id: Region ID (e.g., "ewr", "lax", "nrt") - city: City name - country: Country code - continent: Continent name - options: Available options (e.g., ["ddos_protection"])
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
region_list_by_continentA
List all regions in a specific continent.
Args: continent: Continent name (e.g., "North America", "Europe", "Asia", "Australia")
Returns: List of regions in the specified continent
Inputs: continent (required). Returns: Generic wrapper for non-object return types.
region_list_with_ddos_protectionA
List all regions that support DDoS protection.
Returns: List of regions with DDoS protection capability
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
registry_createA
Create a new container registry subscription.
Args: name: Name for the container registry plan: Registry plan ("start_up", "business", "premium", etc.) region: Region code for the registry (e.g., "ewr", "lax", "fra") ctx: FastMCP context for resource change notifications
Returns: Created registry information including ID, URN, and configuration
Inputs: name (required), plan (required), region (required). Returns: object
registry_deleteB
Delete a container registry subscription.
Smart identifier resolution: Use registry name or ID.
Args: registry_identifier: Registry name or ID to delete ctx: FastMCP context for resource change notifications
Returns: Success confirmation
Inputs: registry_identifier (required). Returns: object
registry_generate_docker_credentialsA
Generate Docker credentials for container registry access.
Smart identifier resolution: Use registry name or ID.
Args: registry_identifier: Registry name or ID expiry_seconds: Expiration time in seconds (optional, default: no expiry) read_write: Whether to grant read-write access (default: True, False for read-only)
Returns: Docker credentials including username, password, and registry URL
Inputs: registry_identifier (required), read_write, expiry_seconds. Returns: object
registry_generate_kubernetes_credentialsA
Generate Kubernetes credentials for container registry access.
Smart identifier resolution: Use registry name or ID.
Args: registry_identifier: Registry name or ID expiry_seconds: Expiration time in seconds (optional, default: no expiry) read_write: Whether to grant read-write access (default: True, False for read-only) base64_encode: Whether to base64 encode the credentials (default: True)
Returns: Kubernetes secret YAML configuration for registry access
Inputs: registry_identifier (required), read_write, base64_encode, expiry_seconds. Returns: object
registry_get_docker_login_commandA
Generate Docker login command for easy CLI access.
Smart identifier resolution: Use registry name or ID.
Args: registry_identifier: Registry name or ID expiry_seconds: Expiration time in seconds (optional, default: no expiry) read_write: Whether to grant read-write access (default: True, False for read-only)
Returns: Docker login command and credentials information
Inputs: registry_identifier (required), read_write, expiry_seconds. Returns: object
registry_get_registry_infoB
Get comprehensive registry information including usage and configuration.
Smart identifier resolution: Use registry name or ID.
Args: registry_identifier: Registry name or ID
Returns: Complete registry information with usage statistics and endpoints
Inputs: registry_identifier (required). Returns: object
registry_list_plansA
List all available container registry plans.
Returns: List of available plans with pricing and feature details
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
registry_updateB
Update container registry plan.
Smart identifier resolution: Use registry name or ID.
Args: registry_identifier: Registry name or ID to update plan: New registry plan ("start_up", "business", "premium", etc.) ctx: FastMCP context for resource change notifications
Returns: Success confirmation
Inputs: plan (required), registry_identifier (required). Returns: object
reserved_ip_attachA
Attach a reserved IP to an instance.
Args: reserved_ip: The reserved IP address (e.g., "192.168.1.1" or "2001:db8::1") instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) ctx: FastMCP context for resource change notifications
Returns: Success message
Note: The instance must be in the same region as the reserved IP.
Inputs: instance_id (required), reserved_ip (required). Returns: Generic wrapper for non-object return types.
reserved_ip_convert_instance_ipA
Convert an existing instance IP to a reserved IP.
Args: ip_address: The IP address to convert instance_id: The instance ID, label, or hostname that owns the IP (e.g., "web-server" or UUID) ctx: FastMCP context for resource change notifications label: Optional label for the reserved IP
Returns: Created reserved IP information
This is useful when you want to keep an IP address even after destroying the instance. The IP will be converted to a reserved IP and remain attached to the instance.
Inputs: ip_address (required), instance_id (required), label. Returns: object
reserved_ip_createA
Create a new reserved IP in a specific region.
Args: region: The region ID where to reserve the IP (e.g., "ewr", "lax") ctx: FastMCP context for resource change notifications ip_type: Type of IP to reserve - "v4" for IPv4 or "v6" for IPv6 (default: "v4") label: Optional label for the reserved IP
Returns: Created reserved IP information
Example: Create a reserved IPv4 in New Jersey: create(region="ewr", ip_type="v4", label="web-server-ip")
Inputs: region (required), label, ip_type. Returns: object
reserved_ip_deleteB
Delete a reserved IP.
Args: reserved_ip: The reserved IP address to delete (e.g., "192.168.1.1" or "2001:db8::1") ctx: FastMCP context for resource change notifications
Returns: Success message
Note: The IP must be detached from any instance before deletion.
Inputs: reserved_ip (required). Returns: Generic wrapper for non-object return types.
reserved_ip_detachB
Detach a reserved IP from its instance.
Args: reserved_ip: The reserved IP address to detach (e.g., "192.168.1.1" or "2001:db8::1") ctx: FastMCP context for resource change notifications
Returns: Success message
Inputs: reserved_ip (required). Returns: Generic wrapper for non-object return types.
reserved_ip_list_attachedB
List all attached reserved IPs.
Returns: List of reserved IPs that are attached to instances, including the instance ID they're attached to
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
reserved_ip_list_by_regionA
List all reserved IPs in a specific region.
Args: region: The region ID to filter by (e.g., "ewr", "lax")
Returns: List of reserved IPs in the specified region
Inputs: region (required). Returns: Generic wrapper for non-object return types.
reserved_ip_list_unattachedA
List all unattached reserved IPs.
Returns: List of reserved IPs that are not attached to any instance
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
reserved_ip_updateA
Update a reserved IP's label.
Args: reserved_ip: The reserved IP address (e.g., "192.168.1.1" or "2001:db8::1") label: New label for the reserved IP ctx: FastMCP context for resource change notifications
Returns: Success message
Inputs: label (required), reserved_ip (required). Returns: Generic wrapper for non-object return types.
snapshot_createA
Create a snapshot from an instance.
Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) description: Description for the snapshot (optional)
Returns: Created snapshot information
Note: Creating a snapshot may take several minutes depending on the instance size. The snapshot will appear with status 'pending' initially.
Inputs: instance_id (required), description. Returns: object
snapshot_create_from_urlB
Create a snapshot from a URL.
Args: url: The URL of the snapshot to create (must be a valid snapshot URL) description: Description for the snapshot (optional)
Returns: Created snapshot information
Note: The URL must point to a valid Vultr snapshot file.
Inputs: url (required), description. Returns: object
snapshot_deleteA
Delete a snapshot.
Args: snapshot_id: The snapshot ID or description (e.g., "backup-2024-01" or UUID)
Returns: Status message confirming deletion
Warning: This action cannot be undone!
Inputs: snapshot_id (required). Returns: object
snapshot_updateA
Update a snapshot description.
Args: snapshot_id: The snapshot ID or description (e.g., "backup-2024-01" or UUID) description: New description for the snapshot
Returns: Status message confirming update
Inputs: description (required), snapshot_id (required). Returns: object
ssh_key_createA
Create a new SSH key.
Args: name: Name for the SSH key ssh_key: The SSH public key (e.g., "ssh-rsa AAAAB3NzaC1yc2...") ctx: FastMCP context for resource change notifications
Returns: Created SSH key information including: - id: SSH key ID - name: SSH key name - ssh_key: The public SSH key - date_created: Creation date
Inputs: name (required), ssh_key (required). Returns: object
ssh_key_deleteB
Delete an SSH key.
Args: ssh_key_id: The SSH key ID or name (e.g., "my-laptop-key" or UUID) ctx: FastMCP context for resource change notifications
Returns: Status message confirming deletion
Inputs: ssh_key_id (required). Returns: object
ssh_key_getA
Get details for a specific SSH key.
Args: ssh_key_id: The SSH key ID or name (e.g., "my-laptop-key" or UUID)
Returns: SSH key details including name, public key, and creation date
Inputs: ssh_key_id (required). Returns: object
ssh_key_listA
List all SSH keys in your Vultr account.
Args: format: Output format - 'compact' (default, one key per line) or 'json' (full details)
Returns: All SSH keys in the requested format
Inputs: format. Returns: Generic wrapper for non-object return types.
ssh_key_updateB
Update an existing SSH key.
Args: ssh_key_id: The SSH key ID or name (e.g., "my-laptop-key" or UUID) ctx: FastMCP context for resource change notifications name: New name for the SSH key (optional) ssh_key: New SSH public key (optional)
Returns: Updated SSH key information
Inputs: ssh_key_id (required), name, ssh_key. Returns: object
startup_script_create_common_startup_scriptA
Create a common startup script from templates.
Args: script_type: Type of script ('docker_install', 'nodejs_install', 'security_updates', 'ssh_setup') ssh_port: SSH port to use for 'ssh_setup' script type (default: 22)
Returns: Created startup script details
Inputs: script_type (required), ssh_port. Returns: object
startup_script_create_startup_scriptB
Create a new startup script.
Args: name: Name for the startup script script: The script content script_type: Type of script ('boot' or 'pxe')
Returns: Created startup script details
Inputs: name (required), script (required), script_type. Returns: object
startup_script_delete_startup_scriptA
Delete a startup script. Smart identifier resolution: use script name or UUID.
Args: script_identifier: The startup script name or ID to delete
Returns: Success message
Inputs: script_identifier (required). Returns: Generic wrapper for non-object return types.
startup_script_get_startup_scriptA
Get details of a specific startup script. Smart identifier resolution: use script name or UUID.
Args: script_identifier: The startup script name or ID
Returns: Startup script details
Inputs: script_identifier (required). Returns: object
startup_script_get_startup_script_contentA
Get the content of a startup script. Smart identifier resolution: use script name or UUID.
Args: script_identifier: The startup script name or ID
Returns: Script content
Inputs: script_identifier (required). Returns: Generic wrapper for non-object return types.
startup_script_list_boot_scriptsB
List boot startup scripts.
Returns: List of boot startup scripts
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
startup_script_list_pxe_scriptsB
List PXE startup scripts.
Returns: List of PXE startup scripts
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
startup_script_list_startup_scriptsB
List all startup scripts.
Returns: List of startup scripts
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
startup_script_search_startup_scriptsB
Search startup scripts by name or content.
Args: query: Search term to look for in script names or content
Returns: List of matching startup scripts
Inputs: query (required). Returns: Generic wrapper for non-object return types.
startup_script_update_startup_scriptA
Update a startup script. Smart identifier resolution: use script name or UUID.
Args: script_identifier: The startup script name or ID name: New name for the script script: New script content
Returns: Updated startup script details
Inputs: script_identifier (required), name, script. Returns: object
storage_gateway_add_exportA
Add a new export to a storage gateway.
Smart identifier resolution: Use gateway label or ID.
Args: gateway_identifier: Gateway label or ID export_config: Export configuration with keys: - label: Export label - vfs_uuid: VFS UUID to export - pseudo_root_path: Pseudo root path (e.g., "/") - allowed_ips: List of allowed IP addresses
Returns: Created export information
Inputs: export_config (required), gateway_identifier (required). Returns: object
storage_gateway_createB
Create a new storage gateway.
Args: label: Label for the storage gateway (for easy identification) gateway_type: Type of storage gateway (e.g., "nfs4") region: Region code where the gateway will be created (e.g., "ewr", "lax") export_config: Export configuration with keys: - label: Export label - vfs_uuid: VFS UUID to export - pseudo_root_path: Pseudo root path (e.g., "/") - allowed_ips: List of allowed IP addresses network_config: Network configuration with keys: - primary: Dict with ipv4_public_enabled, ipv6_public_enabled, vpc (optional) tags: Optional list of tags to apply
Returns: Created storage gateway information
Inputs: label (required), region (required), gateway_type (required), export_config (required), +2 more. Returns: object
storage_gateway_deleteB
Delete a storage gateway.
Smart identifier resolution: Use gateway label or ID.
Args: gateway_identifier: Gateway label or ID to delete
Returns: Success confirmation
Inputs: gateway_identifier (required). Returns: object
storage_gateway_delete_exportB
Delete an export from a storage gateway.
Smart identifier resolution: Use gateway label or ID.
Args: gateway_identifier: Gateway label or ID export_id: Export ID to delete
Returns: Success confirmation
Inputs: export_id (required), gateway_identifier (required). Returns: object
storage_gateway_get_cost_analysisB
Get cost analysis and projections for a storage gateway.
Smart identifier resolution: Use gateway label or ID.
Args: gateway_identifier: Gateway label or ID
Returns: Detailed cost analysis and projections
Inputs: gateway_identifier (required). Returns: object
storage_gateway_get_gateway_statusA
Get comprehensive status information for a storage gateway.
Smart identifier resolution: Use gateway label or ID.
Args: gateway_identifier: Gateway label or ID
Returns: Detailed status including health, exports, and network configuration
Inputs: gateway_identifier (required). Returns: object
storage_gateway_get_mount_instructionsA
Get NFS mount instructions for a storage gateway.
Smart identifier resolution: Use gateway label or ID.
Args: gateway_identifier: Gateway label or ID
Returns: NFS mounting instructions and configuration examples
Inputs: gateway_identifier (required). Returns: object
storage_gateway_list_by_regionB
List storage gateways in a specific region.
Args: region: Region code to filter by (e.g., "ewr", "lax", "fra")
Returns: List of gateways in the specified region
Inputs: region (required). Returns: Generic wrapper for non-object return types.
storage_gateway_list_by_statusC
List storage gateways by status.
Args: status: Status to filter by (e.g., "active", "pending")
Returns: List of gateways with the specified status
Inputs: status (required). Returns: Generic wrapper for non-object return types.
storage_gateway_list_by_typeB
List storage gateways by type.
Args: gateway_type: Gateway type to filter by (e.g., "nfs4")
Returns: List of gateways of the specified type
Inputs: gateway_type (required). Returns: Generic wrapper for non-object return types.
storage_gateway_optimize_gateway_configurationB
Analyze and provide optimization recommendations for a storage gateway.
Smart identifier resolution: Use gateway label or ID.
Args: gateway_identifier: Gateway label or ID
Returns: Configuration analysis and optimization recommendations
Inputs: gateway_identifier (required). Returns: object
storage_gateway_updateA
Update storage gateway configuration.
Smart identifier resolution: Use gateway label or ID.
Args: gateway_identifier: Gateway label or ID to update label: New label for the gateway tags: New tags for the gateway
Returns: Success confirmation
Inputs: gateway_identifier (required), tags, label. Returns: object
subaccount_analyze_costsA
Analyze costs and usage patterns for a subaccount.
Args: subaccount_id: The subaccount ID, name, email, or UUID analysis_days: Number of days to analyze (default: 30)
Returns: Detailed cost analysis including projections and recommendations
Inputs: subaccount_id (required), analysis_days. Returns: object
subaccount_createA
Create a new subaccount.
Args: email: Email address for the subaccount (required) subaccount_name: Display name for the subaccount (optional) subaccount_id: Custom identifier for the subaccount (optional)
Returns: Created subaccount information
Inputs: email (required), subaccount_id, subaccount_name. Returns: object
subaccount_find_by_emailA
Find subaccounts by email address.
Args: email: Email address to search for
Returns: List of matching subaccounts
Inputs: email (required). Returns: Generic wrapper for non-object return types.
subaccount_find_by_nameA
Find subaccounts by name (partial match).
Args: name: Name to search for (case-insensitive partial match)
Returns: List of matching subaccounts
Inputs: name (required). Returns: Generic wrapper for non-object return types.
subaccount_get_balance_summaryA
Get a summary of all subaccount balances and charges.
Returns: Summary of subaccount financial status
Inputs: no named parameters. Returns: object
subaccount_get_status_overviewB
Get an overview of all subaccount statuses and key metrics.
Returns: Comprehensive overview of subaccount health and status
Inputs: no named parameters. Returns: object
subaccount_monitor_usageB
Monitor usage across all subaccounts and identify potential issues.
Returns: List of subaccounts with usage monitoring data and alerts
Inputs: no named parameters. Returns: Generic wrapper for non-object return types.
subaccount_setup_permissionsB
Configure permissions for a subaccount.
Args: subaccount_id: The subaccount ID, name, email, or UUID permissions: List of permissions to grant (e.g., ["instances", "dns", "billing"])
Returns: Permission configuration status
Inputs: permissions (required), subaccount_id (required). Returns: object
user_add_ip_whitelist_entryA
Add an IP address or subnet to a user's whitelist.
Args: user_id: The user ID (UUID) or email address subnet: The IP address or subnet to add (e.g., "8.8.8.0", "192.168.1.100") subnet_size: The subnet size (e.g., 24 for /24, 32 for single IP) ctx: FastMCP context for resource change notifications
Returns: Status message confirming addition
Inputs: subnet (required), user_id (required), subnet_size (required). Returns: object
user_analyze_user_permissionsB
Analyze a user's current permissions and provide recommendations.
Args: user_id: The user ID (UUID) or email address to analyze
Returns: Analysis of user permissions including: - current_permissions: List of current permissions - permission_analysis: Analysis of each permission - security_recommendations: Security recommendations - suggested_changes: Suggested permission changes
Inputs: user_id (required). Returns: object
user_createB
Create a new user.
Args: email: User's email address first_name: User's first name last_name: User's last name password: User's password ctx: FastMCP context for resource change notifications ctx: FastMCP context for resource change notifications api_enabled: Enable API access for this user service_user: Create as service user (API-only, no portal login) acls: List of permissions to grant. Available permissions: - manage_users: Manage other users - subscriptions_view: View subscriptions - subscriptions: Manage subscriptions - provisioning: Provision resources - billing: Access billing information - support: Access support tickets - abuse: Handle abuse reports - dns: Manage DNS - upgrade: Upgrade plans - objstore: Manage object storage - loadbalancer: Manage load balancers - firewall: Manage firewalls - alerts: Manage alerts
Returns: Created user information, including API key if service_user is True
Inputs: email (required), password (required), last_name (required), first_name (required), +3 more. Returns: object
user_deleteB
Delete a user.
Args: user_id: The user ID (UUID) or email address to delete ctx: FastMCP context for resource change notifications
Returns: Status message confirming deletion
Inputs: user_id (required). Returns: object
user_getA
Get detailed information about a specific user.
Args: user_id: The user ID (UUID) or email address (e.g., "user@example.com" or UUID)
Returns: Detailed user information including permissions and settings
Inputs: user_id (required). Returns: object
user_get_ip_whitelistA
Get the IP whitelist for a user.
Args: user_id: The user ID (UUID) or email address
Returns: List of IP whitelist entries with subnet, subnet_size, date_added, and ip_type
Inputs: user_id (required). Returns: Generic wrapper for non-object return types.
user_get_ip_whitelist_entryA
Get a specific IP whitelist entry for a user.
Args: user_id: The user ID (UUID) or email address subnet: The IP address or subnet (e.g., "8.8.8.0") subnet_size: The subnet size (e.g., 24 for /24)
Returns: IP whitelist entry details
Inputs: subnet (required), user_id (required), subnet_size (required). Returns: object
user_list_available_permissionsA
List all available permissions that can be granted to users.
Returns: Dictionary of available permissions with descriptions and risk levels
Inputs: no named parameters. Returns: object
user_remove_ip_whitelist_entryA
Remove an IP address or subnet from a user's whitelist.
Args: user_id: The user ID (UUID) or email address subnet: The IP address or subnet to remove (e.g., "8.8.8.0", "192.168.1.100") subnet_size: The subnet size (e.g., 24 for /24, 32 for single IP) ctx: FastMCP context for resource change notifications
Returns: Status message confirming removal
Inputs: subnet (required), user_id (required), subnet_size (required). Returns: object
user_setup_service_userB
Set up a new service user (API-only access) with specified permissions.
Args: email: Service user's email address first_name: Service user's first name last_name: Service user's last name ctx: FastMCP context for resource change notifications permissions: List of permissions to grant. If None, grants basic API access.
Returns: Created service user information including API key
Inputs: email (required), last_name (required), first_name (required), permissions. Returns: object
user_setup_standard_userB
Set up a new user with standard permission sets.
Args: email: User's email address first_name: User's first name last_name: User's last name password: User's password ctx: FastMCP context for resource change notifications permissions_level: Permission level - "basic", "developer", "admin", or "readonly" - basic: subscriptions_view, dns, support - readonly: subscriptions_view, support - developer: subscriptions_view, subscriptions, provisioning, dns, support, objstore, loadbalancer, firewall - admin: all permissions except manage_users - superadmin: all permissions including manage_users
Returns: Created user information with applied permissions
Inputs: email (required), password (required), last_name (required), first_name (required), +1 more. Returns: object
user_updateB
Update an existing user's settings.
Args: user_id: The user ID (UUID) or email address to update ctx: FastMCP context for resource change notifications api_enabled: Enable/disable API access acls: List of permissions to grant. Available permissions: - manage_users: Manage other users - subscriptions_view: View subscriptions - subscriptions: Manage subscriptions - provisioning: Provision resources - billing: Access billing information - support: Access support tickets - abuse: Handle abuse reports - dns: Manage DNS - upgrade: Upgrade plans - objstore: Manage object storage - loadbalancer: Manage load balancers - firewall: Manage firewalls - alerts: Manage alerts
Returns: Updated user information
Inputs: user_id (required), acls, api_enabled. Returns: object
vpc_attach_to_instanceA
Attach VPC or VPC 2.0 to an instance.
Smart identifier resolution: Use VPC/instance description/label/hostname or ID.
Args: vpc_identifier: VPC/VPC 2.0 description or ID to attach instance_identifier: Instance label, hostname, or ID to attach to vpc_type: Type of VPC ("vpc" or "vpc2", defaults to "vpc")
Returns: Success confirmation
Inputs: vpc_identifier (required), instance_identifier (required), vpc_type. Returns: object
vpc_createA
Create a new VPC.
Args: region: Region code where the VPC will be created (e.g., "ewr", "lax", "fra") description: Description/label for the VPC ctx: FastMCP context for resource change notifications v4_subnet: IPv4 subnet for the VPC (e.g., "10.0.0.0", defaults to auto-assigned) v4_subnet_mask: IPv4 subnet mask (e.g., 24, defaults to 24)
Returns: Created VPC information including ID and subnet details
Inputs: region (required), description (required), v4_subnet, v4_subnet_mask. Returns: object
vpc_create_vpc2A
Create a new VPC 2.0 network.
Args: region: Region code where the VPC 2.0 will be created (e.g., "ewr", "lax", "fra") description: Description/label for the VPC 2.0 ip_type: IP type ("v4" or "v6", defaults to "v4") ip_block: IP block for the VPC 2.0 (e.g., "10.0.0.0", defaults to auto-assigned) prefix_length: Prefix length (e.g., 24 for /24, defaults to 24)
Returns: Created VPC 2.0 information including ID and IP block details
Inputs: region (required), description (required), ip_type, ip_block, +1 more. Returns: object
vpc_deleteB
Delete a VPC.
Smart identifier resolution: Use VPC description or ID.
Args: vpc_identifier: VPC description or ID to delete ctx: FastMCP context for resource change notifications
Returns: Success confirmation
Inputs: vpc_identifier (required). Returns: object
vpc_delete_vpc2B
Delete a VPC 2.0 network.
Smart identifier resolution: Use VPC 2.0 description or ID.
Args: vpc2_identifier: VPC 2.0 description or ID to delete
Returns: Success confirmation
Inputs: vpc2_identifier (required). Returns: object
vpc_detach_from_instanceA
Detach VPC or VPC 2.0 from an instance.
Smart identifier resolution: Use VPC/instance description/label/hostname or ID.
Args: vpc_identifier: VPC/VPC 2.0 description or ID to detach instance_identifier: Instance label, hostname, or ID to detach from vpc_type: Type of VPC ("vpc" or "vpc2", defaults to "vpc")
Returns: Success confirmation
Inputs: vpc_identifier (required), instance_identifier (required), vpc_type. Returns: object
vpc_get_network_infoB
Get comprehensive network information for VPC or VPC 2.0.
Smart identifier resolution: Use VPC/VPC 2.0 description or ID.
Args: identifier: VPC/VPC 2.0 description or ID vpc_type: Type to search ("vpc", "vpc2", or "auto" to search both)
Returns: Comprehensive network information with usage recommendations
Inputs: identifier (required), vpc_type. Returns: object
vpc_list_by_regionA
List VPCs and VPC 2.0 networks in a specific region.
Args: region: Region code to filter by (e.g., "ewr", "lax", "fra")
Returns: Combined list of VPCs and VPC 2.0 networks in the specified region
Inputs: region (required). Returns: object
vpc_list_instance_networksA
List all VPCs and VPC 2.0 networks attached to an instance.
Smart identifier resolution: Use instance label, hostname, or ID.
Args: instance_identifier: Instance label, hostname, or ID
Returns: Combined list of VPCs and VPC 2.0 networks attached to the instance
Inputs: instance_identifier (required). Returns: object
vpc_updateC
Update VPC description.
Smart identifier resolution: Use VPC description or ID.
Args: vpc_identifier: VPC description or ID to update description: New description for the VPC ctx: FastMCP context for resource change notifications
Returns: Success confirmation
Inputs: description (required), vpc_identifier (required). Returns: object
vpc_update_vpc2B
Update VPC 2.0 description.
Smart identifier resolution: Use VPC 2.0 description or ID.
Args: vpc2_identifier: VPC 2.0 description or ID to update description: New description for the VPC 2.0
Returns: Success confirmation
Inputs: description (required), vpc2_identifier (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 322 tools
The server exposes 322 tools across many Vultr services, with heavy overlap among list/get/search/summary/analyze/setup variants (e.g., OS, plan, and backup tools). Although prefixes and descriptions help, an agent can easily misselect between near-duplicate query and convenience tools.
Names generally follow module_prefix + verb_noun in snake_case (instance_create, dns_list_records, firewall_create_rule), which is predictable. Minor deviations like redundant cdn_get_cdn_zone or plan_list_plans exist but do not break the pattern.
322 tools is extreme for any MCP server; many are convenience wrappers or narrow analytics helpers that could be collapsed into parameters. This far exceeds a well-scoped surface and increases selection cost.
The surface covers a wide range of Vultr services with CRUD, lifecycle, analytics, and setup helpers for instances, DNS, databases, Kubernetes, storage, billing, users, and more. Obvious domain operations are present, so it is effectively complete.
Maintenance
Related MCP Connectors
Manage Vozora VPS servers, SSH keys, firewalls, DNS and usage from an AI agent.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Your AI Agent's Infrastructure Layer. Connect Claude, Copilot, Codex, or ChatGPT to 200+ managed open source services. Start databases, pipelines, and applications through natural language.
Manage your own cloud with AI: deploy apps, push and ship custom Docker images, manage resources via your AI agent.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive management of CloudStack infrastructure through natural language, providing access to over 735 API methods for virtual machines, networking, and storage. It features enterprise-grade security with a safety confirmation system for destructive operations and extensive API coverage.Creative Commons Attribution Non Commercial Share Alike 4.0 International
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with natural language control over AWS, Azure, GCP, and Alibaba Cloud infrastructure through dynamic API discovery and execution. Supports 51,900+ cloud operations and includes OpenTofu integration for complete infrastructure lifecycle management.3MIT
- AlicenseBqualityDmaintenanceEnables conversational management of Hetzner Cloud, DNS, and Storage Box infrastructure through 137 MCP tools for CRUD operations and actions like server power control, DNS zone management, and storage box snapshots.100MIT

GreenNode MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage VNG Cloud infrastructure including compute, storage, networking, and Kubernetes resources through natural language commands.Apache 2.0