Skip to main content
Glama
dwin-gharibi

ArvanCloud MCP Server

by dwin-gharibi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ARVAN_HOSTNoBind address for HTTP transports.127.0.0.1
ARVAN_PORTNoBind port for HTTP transports.8000
ARVAN_API_KEYYesRequired. Machine-user access key. The Apikey prefix is added automatically.
ARVAN_SSH_KEYNoDefault SSH auth (inline key).
ARVAN_TIMEOUTNoPer-request timeout (seconds).60
ARVAN_BASE_URLNoAPI host (use the .com alias if needed).https://napi.arvancloud.ir
ARVAN_SSH_PORTNoSSH port.22
ARVAN_SSH_USERNoDefault SSH user for the remote-exec tools.root
ARVAN_S3_REGIONNoS3 region (selects the endpoint) or an explicit endpoint URL.ir-thr-at1
ARVAN_TRANSPORTNostdio, sse, or streamable-http.stdio
ARVAN_VERIFY_SSLNoTLS verification.true
ARVAN_MAX_RETRIESNoRetries for network errors / 429 / 5xx.4
ARVAN_S3_ENDPOINTNoExplicit S3 endpoint URL.
ARVAN_SSH_TIMEOUTNoConnect timeout (seconds).30
ARVAN_SSH_KEY_FILENoDefault SSH auth (key file).
ARVAN_SSH_PASSWORDNoDefault SSH auth (password).
ARVAN_S3_ACCESS_KEYNoObject Storage credentials (separate from the API key).
ARVAN_S3_SECRET_KEYNoObject Storage credentials (separate from the API key).
ARVAN_BACKOFF_FACTORNoExponential backoff base (seconds).1.0
ARVAN_DEFAULT_REGIONNoDefault IaaS region, e.g. ir-thr-c2, so you don't repeat it.
ARVAN_SSH_KNOWN_HOSTSNoHost-key file (off = no verification).
ARVAN_ENABLED_SERVICESNoComma list of tool groups to expose (common is always on).all

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 arvan_capabilities.

Args: method: HTTP method. path: Endpoint path relative to the API base, e.g. /ecc/v1/regions/ir-thr-c2/servers or /cdn/4.0/domains. A leading slash is optional. query: Optional query-string parameters. body: Optional JSON request body (for POST/PUT/PATCH).

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 (compute, network, storage, cdn, dns, vod, live) to get its full endpoint list, including request-body hints you can feed to arvan_request.

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_list_plans. image_id: OS/snapshot image id — see arvan_list_images. region: Region code; defaults to ARVAN_DEFAULT_REGION. disk_size: Root disk size in GB. count: How many identical servers to create. network_ids: Private network ids to attach. security_group_names: Security groups to apply. ssh_key_name: Name of an SSH key to inject (see arvan_list_ssh_keys). init_script: Cloud-init / startup script. ha_enabled: Enable high availability. create_type: Optional create type (e.g. image, snapshot). extra: Any additional fields to merge into the request body.

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. distributions (OS images), snapshots (your snapshots), or private. marketplace: Set True to list marketplace app images instead.

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_create_server and before SSHing in. Returns the latest server details plus ready/timed_out flags. The wait is bounded to 30 minutes regardless of timeout.

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. 192.168.0.0/24. subnet_gateway: Gateway IP within the subnet. enable_gateway: Whether to enable the gateway. enable_dhcp: Whether DHCP assigns addresses automatically. dns_servers: Comma-separated DNS servers. dhcp_start / dhcp_end: Optional DHCP allocation range.

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: ingress (inbound) or egress (outbound). protocol: tcp, udp, icmp … (omit for any). port_from / port_to: Port range (as strings). ips: Source/destination CIDRs, e.g. ["0.0.0.0/0"]. description: Optional description.

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. acl is one of private, public-read, public-read-write.

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 content_base64. content_base64: Set True when content is base64-encoded binary. content_type: Optional MIME type, e.g. application/json. acl: Optional ACL, e.g. public-read.

arvan_s3_get_objectA

Download an object. Returns text, or base64 when as_base64 or binary.

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.

operation is get_object (download) or put_object (upload).

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. example.com. extra: Additional fields to merge into the request body (e.g. plan).

arvan_delete_domainA

Remove a domain from the CDN.

The delete endpoint requires the domain's id. If domain_id is not supplied it is looked up automatically via the domain details.

arvan_get_caching_settingsB

Get caching settings for a domain.

arvan_update_caching_settingsA

Update caching settings for a domain.

settings accepts the caching fields documented by ArvanCloud, e.g. {"cache_status": "enable", "cache_page_200": "..."}.

arvan_purge_cacheA

Purge cached content for a domain.

Pass urls to purge specific paths, or omit to purge everything.

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. example.com/blog/*). actions: Map of rule actions, e.g. {"cache_level": "bypass"}.

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. block, allow, challenge. filters: Match conditions for the rule. extra: Additional fields to merge into the request body.

arvan_get_ssl_settingsB

Get HTTPS/SSL settings for a domain.

arvan_update_ssl_settingsA

Update HTTPS/SSL settings for a domain.

Pass ssl_type (default for free Let's Encrypt, manual for an uploaded certificate, off to disable) and/or a full settings body.

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.

rule carries the documented fields (e.g. url, method, count, duration, action).

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

NameDescription
provision_web_serverGuide: provision a server, install a web stack, and (optionally) wire DNS.
audit_securityGuide: run a security audit of a region and a domain.
setup_cdnGuide: onboard a domain to the CDN with DNS, caching and SSL.
deploy_static_siteGuide: host a static site on Object Storage.

Resources

Contextual data attached and managed by the client

NameDescription
capabilities_resourceThe full ArvanCloud API catalogue as an MCP resource.
regions_resourceLive list of ArvanCloud regions.
domains_resourceLive 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