Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
VULTR_API_KEY | Yes | Your Vultr API key for accessing the Vultr cloud services |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
list_domains_resource | List all DNS domains in your Vultr account. |
list_instances_resource | List all instances in your Vultr account. |
list_ssh_keys_resource | List all SSH keys in your Vultr account. |
list_backups_resource | List all backups in your Vultr account. |
list_groups_resource | List all firewall groups in your Vultr account. |
list_snapshots_resource | List all snapshots in your Vultr account. |
list_regions_resource | List all available Vultr regions. |
list_reserved_ips_resource | List all reserved IPs. |
list_registries_resource | List all container registries. |
list_plans_resource | List all available container registry plans. |
list_volumes_resource | List all block storage volumes. |
list_vpcs_resource | List all VPCs. |
list_vpc2s_resource | List all VPC 2.0 networks. |
list_clusters_resource | List all Kubernetes clusters in your Vultr account. |
list_load_balancers_resource | List all load balancers in your Vultr account. |
list_databases_resource | List all managed databases in your Vultr account. |
list_database_plans_resource | List all available managed database plans. |
list_applications_resource | List all marketplace and one-click applications. |
list_marketplace_applications_resource | List only marketplace applications. |
list_oneclick_applications_resource | List only one-click applications. |
list_object_storage_resource | List all Object Storage instances in your Vultr account. |
list_clusters_resource | List all Object Storage clusters. |
list_inference_subscriptions_resource | List all serverless inference subscriptions in your Vultr account. |
list_gateways_resource | List all storage gateways. |
list_subaccounts_resource | List all subaccounts in your Vultr account. |
list_users_resource | List all users in your Vultr account. |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
list_domains | List all DNS domains in your Vultr account. Returns: List of domain objects with details including: - domain: Domain name - date_created: Creation date - dns_sec: DNSSEC status |
get_domain | 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 |
create_domain | Create a new DNS domain. Args: domain: The domain name to create ip: The default IP address for the domain dns_sec: Enable DNSSEC (enabled/disabled, default: disabled) Returns: Created domain information |
delete_domain | Delete a DNS domain and all its records. Args: domain: The domain name to delete Returns: Status message confirming deletion |
list_records | List all DNS records for a domain. Args: domain: The domain name to list records for Returns: List of DNS records with details |
get_record | 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 |
create_record | 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 ttl: Time to live in seconds (default: 300) priority: Priority for MX/SRV records Returns: Created record information |
update_record | Update an existing DNS record. Args: domain: The domain name record_id: The record ID to update 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 |
delete_record | Delete a DNS record. Args: domain: The domain name record_id: The record ID to delete Returns: Status message confirming deletion |
validate_record | 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 |
analyze_domain | Analyze DNS configuration for a domain and provide recommendations. Args: domain: The domain name to analyze Returns: Analysis results with recommendations for improvements |
setup_website | 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 |
export_zone_file | Export domain records as standard DNS zone file format. Args: domain: The domain name to export Returns: DNS zone file content as string |
import_zone_file | 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 |
list | List all users in your Vultr account. Returns: List of user objects with details including: - id: User ID (UUID) - email: User email address - first_name: User's first name - last_name: User's last name - name: User's full name (deprecated, use first_name + last_name) - api_enabled: Whether API access is enabled - service_user: Whether this is a service user (API-only) - acls: List of permissions granted to the user |
get | 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 |
create | 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 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 |
update | Update an existing user's settings. Args: user_id: The user ID (UUID) or email address to update 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 |
delete | Delete a user. Args: user_id: The user ID (UUID) or email address to delete Returns: Status message confirming deletion |
start | Start a stopped instance. Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) Returns: Status message confirming start |
stop | Stop a running instance. Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) Returns: Status message confirming stop |
reboot | Reboot an instance. Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) Returns: Status message confirming reboot |
reinstall | Reinstall an instance's operating system. Args: instance_id: The instance ID, label, or hostname (e.g., "web-server", "db.example.com", or UUID) hostname: New hostname for the instance (optional) Returns: Reinstall status information |
get_bandwidth | 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 |
list_ipv4 | 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 |
create_ipv4 | 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 |
delete_ipv4 | 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 |
list_ipv6 | 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 |
list_groups | 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 |
get_group | 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 |
create_group | Create a new firewall group. Args: description: Description for the firewall group Returns: Created firewall group information |
update_group | 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 Returns: Status message confirming update |
delete_group | Delete a firewall group. Args: firewall_group_id: The firewall group ID or description (e.g., "web-servers" or UUID) Returns: Status message confirming deletion |
list_rules | 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 |
get_rule | 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 |
create_rule | 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) 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, port="80") # Allow SSH from specific subnet
create_rule(group_id, "v4", "tcp", "192.168.1.0", 24, port="22", notes="Office network")
# Allow ping from anywhere
create_rule(group_id, "v4", "icmp", "0.0.0.0", 0) |
delete_rule | 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 Returns: Status message confirming deletion |
setup_web_server_rules | 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) allow_ssh_from: IP subnet to allow SSH from (default: anywhere) Returns: List of created firewall rules Creates rules for:
|
create_from_url | 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. |
get_availability | 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. |
find_regions_with_plan | 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 |
list_by_continent | 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 |
list_with_ddos_protection | List all regions that support DDoS protection. Returns: List of regions with DDoS protection capability |
attach | 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 live: Whether to attach without rebooting the instance (default: True) Returns: Success confirmation |
detach | Detach block storage volume from its instance. Smart identifier resolution: Use volume label or ID. Args: volume_identifier: Volume label or ID to detach live: Whether to detach without rebooting the instance (default: True) Returns: Success confirmation |
convert_instance_ip | Convert an existing instance IP to a reserved IP. Args: ip_address: The IP address to convert instance_id: The instance ID that owns the IP 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. |
list_by_region | 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 |
list_unattached | List all unattached block storage volumes. Returns: List of volumes that are not currently attached to any instance |
list_attached | List all attached block storage volumes with instance information. Returns: List of volumes that are currently attached to instances |
list_plans | List all available managed database plans. Returns: List of database plans with pricing and specifications |
generate_docker_credentials | 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 |
generate_kubernetes_credentials | 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 |
get_docker_login_command | 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 |
get_registry_info | 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 |
get_volume_status | 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 |
get_mounting_instructions | 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 |
list_vpc2 | List all VPC 2.0 networks in your account. Returns: List of VPC 2.0 objects with details including: - id: VPC 2.0 ID - description: User-defined description - region: Region where VPC 2.0 is located - ip_block: IP block (e.g., "10.0.0.0") - prefix_length: Prefix length (e.g., 24) - date_created: Creation date |
get_vpc2 | Get detailed information about a specific VPC 2.0. Smart identifier resolution: Use VPC 2.0 description or ID. Args: vpc2_identifier: VPC 2.0 description or ID to retrieve Returns: Detailed VPC 2.0 information including IP block configuration |
create_vpc2 | 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 |
update_vpc2 | 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 |
delete_vpc2 | 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 |
attach_to_instance | 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 |
detach_from_instance | 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 |
list_instance_networks | 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 |
get_network_info | 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 |
list_isos | List all available ISO images. Returns: List of available ISO images |
get_iso | Get details of a specific ISO image. Args: iso_id: The ISO ID Returns: ISO image details |
create_iso | Create a new ISO image from URL. Args: url: The URL to create the ISO from Returns: Created ISO details |
delete_iso | Delete an ISO image. Args: iso_id: The ISO ID to delete Returns: Success message |
list_public_isos | List public ISO images (filtered from all ISOs). Returns: List of public ISO images |
list_custom_isos | List custom ISO images (user-uploaded). Returns: List of custom ISO images |
get_iso_by_name | Get ISO by name or filename. Args: name: ISO name or filename to search for Returns: ISO details if found |
list_operating_systems | List all available operating systems. Returns: List of available operating systems |
get_operating_system | Get details of a specific operating system. Args: os_id: The operating system ID Returns: Operating system details |
list_linux_os | List Linux operating systems. Returns: List of Linux operating systems |
list_windows_os | List Windows operating systems. Returns: List of Windows operating systems |
search_os_by_name | Search operating systems by name. Args: name: OS name to search for (partial match) Returns: List of matching operating systems |
get_os_by_name | Get operating system by exact name match. Args: name: Exact OS name to find Returns: Operating system details |
list_application_images | List application images (one-click apps). Returns: List of application images |
list_os_by_family | List operating systems by family. Args: family: OS family (e.g., 'ubuntu', 'centos', 'windows', 'application') Returns: List of operating systems in the specified family |
get_plan | Get details of a specific plan. Args: plan_id: The plan ID Returns: Plan details |
list_vc2_plans | List VC2 (Virtual Cloud Compute) plans. Returns: List of VC2 plans |
list_vhf_plans | List VHF (High Frequency) plans. Returns: List of VHF plans |
list_voc_plans | List VOC (Optimized Cloud) plans. Returns: List of VOC plans |
search_plans_by_specs | 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 Returns: List of plans matching the criteria |
get_plan_by_type_and_spec | 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 Returns: List of matching plans |
get_cheapest_plan | Get the cheapest available plan. Args: plan_type: Optional plan type filter Returns: Cheapest plan details |
get_plans_by_region_availability | Get plans available in a specific region. Args: region: Region code (e.g., 'ewr', 'lax') Returns: List of plans available in the specified region |
compare_plans | Compare multiple plans side by side. Args: plan_ids: List of plan IDs to compare Returns: List of plan details for comparison |
list_startup_scripts | List all startup scripts. Returns: List of startup scripts |
get_startup_script | 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 |
create_startup_script | 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 |
update_startup_script | 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 |
delete_startup_script | 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 |
list_boot_scripts | List boot startup scripts. Returns: List of boot startup scripts |
list_pxe_scripts | List PXE startup scripts. Returns: List of PXE startup scripts |
search_startup_scripts | 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 |
create_common_startup_script | 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 |
get_startup_script_content | 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 |
get_account_info | Get account information including billing details. Returns: Account information and billing details |