Skip to main content

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, discover setup recipes.

Contents

Overview

The packages published from this repo are a verbatim proxy of the public MCP endpoint at https://vm.massedcompute.com/api/mcp — zero added surface. Every JSON-RPC message (initialize, tools/list, tools/call, resources/list, resources/read, ping, …) is forwarded unchanged with your stored API key injected as a Bearer header, and responses come back unchanged. Nothing is added, renamed, filtered, or rewritten on the way through:

  • The hosted endpoint owns the catalog. Tools, resources, schemas, and descriptions come from the live endpoint — the local package never goes stale when new capabilities (like setup recipes) ship upstream.
  • The hosted endpoint owns security. Key-scope enforcement (read-only keys hide destructive tools) and credential redaction happen server-side, identically for every client.
  • What the local package adds is exactly what a stdio client needs: a stdio↔streamable-HTTP bridge, OS-conventional storage for your API key (0600 on POSIX), and one-shot client wiring via init.

Issue a read-only key for analysis-only assistants and the endpoint rejects destructive tool calls (launch, restart, terminate, SSH-key changes) at call time. Works with Claude Code, Claude Desktop, Cursor, and Codex. Run massed-compute-mcp tools to print the live catalog — GPU inventory, VM images, instance lifecycle, coupons, billing, SSH keys, and setup recipes.

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

The local packages proxy this endpoint verbatim, so pointing your client straight at it gives you the identical catalog with 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] Fetch and print the live tool catalog from the hosted endpoint
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.

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.1.0.tar.gz (25.1 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.1.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for massed_compute_mcp-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9b179b4cc477aeb394c116ba8f0995af4bd226ea688598f58a518ab7ce84818a
MD5 3d6ea1d4b4fe51bf64f565e6d4d61396
BLAKE2b-256 19513ec1c18acf82f18da6bc131eb622b5dd5343ed89ec58f6572896de3d393e

See more details on using hashes here.

Provenance

The following attestation bundles were made for massed_compute_mcp-1.1.0.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.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for massed_compute_mcp-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8092362b7ee392173bc7e0129e3bc916c918474de7523b06f0a6ef12f6c380b
MD5 3d6ee6e53a4177af346fcde845a2cde1
BLAKE2b-256 69f1059568ab4cffb54e2a0090fdc16b2d841a91d7d617e6e22d09b421a46075

See more details on using hashes here.

Provenance

The following attestation bundles were made for massed_compute_mcp-1.1.0-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.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.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