Skip to main content

iotamine-mcp

An MCP server for the Iotamine cloud VPS platform. Connect it to Claude Desktop, Claude Code, Cursor, or any other MCP-compatible client to manage your account directly — the same actions available on the dashboard.

This is a thin wrapper around the real Iotamine REST API — the exact same API the dashboard itself uses. It doesn't duplicate any account logic, store any of your data, or run any service of its own; it just translates MCP tool calls into ordinary API requests on your behalf, using your own API key.

Setup

1. Get an API key

From your Iotamine dashboard → API Keys → Create Key. Choose a scope:

  • Read-only — can look up anything (VPS list, stats, billing, invoices, ...) but can't change anything. Use this if you're not fully in control of what calls the tools — an AI assistant, a script you didn't write yourself.
  • Read & write — can also do everything the read-only scope can, plus create/destroy/modify things. Required for any of the write tools below; a read-only key gets a clean, clear rejection if a write tool is called with it.

2. Install and run

Using uv (recommended — no separate install step):

uvx iotamine-mcp

Or with pip:

pip install iotamine-mcp
iotamine-mcp

First run on a fresh machine takes longeruvx/pip need to download the package and its dependencies once. If you're wiring this into an MCP client (below) and it fails with a timeout the very first time, run the command above directly in a terminal first, let it finish, then retry from the client — every run after the first is near-instant.

Already using an older version? uvx caches its own resolution of "latest" — it won't automatically notice a new release. Run uvx --refresh iotamine-mcp once in a terminal (or clear ~/.cache/uv) to pick up new tools, then restart your MCP client.

3. Add it to your MCP client

Claude Code:

claude mcp add iotamine uvx --args iotamine-mcp --env IOTAMINE_API_KEY="your-key-here"

Claude Desktop: Settings → Developer → Edit Config (or directly edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows, ~/.config/Claude/claude_desktop_config.json on Linux):

{
  "mcpServers": {
    "iotamine": {
      "command": "uvx",
      "args": ["iotamine-mcp"],
      "env": {
        "IOTAMINE_API_KEY": "your-key-here"
      }
    }
  }
}

Cursor: same JSON shape, in ~/.cursor/mcp.json (all projects) or .cursor/mcp.json in one project — or via Settings → MCP → Add new MCP server.

Set IOTAMINE_API_KEY as an environment variable in your client's config, not hardcoded anywhere else — the same rule any API key deserves. This is not the same thing as the "Connectors" picker some clients show for remote/OAuth servers — that only accepts a server URL, and won't list this package at all; the config-file route above is what actually runs it.

Write tools require confirmation

Every tool that spends money, destroys something, or otherwise changes account state takes an explicit confirm: true argument and refuses to run without it. This is deliberate — it means a model has to be told (by you, or by its own judgment reading the tool's description) exactly what it's about to do before it can actually do it. Always expect your assistant to explain the action and its cost (if any) before it sets confirm: true.

Tools

78 tools in total. Read-only ones work with either key scope; everything else needs a read_write-scoped key (still true for create_ticket/reply_to_ticket — any write needs that scope, full stop). The one difference: those two don't require confirm=true the way spend/ destroy tools do — opening a ticket or replying to one doesn't cost anything or destroy anything.

VPS — lifecycle list_vps, get_vps, create_vps, destroy_vps, start_vps, stop_vps, poweroff_vps, restart_vps, reinstall_vps, resize_vps, change_vps_hostname, change_vps_root_password

VPS — monitoring & management get_vps_console, get_vps_stats, get_vps_bandwidth_history, get_vps_metrics_history, get_bandwidth_overview, get_vps_billing, get_vps_pricing, get_vps_smtp_status, get_vps_build_log, list_vps_available_os

VPS — backups list_vps_backups, get_vps_backup_cost, create_vps_backup, delete_vps_backup, restore_vps_backup

VPS — its own disks, IPs, reverse DNS, firewall list_vps_disks, add_disk_to_vps, remove_disk_from_vps, list_attachable_ips_for_vps, add_ip_to_vps, remove_ip_from_vps, set_vps_reverse_dns, list_firewall_rules, update_firewall_rules

Standalone IP addresses list_ip_addresses, get_ip_address, check_available_ips, purchase_ip, list_attachable_vps_for_ip, attach_ip, detach_ip, release_ip

Standalone volumes list_volumes, get_volume, list_available_volume_sizes, purchase_volume, get_volume_task_status, list_attachable_vps_for_volume, list_available_os_for_volume, install_os_on_volume, resize_volume, attach_volume, set_volume_as_boot, detach_volume, release_volume

SSH keys list_ssh_keys, create_ssh_key, delete_ssh_key

Billing & account get_quota, get_account_balance, list_invoices, get_usage_billing, get_usage_billing_line_items, list_transactions, get_transaction

Catalogs list_os_images, list_regions

Activity & data export list_activity_logs, export_data

Support tickets list_ticket_departments, list_tickets, get_ticket, create_ticket, list_ticket_replies, reply_to_ticket

Maintenance list_maintenance_events

Configuration

Environment variable Required Default
IOTAMINE_API_KEY Yes
IOTAMINE_API_URL No https://iotamine.com/api/

Development

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iotamine_mcp-0.3.1.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iotamine_mcp-0.3.1-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file iotamine_mcp-0.3.1.tar.gz.

File metadata

  • Download URL: iotamine_mcp-0.3.1.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for iotamine_mcp-0.3.1.tar.gz
Algorithm Hash digest
SHA256 459e155164a58bb5d7b84d24dbcf3d4530f5594d6b5b70d2575c2d86fff1d246
MD5 c03e208e8dcfaf35ad1c254a81da13a8
BLAKE2b-256 db78a44c4a4e2c12b816f4914bb5e2b9e9b54e5f092c2da4cb482f1d3649b647

See more details on using hashes here.

Provenance

The following attestation bundles were made for iotamine_mcp-0.3.1.tar.gz:

Publisher: publish.yml on piyushladhar/iotamine-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iotamine_mcp-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: iotamine_mcp-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for iotamine_mcp-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c7b4f6109fab4681ff18b2bc853fb95123ae961c5406f2ecab43cf7897ea9151
MD5 0745fb55642cd191aa6eb0bf0b0e218d
BLAKE2b-256 8335c7e13dca8d8e3c5e7b61fbc53f671664ff92f1ace1ce3222f85bf9da576e

See more details on using hashes here.

Provenance

The following attestation bundles were made for iotamine_mcp-0.3.1-py3-none-any.whl:

Publisher: publish.yml on piyushladhar/iotamine-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page