Skip to main content
Glama

Vultr MCP

by rsp2k

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VULTR_API_KEYYesYour Vultr API key for accessing the Vultr cloud services

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
list_domains_resourceList all DNS domains in your Vultr account.
list_instances_resourceList all instances in your Vultr account.
list_ssh_keys_resourceList all SSH keys in your Vultr account.
list_backups_resourceList all backups in your Vultr account.
list_groups_resourceList all firewall groups in your Vultr account.
list_snapshots_resourceList all snapshots in your Vultr account.
list_regions_resourceList all available Vultr regions.
list_reserved_ips_resourceList all reserved IPs.
list_registries_resourceList all container registries.
list_plans_resourceList all available container registry plans.
list_volumes_resourceList all block storage volumes.
list_vpcs_resourceList all VPCs.
list_vpc2s_resourceList all VPC 2.0 networks.
list_clusters_resourceList all Kubernetes clusters in your Vultr account.
list_load_balancers_resourceList all load balancers in your Vultr account.
list_databases_resourceList all managed databases in your Vultr account.
list_database_plans_resourceList all available managed database plans.
list_applications_resourceList all marketplace and one-click applications.
list_marketplace_applications_resourceList only marketplace applications.
list_oneclick_applications_resourceList only one-click applications.
list_object_storage_resourceList all Object Storage instances in your Vultr account.
list_clusters_resourceList all Object Storage clusters.
list_inference_subscriptions_resourceList all serverless inference subscriptions in your Vultr account.
list_gateways_resourceList all storage gateways.
list_subaccounts_resourceList all subaccounts in your Vultr account.
list_users_resourceList all users in your Vultr account.

Tools

Functions exposed to the LLM to take actions

NameDescription
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:

  • HTTP (port 80) from anywhere

  • HTTPS (port 443) from anywhere

  • SSH (port 22) from specified subnet

  • ICMP (ping) from anywhere

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

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rsp2k/mcp-vultr'

If you have feedback or need assistance with the MCP directory API, please join our Discord server