Skip to main content

MCP server for the Massed Compute API.

Project description

Massed Compute MCP Server

A Model Context Protocol server that lets AI assistants — Claude, Cursor, Codex, ChatGPT, and other MCP-compatible clients — interact with your Massed Compute account: browse GPU inventory, launch and manage VMs, audit billing.

Contents

Overview

The server exposes 14 tools that map 1:1 to documented /api/v1/* endpoints — no internal services, no undocumented calls. Issue a read-only key for analysis-only assistants and destructive tools (launch, restart, terminate, SSH-key changes) are hidden from the catalog entirely. Works with Claude Code, Claude Desktop, Cursor, and Codex.

Tool Required key Returns
gpu_inventory_list read-only GPU configurations, pricing, regional capacity
images_list read-only VM image catalog
instances_list read-only Your running VM instances
instances_get read-only A single instance by UUID
instances_launch full Newly-launched instance details (incurs cost)
instances_restart full Restart confirmation
instances_terminate full Termination confirmation (destructive)
coupon_information read-only Coupon discount terms
coupon_accepted_products read-only Products a coupon applies to
account_token_validation read-only Token validity status
account_billing read-only Billing settings, recharge configuration
ssh_keys_list read-only Your SSH keys
ssh_keys_create full Newly-created key details
ssh_keys_delete full Deletion confirmation (destructive)

Beyond raw tools, Massed Compute publishes Agent Skills — markdown workflow templates for common operations like GPU selection and cost auditing. Full docs at vm-docs.massedcompute.com/docs/category/mcp.

Installation

Step 1. Get your API key

Open vm.massedcompute.com/settings/api, create a key (read-only for analysis-only assistants; full-access to allow launch / restart / terminate / SSH-key changes), copy it.

Step 2. Pick an install path

  • Hosted endpoint — point your client at the streamable-HTTP URL, zero install
  • Local CLI — runs on your machine, key stored in your OS config dir

Hosted endpoint

Same 14 tools, same API key, nothing to install. Pick the snippet for your client:

Claude Code

claude mcp add --transport http massed-compute \
  https://vm.massedcompute.com/api/mcp \
  --header "Authorization: Bearer MC_TOKEN"

Cursor~/.cursor/mcp.json

{
  "mcpServers": {
    "massed-compute": {
      "url": "https://vm.massedcompute.com/api/mcp",
      "headers": { "Authorization": "Bearer MC_TOKEN" }
    }
  }
}

Codex~/.codex/config.toml

[mcp_servers.massed-compute]
url = "https://vm.massedcompute.com/api/mcp"
bearer_token_env_var = "MC_TOKEN"
enabled = true

Claude Desktop

Claude Desktop does not yet speak streamable-HTTP MCP, so use mcp-remote as a stdio↔HTTP bridge. Config at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "massed-compute": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://vm.massedcompute.com/api/mcp",
        "--header", "Authorization: Bearer MC_TOKEN"
      ]
    }
  }
}

Local CLI

Install via whichever ecosystem you prefer:

npm install -g massed-compute-mcp     # Node >= 20
# or
pip install massed-compute-mcp        # Python >= 3.10
# or
uv tool install massed-compute-mcp    # fast Python install via uv

Run one-shot setup:

massed-compute-mcp init

init prompts for the key, validates it upstream, stores it at 0600 (POSIX), detects installed MCP clients (Claude Code, Cursor, Claude Desktop, Codex), and offers to wire each one. A timestamped backup is taken before any client edit. Restart wired clients to pick up the tools.

Config file location:

  • Linux: $XDG_CONFIG_HOME/massed-compute/config.json (falls back to ~/.config/...)
  • macOS: ~/Library/Application Support/massed-compute/config.json
  • Windows: %APPDATA%\massed-compute\config.json

Non-interactive (CI / scripts):

# Key from env, auto-wire every detected client
MASSED_COMPUTE_API_KEY=<your-key> massed-compute-mcp init --yes

# Key from a file, wire only specific clients
massed-compute-mcp init --token-file ~/keys/mc --yes --clients claude-code,cursor

# Store the key only; don't touch any client config
massed-compute-mcp init --yes --no-install-clients

Add or remove a client later:

massed-compute-mcp install-client cursor       # claude-desktop | codex | claude-code
massed-compute-mcp uninstall-client cursor

install-client is idempotent — re-running when the entry already matches is a silent no-op.

Verifying the connection

massed-compute-mcp doctor

doctor confirms the stored key still works, prints the tool catalog, and shows copy-pasteable snippets for any clients you didn't auto-wire. Or just ask your assistant "Validate my Massed Compute API key." — a { message: "Valid Token" } response confirms the wiring.

CLI reference

Command What it does
massed-compute-mcp (no args) Run the MCP server over stdio
massed-compute-mcp init First-run setup: prompt, validate, store, wire clients
massed-compute-mcp doctor Verify the stored key and print client snippets
massed-compute-mcp install-client <id> Wire a single client (claude-code, cursor, claude-desktop, codex)
massed-compute-mcp uninstall-client <id> Remove our entry from a client config
massed-compute-mcp config show Print resolved config path, masked key, resolution chain
massed-compute-mcp logout Delete the stored API key
massed-compute-mcp tools [--json] Print the tool catalog (no upstream call)
massed-compute-mcp version Print the version

Key resolution

When the server starts, the API key is taken from the first source that provides one:

  1. --token <value> CLI flag
  2. --token-file <path> CLI flag (first line, trimmed)
  3. MASSED_COMPUTE_API_KEY environment variable
  4. Stored config file written by init

If none of those are set, the server exits non-zero with a pointer to massed-compute-mcp init. Override the upstream with MASSED_COMPUTE_API_BASE_URL (default https://vm.massedcompute.com).

Resources

License

MIT — see LICENSE.

Project details


Download files

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

Source Distribution

massed_compute_mcp-1.0.3.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

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

massed_compute_mcp-1.0.3-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

Details for the file massed_compute_mcp-1.0.3.tar.gz.

File metadata

  • Download URL: massed_compute_mcp-1.0.3.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for massed_compute_mcp-1.0.3.tar.gz
Algorithm Hash digest
SHA256 78610577fc7888ac1cea03e3c1c771e6b034ce719a853b053e3aa07cd05c7380
MD5 438324685be55202893a810fbf8b27b4
BLAKE2b-256 38a4da4abbfacd286a6b8425d21ebd2252257a0c8599b45918b4214fcf888faf

See more details on using hashes here.

Provenance

The following attestation bundles were made for massed_compute_mcp-1.0.3.tar.gz:

Publisher: release.yml on Massed-Compute/massed-compute-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 massed_compute_mcp-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for massed_compute_mcp-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0258997a91d351dc1564fbbbf70a4c09bd016fefdd1c4fdb01a0c0104cead520
MD5 3914b6692e6406aeb5f69a58e76754c0
BLAKE2b-256 aca286f19ed0f3f6b722915912fca5afa11d9e750eaeb4fc4d717bcf9a7a4a1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for massed_compute_mcp-1.0.3-py3-none-any.whl:

Publisher: release.yml on Massed-Compute/massed-compute-mcp

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page