Skip to main content
Glama
American Cloud MCP Server

American Cloud MCP Server

Official

American Cloud MCP Server

Manage American Cloud infrastructure from Claude, Cursor, and any other MCP client.

Runs locally on your machine over stdio — your API keys never leave your environment, and no hosted middleman sits between your AI assistant and your cloud.

Claude Code auditing American Cloud infrastructure over the MCP server with a read-only key

Quick start

Add to your MCP client configuration (Claude Desktop, Claude Code, Cursor, …):

{
  "mcpServers": {
    "americancloud": {
      "command": "npx",
      "args": ["-y", "@americancloud/mcp"],
      "env": {
        "AMERICANCLOUD_API_CLIENT_ID": "your-client-id",
        "AMERICANCLOUD_API_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Create and manage API keys at console.americancloud.com/api-keys.

The server is read-only by default — see Safety before enabling resource management.

Related MCP server: Akamai Cloud MCP Server

Service groups

By default the core infrastructure groups are enabled: compute, storage, networking, kubernetes. Scope or extend with --services:

npx @americancloud/mcp --services all
npx @americancloud/mcp --services compute,dns

Group

Tools

Covers

compute (default)

25

VMs, packages, images, regions, SSH keys

storage (default)

27

block storage, snapshots, object storage and its access keys

networking (default)

57

isolated/VPC networks, VPC tiers, public IPs, firewall, port forwarding, load balancers, egress, ACLs

kubernetes (default)

11

managed Kubernetes clusters

databases

36

managed MySQL/PostgreSQL/Redis, backups, infrastructure, offerings

wordpress

16

managed WordPress

dns

7

hosted DNS zones and records

Scoping with --services keeps the tool list small for context-sensitive clients.

Safety

This server lets an AI assistant manage real infrastructure with real billing. It's designed to be safe by default:

  • Read-only by default. Out of the box, only read tools (list/get/cost estimates) are registered — an assistant can explore and inspect but cannot create, modify, or delete anything. To enable management tools, add "--allow-writes" to args.

  • Use the narrowest key. For inspection, provision a read-only API key — then resource mutation is impossible regardless of any flag, because the key itself can't perform writes. Only use a read-write key together with --allow-writes when you actually want the assistant to make changes. One read tool needs a read-write key: get_kubernetes_cluster_config, because the kubeconfig grants full access to the cluster.

  • Destructive tools are flagged. Delete/release/reinstall/revert/cancel tools are marked destructive, so MCP clients that support confirmations will prompt before running them.

// management-enabled (read-write key + opt-in flag):
"args": ["-y", "@americancloud/mcp", "--allow-writes"]

With writes enabled, the assistant can provision and deploy — and it still shows you the cost and waits for approval before creating anything:

Claude Code provisioning a server and deploying to it over the MCP server with --allow-writes — cost shown first, writes run through you

Environment

Variable

Required

Purpose

AMERICANCLOUD_API_CLIENT_ID

yes

API client ID (X-API-Client-ID)

AMERICANCLOUD_API_CLIENT_SECRET

yes

API client secret (X-API-Client-Secret)

AMERICANCLOUD_API_URL

no

API base URL override

Guides

Full documentation on the American Cloud docs site:

Versioning

See VERSIONING.md — the server versions independently; the exact-pinned @americancloud/sdk dependency states the API surface it targets.

Contributing

This server is generated and maintained in lockstep with the American Cloud SDK and API — see CONTRIBUTING.md for how to report issues or propose changes.

License

Apache-2.0 — see LICENSE and NOTICE.

Available Tools

56 tools
get_block_storage_volumeGet block storage volumeA
Read-onlyIdempotent

Get one block storage volume by ID: size, region, and attachment state.

Inputs: id (required).

get_cost_estimate_block_storageGet block storage cost estimateA
Read-onlyIdempotent

Preview the price of a block storage volume configuration without creating it. Takes the same arguments as create_block_storage_volume.

Inputs: name (required), region (required), sizeGb (required).

get_cost_estimate_kubernetesGet Kubernetes cost estimateA
Read-onlyIdempotent

Preview the price of a Kubernetes cluster configuration without creating it. Takes the same arguments as create_kubernetes_cluster.

Inputs: name (required), region (required), package (required), version (required), +5 more.

get_cost_estimate_object_storageGet object storage cost estimateA
Read-onlyIdempotent

Get the metered pricing for object storage (per-GB rate and minimums). Takes no arguments — object storage is billed by actual usage.

Inputs: no named parameters.

get_cost_estimate_public_ipGet public IP cost estimateA
Read-onlyIdempotent

Get the price of a public IP address. Takes no arguments.

Inputs: no named parameters.

get_cost_estimate_snapshotGet snapshot cost estimateA
Read-onlyIdempotent

Preview the price of a snapshot without creating it. Takes the same arguments as create_snapshot.

Inputs: name (required), type (required), volumeId (required).

get_cost_estimate_vmGet VM cost estimateA
Read-onlyIdempotent

Preview the price of a VM configuration without creating anything. Takes the same arguments as create_vm and returns hourly/monthly cost breakdowns — use this before create_vm when cost matters.

Inputs: name (required), image (required), region (required), vmSpecs (required), +7 more.

get_cost_estimate_vpc_networkGet VPC cost estimateA
Read-onlyIdempotent

Preview the price of a VPC configuration without creating it. Same arguments as create_vpc_network.

Inputs: cidr (required), name (required), region (required), description.

get_egress_ruleGet egress ruleA
Read-onlyIdempotent

Get one egress rule by ID (from list_egress_rules), including its protocol, ports, and CIDRs.

Inputs: id (required).

get_imageGet imageA
Read-onlyIdempotent

Get one OS image by its UUID (from list_images), including its label and OS details.

Inputs: id (required).

get_image_by_labelGet image by labelC
Read-onlyIdempotent

Get one OS image by its public label (e.g. "ubuntu-24.04-050826").

Inputs: label (required).

get_isolated_networkGet isolated networkA
Read-onlyIdempotent

Get one standalone isolated network by ID, including its CIDR and status. If the ID belongs to a VPC tier subnet (e.g. from a VM in a VPC), use get_vpc_tier instead.

Inputs: id (required).

get_kubernetes_clusterGet Kubernetes clusterA
Read-onlyIdempotent

Get one Kubernetes cluster by ID. Pass details=true for full node and status information.

Inputs: id (required), details.

get_kubernetes_cluster_configGet Kubernetes cluster configA
Read-onlyIdempotent

Get the kubeconfig (YAML) for a cluster, used to connect kubectl and other Kubernetes tooling. Treat it as sensitive — it grants cluster access, so it needs a read-write API key.

Inputs: id (required).

get_network_acl_listGet network ACL listB
Read-onlyIdempotent

Get one network ACL list by ID.

Inputs: id (required).

get_network_acl_ruleGet network ACL ruleC
Read-onlyIdempotent

Get one network ACL rule by ID.

Inputs: id (required).

get_object_storage_keysGet object storage keysA
Read-onlyIdempotent

Get the original S3 access key and secret of an object storage unit (its oldest key), used to connect S3 clients. To see every key with its label, use list_object_storage_access_keys. Treat the returned secret as sensitive.

Inputs: storageUnitId (required).

get_public_ipGet public IPA
Read-onlyIdempotent

Get one public IP by ID, including its NAT configuration.

Inputs: id (required).

get_regionGet regionA
Read-onlyIdempotent

Get one region by its UUID (from list_regions), including its label and availability.

Inputs: id (required).

get_region_by_labelGet region by labelA
Read-onlyIdempotent

Get one region by its public label (e.g. "us-west-0").

Inputs: label (required).

get_server_infoGet server infoA
Read-onlyIdempotent

Describe this American Cloud MCP server: version, pinned SDK version, API endpoint, enabled service groups, and whether it is running in read-only mode. Useful to confirm configuration before managing resources.

Inputs: no named parameters.

get_snapshotGet snapshotA
Read-onlyIdempotent

Get one snapshot by ID: source volume, type, size, and creation time.

Inputs: id (required).

get_vmGet VMA
Read-onlyIdempotent

Get one virtual machine by ID: status, specs, IP address, network, and image details. To connect over SSH, log in at the public IP as the default user cloud, unless the user names a different one.

Inputs: id (required).

get_vm_metricsGet VM metricsB
Read-onlyIdempotent

Get CPU, memory, network, and disk usage metrics for a VM over the last N hours.

Inputs: id (required), hours (required), sample_period.

get_vm_packageGet VM packageA
Read-onlyIdempotent

Get one VM package by its UUID, including CPU/memory/disk limits.

Inputs: id (required).

get_vm_package_by_labelGet VM package by labelA
Read-onlyIdempotent

Get one VM package by its public label (e.g. "standard-custom"), including CPU/memory/disk limits.

Inputs: label (required).

get_vpc_networkGet VPC networkA
Read-onlyIdempotent

Get one VPC network by ID, including its tiers and status.

Inputs: id (required).

get_vpc_tierGet VPC tierA
Read-onlyIdempotent

Get one tier (subnet) of a VPC, including its CIDR, gateway, ACL, status, and creation date. Use the tier IDs from get_vpc_network.

Inputs: id (required), tierId (required).

list_block_storage_snapshotsList block storage snapshotsB
Read-onlyIdempotent

List the snapshots taken of a specific block storage volume.

Inputs: id (required), page, pageSize.

list_block_storage_volumesList block storage volumesA
Read-onlyIdempotent

List block storage volumes in your account, optionally filtered to a VM. Returns IDs, sizes, regions, and attachment state.

Inputs: page, vmId, pageSize.

list_egress_rulesList egress rulesA
Read-onlyIdempotent

List outbound (egress) traffic rules across your isolated networks.

Inputs: page, pageSize.

list_egress_rules_by_networkList egress rules by networkB
Read-onlyIdempotent

List the egress rules for a specific isolated network.

Inputs: networkId (required), page, pageSize.

list_firewall_rulesList firewall rulesB
Read-onlyIdempotent

List inbound firewall rules on a public IP.

Inputs: ipId (required), page, pageSize.

list_imagesList imagesA
Read-onlyIdempotent

List the operating system images available for VM creation, optionally filtered by OS and version. Image labels are required by create_vm and reinstall_vm.

Inputs: os, page, version, pageSize.

list_isolated_networksList isolated networksA
Read-onlyIdempotent

List standalone isolated (single-tier private) networks in your account. VPC tier subnets are listed separately via get_vpc_network.

Inputs: page, pageSize.

list_kubernetes_clustersList Kubernetes clustersA
Read-onlyIdempotent

List the Kubernetes clusters in your account with their IDs, status, version, and node counts.

Inputs: page, pageSize.

list_kubernetes_packagesList Kubernetes packagesA
Read-onlyIdempotent

List the available Kubernetes node packages (sizing/pricing tiers) for cluster creation.

Inputs: page, pageSize.

list_kubernetes_versionsList Kubernetes versionsA
Read-onlyIdempotent

List the available Kubernetes versions. Pass current_version to get only valid upgrade targets from a running cluster's version.

Inputs: page, pageSize, current_version.

list_load_balancer_instancesList load balancer instancesB
Read-onlyIdempotent

List the VMs assigned (or assignable) to a load balancer rule.

Inputs: ruleId (required), page, applied, pageSize.

list_load_balancer_rulesList load balancer rulesB
Read-onlyIdempotent

List load balancer rules on a public IP.

Inputs: ipId (required), page, pageSize.

list_network_acl_listsList network ACL listsB
Read-onlyIdempotent

List network ACL lists, which are applied to VPC tiers.

Inputs: page, pageSize.

list_network_acl_lists_by_vpcList network ACL lists by VPCC
Read-onlyIdempotent

List the ACL lists belonging to a specific VPC.

Inputs: vpcId (required), page, pageSize.

list_network_acl_rulesList network ACL rulesC
Read-onlyIdempotent

List the rules within a network ACL list.

Inputs: listId (required), page, pageSize.

list_object_storage_access_keysList object storage access keysA
Read-onlyIdempotent

List every S3 access key of an object storage unit, oldest first, with its secret, label and creation time. All keys work at the same time. The unit's original key has a null label and createdAt. Treat the returned secrets as sensitive.

Inputs: storageUnitId (required), page, pageSize.

list_object_storage_bucketsList object storage bucketsC
Read-onlyIdempotent

List the buckets within an object storage unit.

Inputs: storageUnitId (required), page, pageSize.

list_object_storage_unitsList object storage unitsB
Read-onlyIdempotent

List your S3-compatible object storage units, optionally with usage figures. A unit contains buckets and has its own access keys. A null maxBuckets or limitKb means unlimited.

Inputs: page, usage, pageSize.

list_port_forwarding_rulesList port forwarding rulesB
Read-onlyIdempotent

List port forwarding rules on a public IP.

Inputs: ipId (required), page, pageSize.

list_public_ipsList public IPsB
Read-onlyIdempotent

List the public IP addresses allocated to your account.

Inputs: page, pageSize.

list_public_ips_by_isolated_networkList public IPs by isolated networkB
Read-onlyIdempotent

List the public IPs allocated within a specific isolated network.

Inputs: isolatedNetworkId (required), page, pageSize.

list_public_ips_by_vpcList public IPs by VPCB
Read-onlyIdempotent

List the public IPs allocated within a specific VPC.

Inputs: vpcId (required), page, pageSize.

list_regionsList regionsA
Read-onlyIdempotent

List the regions where infrastructure can be provisioned. Region labels are required by create_vm and most create tools.

Inputs: page, pageSize.

list_snapshotsList snapshotsB
Read-onlyIdempotent

List all volume snapshots in your account with their IDs, source volumes, and types.

Inputs: page, pageSize.

list_ssh_keysList SSH keysA
Read-onlyIdempotent

List the SSH key pairs registered in your account. Key names are used by create_vm's keypairs argument.

Inputs: page, pageSize.

list_vm_packagesList VM packagesA
Read-onlyIdempotent

List the available VM packages (compute tiers) with their labels, CPU/memory/disk limits, and zones. Package labels are required by create_vm and get_cost_estimate_vm.

Inputs: page, pageSize.

list_vmsList VMsA
Read-onlyIdempotent

List the virtual machines in your American Cloud account, one page at a time, with their IDs, names, status, region, and IP addresses.

Inputs: page, pageSize.

list_vpc_networksList VPC networksB
Read-onlyIdempotent

List Virtual Private Cloud networks, which contain multiple tier subnets.

Inputs: page, pageSize.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 56 tools

    Disambiguation4/5

    Most tools target a distinct resource/action, and descriptions clarify subtle pairs such as get_vm_package vs get_vm_package_by_label and list_snapshots vs list_block_storage_snapshots. A few areas still overlap, especially the multiple public-IP list variants and the two object-storage key tools, but an agent can generally select correctly.

    Naming Consistency5/5

    All tool names use a consistent snake_case verb_noun pattern with list_, get_, and get_cost_estimate_ prefixes. The by_label and by_network suffixes are applied predictably across resources.

    Tool Count2/5

    56 tools is very heavy for a single MCP server, and the surface includes many parallel patterns (list/get/by_label/cost_estimate) that inflate the count. While the cloud domain is broad, the set feels over-expanded rather than tightly scoped.

    Completeness2/5

    The surface is almost entirely read-only list/get/cost-estimate operations, with no create, update, delete, attach, or manage tools for VMs, storage, Kubernetes, firewall rules, or networking. Several descriptions reference create_vm, create_snapshot, create_vpc_network, and similar tools that are not actually present, creating dead ends for agents.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      MCP Server for full Easypanel control via Claude Code, Cursor, and Claude Desktop. Provides 37 tools for deploy, logs, env vars, domains, databases, and monitoring with built-in safety guards.
      57
      304 npm
      4
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for Kvindo Cloud that lets AI clients list, inspect, create, update, and delete cloud resources (VMs, volumes, Kubernetes, etc.) via natural language. Read-only by default, with write/delete operations gated by explicit opt-in environment variables.
      17 npm
      1
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables MCP-compatible clients like Claude Desktop, Claude Code, Codex, and local-model hosts to inspect Proxmox VE clusters, nodes, VMs, containers, storage, snapshots, and tasks, with opt-in write operations for starting, stopping, cloning, backing up, and migrating guests. Read-only by default, it supports both stdio and Streamable HTTP transports.
      14
      MIT