ArvanCloud MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARVAN_HOST | No | Bind address for HTTP transports. | 127.0.0.1 |
| ARVAN_PORT | No | Bind port for HTTP transports. | 8000 |
| ARVAN_API_KEY | Yes | Required. Machine-user access key. The Apikey prefix is added automatically. | |
| ARVAN_SSH_KEY | No | Default SSH auth (inline key). | |
| ARVAN_TIMEOUT | No | Per-request timeout (seconds). | 60 |
| ARVAN_BASE_URL | No | API host (use the .com alias if needed). | https://napi.arvancloud.ir |
| ARVAN_SSH_PORT | No | SSH port. | 22 |
| ARVAN_SSH_USER | No | Default SSH user for the remote-exec tools. | root |
| ARVAN_S3_REGION | No | S3 region (selects the endpoint) or an explicit endpoint URL. | ir-thr-at1 |
| ARVAN_TRANSPORT | No | stdio, sse, or streamable-http. | stdio |
| ARVAN_VERIFY_SSL | No | TLS verification. | true |
| ARVAN_MAX_RETRIES | No | Retries for network errors / 429 / 5xx. | 4 |
| ARVAN_S3_ENDPOINT | No | Explicit S3 endpoint URL. | |
| ARVAN_SSH_TIMEOUT | No | Connect timeout (seconds). | 30 |
| ARVAN_SSH_KEY_FILE | No | Default SSH auth (key file). | |
| ARVAN_SSH_PASSWORD | No | Default SSH auth (password). | |
| ARVAN_S3_ACCESS_KEY | No | Object Storage credentials (separate from the API key). | |
| ARVAN_S3_SECRET_KEY | No | Object Storage credentials (separate from the API key). | |
| ARVAN_BACKOFF_FACTOR | No | Exponential backoff base (seconds). | 1.0 |
| ARVAN_DEFAULT_REGION | No | Default IaaS region, e.g. ir-thr-c2, so you don't repeat it. | |
| ARVAN_SSH_KNOWN_HOSTS | No | Host-key file (off = no verification). | |
| ARVAN_ENABLED_SERVICES | No | Comma list of tool groups to expose (common is always on). | all |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| arvan_requestA | Call any ArvanCloud API endpoint directly (generic escape hatch). Use this for any operation that does not have a dedicated tool. Discover
available endpoints with Args:
method: HTTP method.
path: Endpoint path relative to the API base, e.g.
Returns: The decoded JSON response from ArvanCloud. |
| arvan_capabilitiesA | Discover ArvanCloud products and their API endpoints. Call without arguments for a compact overview of every service. Pass a
service key ( |
| arvan_doctorA | Diagnose the server's configuration and connectivity. Checks: whether the API key works (a live call), which optional CLI tools are installed (IaC/security/k8s/git/net), and whether Object Storage and SSH defaults are configured. Run this first to see what's ready to use. |
| arvan_find_toolA | Search this server's own tools by keyword (handy with 200+ tools). Returns matching tool names and one-line descriptions, ranked by relevance. |
| arvan_list_regionsA | List all ArvanCloud IaaS regions (datacenters) and their codes. |
| arvan_account_detailsA | Get the current account/project details for Cloud Server. |
| arvan_get_quotasB | Get resource quotas and current usage for a region. |
| arvan_list_serversB | List cloud servers (VMs) in a region. |
| arvan_get_serverA | Get details of a single cloud server by id. |
| arvan_server_optionsC | Get available options for creating a server in a region. |
| arvan_create_serverA | Create one or more cloud servers. Args:
name: Server name (a numeric suffix is added when count > 1).
flavor_id: Plan/flavor id — see |
| arvan_delete_serverB | Delete a cloud server. Set force_delete_floating_ips to also release IPs. |
| arvan_server_actionC | Run a power/maintenance action on a server. Actions: power-on, power-off, reboot, hard-reboot, rescue, unrescue, reset-root-password, add-public-ip, change-public-ip. |
| arvan_rename_serverC | Rename a cloud server. |
| arvan_rebuild_serverA | Rebuild a server from an image (destroys current root disk contents). |
| arvan_resize_serverC | Change a server's plan/flavor (resize CPU & RAM). |
| arvan_resize_server_diskB | Resize a server's root disk to the given size in GB. |
| arvan_list_imagesA | List server images. Args:
region: Region code; defaults to ARVAN_DEFAULT_REGION.
image_type: Filter by type, e.g. |
| arvan_list_plansA | List available server plans/flavors (sizes) and their pricing. |
| arvan_list_ptr_recordsA | List reverse-DNS (PTR) records in a region. |
| arvan_create_ptr_recordA | Create a reverse-DNS (PTR) record mapping an IP to a domain. |
| arvan_delete_ptr_recordB | Delete a reverse-DNS (PTR) record by id. |
| arvan_list_ssh_keysA | List SSH keys registered in a region (for injecting into new servers). |
| arvan_create_ssh_keyC | Register an SSH public key so it can be injected into servers at create. |
| arvan_delete_ssh_keyB | Delete a registered SSH key by name. |
| arvan_list_tagsB | List resource tags in a region. |
| arvan_create_tagC | Create a resource tag. |
| arvan_delete_tagC | Delete a resource tag by id. |
| arvan_attach_tagB | Attach a tag to a resource (e.g. a server). |
| arvan_detach_tagC | Detach a tag from a resource. |
| arvan_attach_security_group_to_serverC | Attach a security group to a server. |
| arvan_detach_security_group_from_serverB | Detach a security group from a server. |
| arvan_wait_for_serverA | Poll a server until it becomes active (or the timeout elapses). Handy right after |
| arvan_list_networksB | List networks (public and private) available in a region. |
| arvan_list_subnetsB | List private-network subnets in a region. |
| arvan_create_private_networkA | Create a private network (subnet). Args:
name: Network name.
region: Region code; defaults to ARVAN_DEFAULT_REGION.
subnet_ip: CIDR for the subnet, e.g. |
| arvan_get_subnetB | Get a private-network subnet by id. |
| arvan_update_subnetB | Update a subnet (e.g. dns_servers, enable_dhcp, subnet_gateway). |
| arvan_delete_subnetB | Delete a private-network subnet by id. |
| arvan_attach_networkB | Attach a network to a server (optionally with a fixed IP). |
| arvan_detach_networkB | Detach a network from a server. |
| arvan_list_security_groupsB | List security groups (firewall groups) in a region. |
| arvan_create_security_groupC | Create a security group. |
| arvan_delete_security_groupC | Delete a security group by id. |
| arvan_create_security_ruleB | Add a rule to a security group. Args:
group_id: Target security-group id.
direction: |
| arvan_delete_security_ruleA | Delete a security-group rule by id. |
| arvan_list_floating_ipsA | List floating (public) IP addresses in a region. |
| arvan_create_floating_ipC | Allocate a new floating (public) IP address. |
| arvan_attach_floating_ipC | Attach a floating IP to a server/port. |
| arvan_detach_floating_ipA | Detach a floating IP from the given port. |
| arvan_delete_floating_ipC | Release (delete) a floating IP address by id. |
| arvan_set_port_securityC | Enable or disable port security on a network port. |
| arvan_list_volumesB | List block-storage volumes in a region. |
| arvan_get_volumeA | Get a single block-storage volume by id. |
| arvan_get_volume_limitsB | Get block-storage volume limits/quota for a region. |
| arvan_create_volumeB | Create a block-storage volume. Args: name: Volume name. size: Size in GB. region: Region code; defaults to ARVAN_DEFAULT_REGION. description: Optional description. |
| arvan_update_volumeB | Update a volume's name and/or description. |
| arvan_delete_volumeB | Delete a block-storage volume by id. |
| arvan_attach_volumeB | Attach a volume to a server. |
| arvan_detach_volumeC | Detach a volume from a server. |
| arvan_snapshot_volumeC | Create a snapshot of a volume. |
| arvan_s3_list_bucketsA | List all Object Storage buckets. |
| arvan_s3_create_bucketC | Create a bucket. |
| arvan_s3_delete_bucketB | Delete an (empty) bucket. |
| arvan_s3_list_objectsB | List objects in a bucket (optionally under a prefix). |
| arvan_s3_put_objectA | Upload an object. Args:
bucket: Target bucket.
key: Object key (path) within the bucket.
content: The object body. Plain text, or base64 if |
| arvan_s3_get_objectA | Download an object. Returns text, or base64 when Bodies larger than 256 KiB are truncated; use a presigned URL for big files. |
| arvan_s3_delete_objectC | Delete a single object. |
| arvan_s3_delete_objectsC | Delete multiple objects in one call. |
| arvan_s3_copy_objectC | Copy an object to another key/bucket. |
| arvan_s3_head_objectB | Get an object's metadata (size, type, etag) without downloading it. |
| arvan_s3_generate_presigned_urlA | Generate a presigned URL for temporary access to an object.
|
| arvan_s3_get_bucket_policyB | Get a bucket's access policy (JSON). |
| arvan_s3_put_bucket_policyA | Set a bucket's access policy (an S3 policy document). |
| arvan_s3_set_bucket_aclA | Set a bucket ACL (private, public-read, public-read-write). |
| arvan_s3_sync_local_dirC | Upload all files under a local directory to a bucket (recursive). |
| arvan_s3_enable_static_websiteB | Configure a bucket for static website hosting (optionally make it public). |
| arvan_list_domainsA | List CDN domains on the account (supports pagination & search). |
| arvan_get_domainC | Get details and settings for a CDN domain. |
| arvan_create_domainA | Add a domain to the CDN / Cloud DNS (the "dns-service" onboarding call). Args:
domain: The domain name, e.g. |
| arvan_delete_domainA | Remove a domain from the CDN. The delete endpoint requires the domain's id. If |
| arvan_get_caching_settingsB | Get caching settings for a domain. |
| arvan_update_caching_settingsA | Update caching settings for a domain.
|
| arvan_purge_cacheA | Purge cached content for a domain. Pass |
| arvan_list_page_rulesC | List page rules for a domain. |
| arvan_create_page_ruleC | Create a page rule. Args:
domain: The CDN domain.
url: URL pattern the rule applies to (e.g. |
| arvan_delete_page_ruleC | Delete a page rule by id. |
| arvan_list_firewall_rulesB | List firewall (WAF) rules for a domain. |
| arvan_create_firewall_ruleB | Create a firewall (WAF) rule. Args:
domain: The CDN domain.
name: Rule name.
action: Action to take, e.g. |
| arvan_get_ssl_settingsB | Get HTTPS/SSL settings for a domain. |
| arvan_update_ssl_settingsA | Update HTTPS/SSL settings for a domain. Pass |
| arvan_delete_firewall_ruleC | Delete a firewall (WAF) rule by id. |
| arvan_list_rate_limit_rulesA | List rate-limit rules for a domain. |
| arvan_create_rate_limit_ruleC | Create a rate-limit rule.
|
| arvan_delete_rate_limit_ruleC | Delete a rate-limit rule by id. |
| arvan_list_log_forwardersA | List log-forwarding destinations for a domain. |
| arvan_create_log_forwarderC | Create a log forwarder (ship access logs to an external sink). |
| arvan_delete_log_forwarderC | Delete a log forwarder by id. |
| arvan_list_metric_exportersA | List Prometheus-style metric exporters for a domain. |
| arvan_create_metric_exporterC | Create a metric exporter for a domain. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| provision_web_server | Guide: provision a server, install a web stack, and (optionally) wire DNS. |
| audit_security | Guide: run a security audit of a region and a domain. |
| setup_cdn | Guide: onboard a domain to the CDN with DNS, caching and SSL. |
| deploy_static_site | Guide: host a static site on Object Storage. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| capabilities_resource | The full ArvanCloud API catalogue as an MCP resource. |
| regions_resource | Live list of ArvanCloud regions. |
| domains_resource | Live list of CDN/DNS domains on the account. |
Latest Blog Posts
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/dwin-gharibi/arvancloud-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server