Skip to main content
Glama
piyushladhar

iotamine-mcp

by piyushladhar

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IOTAMINE_API_KEYYesYour Iotamine API key. Required for authentication. Create one from the Iotamine dashboard: https://iotamine.com/control/api_keys
IOTAMINE_API_URLNoBase URL for the Iotamine REST API. Defaults to https://iotamine.com/api/https://iotamine.com/api/

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
list_vpsA

List every VPS instance on this Iotamine account — hostname, status, specs (cores/ram/disk/traffic), IP addresses, OS, node location, and machine_status (Running/Stopped/Building/...) for each one.

get_vpsA

Get full detail for one VPS instance by its id (a UUID, as returned by list_vps's own "id" field).

create_vpsA

Deploy a new VPS. Spends real money — requires confirm=true, and should only be called after explicitly telling the user what will be provisioned and its estimated cost (see "Cost" below — get this right; it's a common mistake to quote only compute and forget the IP).

pop: a Point of Presence id from list_regions. cores/ram/disk: must match one of the allowed values the real API enforces — see get_quota or just try a value; a rejection names the allowed set.

Boot disk — exactly one of these two:

  • disk + operating_system: provisions a fresh disk (disk in GB) with a fresh OS install (operating_system an id from list_os_images). Both required together.

  • existing_boot_volume: boots from a standalone volume this account already owns instead (an id from list_volumes, kind "boot", not already attached to anything — check first). disk/operating_system are ignored if this is given; the volume already has its own OS. Costs nothing extra — the volume's own cost, if any, was already paid when it was purchased.

IP address — one of these two:

  • Omit existing_ip: a brand-new IP is automatically purchased and assigned as part of deployment. This is NOT free — it's the pop's own ip_price, billed the same as calling purchase_ip separately.

  • existing_ip: attach a standalone IP this account already owns instead (an id from list_ip_addresses, not already attached to anything — check first). No new IP purchased, no extra cost.

ssh_key: an id from list_ssh_keys, to install onto the new VPS.

Cost: call list_regions first and use the matching pop's own hourly rates. Total hourly cost = cores * cpu_price + ram * ram_price + (disk * disk_price, only if provisioning a fresh disk — 0 if existing_boot_volume is given) + (ip_price, only if existing_ip is NOT given — 0 if it is). Quote this full total, not just compute, before asking for confirmation.

Provisioning is asynchronous — this call returns immediately with the new VPS's id and is_building=true; poll get_vps for it to finish.

destroy_vpsA

Permanently destroy a VPS and, by default, its boot disk. Irreversible — requires confirm=true. release_ip_ids/ release_disk_ids (lists of ids, optional) additionally release any attached standalone IPs/volumes instead of just detaching them (kept, unreleased, by default — see list_vps's own ip/disk fields for their ids).

start_vpsA

Start a stopped VPS.

stop_vpsA

Gracefully stop (ACPI shutdown) a running VPS — gives the guest OS a chance to shut down cleanly. Use poweroff_vps for a hard power-off instead.

poweroff_vpsA

Hard power-off a VPS — equivalent to pulling the plug, no chance for the guest OS to shut down cleanly. Use stop_vps for a graceful shutdown instead.

restart_vpsB

Restart a running VPS.

reinstall_vpsA

Wipes the VPS's boot disk and reinstalls a fresh OS onto it — irreversible, everything currently on the disk is lost. The VPS must already be stopped, same reason as change_vps_hostname (stop it first with stop_vps). Requires confirm=true. os_id: an id from list_vps_available_os for this specific VPS (not every OS is available on every node).

resize_vpsA

Resize a VPS's CPU/RAM. An increase is checked against balance and quota by the real API (fails cleanly if either is insufficient); a decrease is always allowed. Requires confirm=true for any change. Only pass the value(s) you want to change — omit the other.

change_vps_hostnameA

Change a VPS's hostname. The VPS must already be stopped — this rewrites files on the offline disk image, which isn't safe while it's running (stop it first with stop_vps). Requires confirm=true.

change_vps_root_passwordA

Change a VPS's root/administrator password. The VPS must already be stopped, same reason as change_vps_hostname. Requires confirm=true.

get_vps_consoleA

Get a one-time console (VNC) connection URL and password for this VPS — grants live console access, treat the returned credentials as sensitive.

get_vps_statsA

Real-time resource stats for a running VPS — CPU, RAM, disk, and network usage right now.

get_vps_bandwidth_historyC

Historical bandwidth usage for one VPS.

get_vps_metrics_historyA

Historical CPU/RAM/disk metrics for one VPS (for graphing usage over time, not just the current snapshot get_vps_stats gives).

get_bandwidth_overviewA

Account-wide bandwidth usage overview across every VPS.

get_vps_billingB

Billing breakdown for one specific VPS.

get_vps_pricingA

Current pricing for one VPS's configuration — useful before calling resize_vps to preview cost.

get_vps_smtp_statusB

Whether outbound SMTP ports are blocked on this VPS (a common anti-abuse policy) — {"supported": false} if this VPS's node doesn't support the check at all.

get_vps_build_logA

Provisioning log for a VPS that's still building, or was recently built — useful for diagnosing a stuck/failed deploy.

list_vps_available_osA

List the operating systems available to reinstall onto this specific VPS (via reinstall_vps) — not every OS is available on every node, unlike list_os_images' full catalog.

list_vps_backupsA

List every backup taken of this VPS.

get_vps_backup_costA

Cost of taking a new backup of this VPS, before calling create_vps_backup.

create_vps_backupA

Take a new backup of this VPS. May incur a cost — check get_vps_backup_cost first. Requires confirm=true.

delete_vps_backupA

Permanently delete one backup of this VPS. Irreversible — requires confirm=true.

restore_vps_backupA

Restore this VPS from a backup — overwrites its current disk state entirely with the backup's. Irreversible (anything written since the backup was taken is lost) — requires confirm=true.

list_vps_disksA

List the disks currently attached to this VPS.

add_disk_to_vpsA

Add a new disk of the given size (GB) directly to this VPS. Spends real money — requires confirm=true. For a standalone, independently-manageable volume instead, see purchase_volume.

remove_disk_from_vpsB

Permanently remove a disk from this VPS. Irreversible — requires confirm=true.

list_attachable_ips_for_vpsA

List this account's standalone IP addresses eligible to attach to this specific VPS (same region, not already attached).

add_ip_to_vpsA

Purchase and attach a brand-new IP address directly to this VPS. Spends real money — requires confirm=true. To attach an IP you already own instead, see attach_ip.

remove_ip_from_vpsA

Permanently remove (release) an IP address from this VPS. Irreversible — requires confirm=true. To detach without releasing it, see detach_ip instead.

set_vps_reverse_dnsA

Set the reverse-DNS (PTR) record for one of this VPS's IP addresses. Requires confirm=true.

list_firewall_rulesA

List the firewall rules currently applied to this VPS.

update_firewall_rulesA

Replace this VPS's entire firewall rule set with the given list. Requires confirm=true — this can lock out access (including SSH) if the rules are wrong; double-check with the user before calling. Each rule should match the shape returned by list_firewall_rules.

get_quotaA

This account's resource limits (VPS count / vCPU / RAM / disk / IP caps), current usage against each, and its current tier — core.quotas's balance-driven tier system, exactly what the dashboard's own Tier page shows.

get_account_balanceA

This account's current wallet balance, currency, and basic profile (name, email, country, verification status).

list_invoicesA

List every invoice on this account (paid, unpaid, and cancelled), most recent first — amount, status, due date, and line items.

get_usage_billingA

Current unbilled usage (a live snapshot) plus historical already-billed cost broken down by Compute/Storage/Network/Other — the same data the dashboard's own Usage Billing page shows.

get_usage_billing_line_itemsA

Row-by-row usage detail backing get_usage_billing's own summary — one row per VPS/volume/IP/bandwidth charge. status is "unbilled" (default, a live snapshot) or "billed" (everything already charged).

list_transactionsA

List every transaction on this account's wallet (bonus credits, top-ups, adjustments), most recent first.

get_transactionB

Get full detail for one transaction by its id.

list_os_imagesA

List every operating system image available to deploy a VPS with (name, distro, virtualization type).

list_regionsA

List every Point of Presence (region/data-center location) VPS instances can be deployed in.

list_ssh_keysA

List every SSH public key saved on this account (title only — the public key material itself, never anything private).

create_ssh_keyA

Save a new SSH public key to this account, for installing onto future VPS instances via create_vps's own ssh_key parameter. Requires confirm=true. ssh_key is the public key material (e.g. the contents of id_ed25519.pub) — never a private key.

delete_ssh_keyA

Permanently delete a saved SSH key from this account. Irreversible — requires confirm=true. Does not affect VPS instances it's already been installed onto, only future deploys.

list_ip_addressesA

List every standalone IP address on this account (attached to a VPS or not).

get_ip_addressA

Get full detail for one standalone IP address by its id.

check_available_ipsA

How many standalone IP addresses can be purchased in a given region (Point of Presence id from list_regions) right now, and at what price.

purchase_ipA

Purchase one or more new standalone IP addresses in a region (Point of Presence id from list_regions). At most 20 at a time. Spends real money (checked against balance and quota) — requires confirm=true. Synchronous — the purchased addresses are returned directly, no task to poll.

list_attachable_vps_for_ipA

List this account's VPS instances eligible to attach this IP to (same region as the IP).

attach_ipB

Attach a standalone IP address to a VPS (same region). Requires confirm=true.

detach_ipA

Detach a standalone IP address from whatever VPS it's currently attached to (kept, not released). Requires confirm=true.

release_ipA

Permanently release (delete) a standalone IP address — not just detach it. Irreversible — requires confirm=true.

list_volumesA

List every standalone storage volume on this account (attached to a VPS or not, boot or non-boot).

get_volumeA

Get full detail for one standalone volume by its id.

list_available_volume_sizesA

List the volume sizes/kinds purchasable in a given region (Point of Presence id from list_regions).

purchase_volumeA

Purchase a new standalone volume. Spends real money (checked against balance and quota) — requires confirm=true. kind is "data" or "boot" (a boot volume becomes a future VPS's boot disk, not attached to anything existing). In a region without fleet-volume support, a "data" volume must instead be pinned to an existing VPS at purchase time via vps_id (a "boot" volume isn't purchasable there at all — the real API's error message will say so if this applies).

Asynchronous — returns a task_id immediately; poll get_volume_task_status for completion, then list_volumes to see the finished volume.

get_volume_task_statusA

Check the status of an async volume operation (purchase, attach, detach, destroy, install_os, resize) by the task_id those calls return.

list_attachable_vps_for_volumeA

List this account's VPS instances eligible to attach this volume to (same region, stopped where required).

list_available_os_for_volumeA

List operating systems available to install onto this volume via install_os_on_volume.

install_os_on_volumeA

Install a fresh OS onto this standalone volume, overwriting whatever's on it entirely. Irreversible — requires confirm=true. The volume must be detached from any VPS first (detach_volume). A Windows OS requires root_password; anything else needs at least one of ssh_public_key/root_password. Asynchronous — poll get_volume_task_status.

resize_volumeA

Resize a standalone volume (grow only). Spends real money — requires confirm=true. Asynchronous — poll get_volume_task_status.

attach_volumeA

Attach a standalone volume to a VPS (same region). Requires confirm=true. Asynchronous — poll get_volume_task_status.

detach_volumeA

Detach a standalone volume from whatever VPS it's currently attached to (kept, not released — the volume itself still belongs to this account). Requires confirm=true. Asynchronous — poll get_volume_task_status.

set_volume_as_bootA

Set this volume as a VPS's boot disk. The VPS must already be stopped — the same requirement vps.py's change_vps_hostname documents (stop it first with stop_vps). Requires confirm=true.

release_volumeA

Permanently release (delete) a standalone volume — not just detach it. Irreversible — requires confirm=true. Asynchronous — poll get_volume_task_status.

list_activity_logsA

List this account's activity log — every action taken on the account or its VPS instances (sign-ins, VM power/create/ destroy, IP/volume changes, SSH key changes, ...), newest first. search (optional) matches action/description/IP address.

export_dataA

Export a copy of this account's own data as CSV, one category at a time. category must be one of: profile, activity, invoices, transactions, usage, ip_addresses, volumes, vms, firewall_rules. ids (optional, for invoices/transactions/usage/ ip_addresses/volumes/vms only) narrows to specific row ids instead of exporting everything in that category.

Note: 'invoices' is a zip archive (one folder per invoice) on the real dashboard, which can't be returned as text here — that one category should be downloaded from the dashboard's own Export Data page instead.

list_ticket_departmentsA

List support departments a ticket can be filed under — the department_id source for create_ticket.

list_ticketsA

List this account's support tickets, most recently updated first. search (optional) matches subject/department/status.

get_ticketA

Get full detail for one ticket, including its replies.

create_ticketA

Open a new support ticket with an opening message. priority is one of: low, medium, high. vps_id (optional) links the ticket to a specific VPS (an id from list_vps) if the issue is about one.

list_ticket_repliesA

List every reply on a ticket (same data get_ticket's own "replies" field already includes — this is the paginated version, for a ticket with a long conversation).

reply_to_ticketC

Post a reply on an existing ticket.

list_maintenance_eventsA

List maintenance events relevant to this account — anything affecting a VPS/region this account has infrastructure in, plus anything scoped account-wide. Includes recently-completed events (within the last 24h), not just currently-active ones.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 78 tools

Disambiguation5/5

Every tool is clearly scoped to a specific resource and action, with detailed descriptions that prevent overlap. Even near-duplicates like stop_vps vs poweroff_vps are explicitly differentiated by graceful vs hard shutdown. The naming and resource grouping (VPS, IP, Volume, Account, Tickets) makes misselection unlikely.

Naming Consistency4/5

Tools predominantly follow a verb_noun pattern (list_vps, create_vps, delete_vps, start_vps), but there are minor deviations like 'set_vps_reverse_dns' vs 'change_vps_hostname', and 'get_vps_console' vs 'get_vps'. These are minor and do not significantly hinder predictability, but they prevent a perfect score.

Tool Count2/5

With 78 tools, this server is far above the recommended range. While the breadth covers VPS management, IPs, volumes, billing, support, and more, the sheer volume makes it difficult for agents to discover and select the right tool efficiently. Many tools are niche or rarely used, and the server would likely benefit from consolidation or splitting into focused servers.

Completeness5/5

The toolset provides comprehensive lifecycle coverage for all major resource types: VPS (create, read, update, delete, start, stop, restart, poweroff, resize, reinstall), IPs (purchase, attach, detach, release), volumes (purchase, attach, detach, resize, install OS), plus backups, SSH keys, firewall rules, billing, support tickets, activity logs, and data export. No significant gaps are apparent for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues