Skip to main content

prime-intellect-mcp

Let Claude Code rent, drive, and terminate Prime Intellect GPU pods on its own — with hard spend caps you control.

PyPI Python License CI MCP

📺 30-second demo: (replace with video / GIF on launch — see docs/DEMO_SCRIPT.md)


What this is

An MCP server that connects Claude Code (or any MCP client) to your Prime Intellect account. With it, the agent can:

  • 🔍 Find the cheapest GPU pod that matches your requirements
  • 💸 Quote a price before committing money
  • 🛒 Provision the pod (only after you say confirm=True)
  • 🖥️ SSH into it (the connection string is handed to the agent's own Bash tool)
  • 🛑 Terminate it when work is done — and warn loudly if you forget

Built for one workflow: telling Claude "rent the cheapest H100, run my training script, then kill it" and not waking up to a $400 bill.


Install in 60 seconds

You only need this much to start renting GPUs through Claude Code:

1. Get a Prime Intellect API key

Click here to generate one → set permissions:

Scope Level
Instances Read and write
Availability Read only
Billing Read only
SSH Keys Read only

Copy the key — it starts with pit_….

2. Add the server to Claude Code

Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or your project's .mcp.json, and paste:

{
  "mcpServers": {
    "prime-intellect": {
      "command": "uvx",
      "args": ["prime-intellect-mcp"],
      "env": {
        "PRIME_API_KEY": "pit_PASTE_YOURS_HERE",
        "PRIME_MAX_HOURLY_USD": "5",
        "PRIME_MAX_TOTAL_USD": "40"
      }
    }
  }
}

That's it. Restart Claude Code and ask: "What GPUs are available right now under $1/hr?"

Don't have uvx? Install it with curl -LsSf https://astral.sh/uv/install.sh | sh (or brew install uv). It's a one-liner installer for the uv package manager and you'll never have to manage a virtualenv again.


✨ Add SSH (optional, +2 min) — needed for Claude to actually run code on the pod

The server above can already provision/inspect/terminate pods. But to have Claude Code SSH into a running pod and execute commands on it, Prime Intellect needs to know your machine's public SSH key.

3. Find or generate an SSH key on your machine

ls ~/.ssh/*.pub          # if you have id_ed25519.pub or similar, you're set
# otherwise:
ssh-keygen -t ed25519 -C "you@example.com"   # press Enter through the prompts

4. Register the public key with Prime Intellect

cat ~/.ssh/id_ed25519.pub    # or whichever .pub file you have

Copy the output (one line starting with ssh-ed25519 …), then paste it into the Add SSH key form at app.primeintellect.ai/dashboard/ssh-keys.

That's it. Future pods will have your public key in authorized_keys, and Claude Code's Bash tool can SSH straight in:

ssh ubuntu@<pod-ip-from-pod_status> "nvidia-smi"

Coming in v0.2: a register_ssh_key MCP tool that does step 4 from inside Claude (no browser visit). See the issue tracker to follow along.


What Claude can now do (the 9 tools)

Tool Use case
list_gpu_types "What GPU types does Prime Intellect offer?"
list_availability "Show me 1×H100 pods available under $3/hr."
get_wallet_balance "How much credit do I have left?"
pod_quote "Quote me a 1×A100 with 200GB disk." (no charge)
pod_create "Provision the pod from that quote." (requires confirm=True)
pod_list "Show me my running pods."
pod_status "Is pod X ready? Wait until it has SSH info."
pod_terminate "Kill pod X." (requires confirm=True)
pod_check_runaway "Did I forget to terminate anything?"

Safety: nothing provisions silently

Three layers, in order:

  1. Quote first. pod_quote returns a price + a 60-second token. No side effects. The dollar amount is now in the agent's context.
  2. Explicit confirm. pod_create (and pod_terminate) requires confirm=True. Without it, you get a dry-run preview.
  3. Hard env-var caps. PRIME_MAX_HOURLY_USD blocks any pod above the rate. PRIME_MAX_TOTAL_USD blocks any (rate × max_lifetime_hours) above the budget. Wallet balance is also enforced. None of these caps can be overridden by tool arguments — they're read at every call.

Defaults: PRIME_MAX_HOURLY_USD=5, PRIME_MAX_TOTAL_USD=40. Set them in your config's env block.

Every pod_create / pod_terminate is appended as JSON to ~/.prime-intellect-mcp/audit.log, so you have a complete history of what the agent did with your money.


Example prompts (paste these into Claude Code)

List the cheapest 1×H100 pods available right now. Show me the top 3 by hourly price.
Quote a 1×A100 80GB with 100GB disk, 8 vCPU, 64GB RAM. Don't provision yet —
just show me what it would cost.
I need to fine-tune a 7B model overnight. Find the cheapest 1×H100 with 200GB
disk, max $40 total budget, max 12 hours. Provision it, give me the SSH command,
and remind me to terminate when I'm done.
Check if I have any running pods I forgot about and show me their hourly cost.
Terminate pod abc123. Confirm before doing it.

Troubleshooting

PRIME_API_KEY is not set

Either your Claude Code config didn't pick up the env block, or you typed PRIME_API_KEY as a different variable. Verify with:

$ env | grep PRIME

inside the same shell that launches Claude Code, or paste the key directly into the JSON env block (instead of using ${PRIME_API_KEY}).

Hourly rate $X/hr exceeds PRIME_MAX_HOURLY_USD cap

The agent picked a pod above your hard cap. Either:

  • Pick a cheaper GPU (list_availability with a region filter often surfaces cheaper community-priced rows), or
  • Raise PRIME_MAX_HOURLY_USD in your config and restart Claude Code.
Quote token expired

Quotes live 60 seconds; the agent waited too long between pod_quote and pod_create. Just call pod_quote again — it's a no-op cost-wise.

Pod is "ACTIVE" but ssh_connection is null

Provisioning isn't fully done. The pod is alive but still running its install script. Call pod_status(pod_id, wait_for_ssh=True) and it will block (polling every 5s) until SSH comes up.

ssh: Permission denied (publickey)

You haven't told Prime Intellect about your public key (or the pod was provisioned before you registered it). Fix:

  1. Verify your pubkey is registered at app.primeintellect.ai/dashboard/ssh-keys.
  2. Re-provision — the pod's authorized_keys is set at create time, so existing pods won't pick up keys you registered after.
  3. If your private key has a passphrase, run ssh-add --apple-use-keychain ~/.ssh/your_key once on macOS so the agent unlocks it silently from now on.
Wallet balance is empty / PaymentRequiredError

Top up at app.primeintellect.ai/wallet and try again.


Why another one?

There's a prime-mcp-server 0.1.2 on PyPI. It's a thin proof-of-concept; this isn't a fork. Differences for unattended overnight use:

prime-intellect-mcp prime-mcp-server 0.1.2
Two-step quote → confirm ✅ ❌
Env-var hard spend caps ✅ ❌
Wallet pre-check ✅ ❌
Runaway-pod detection ✅ ❌
SSH handoff to agent ✅ ❌
Tests 32 unit + opt-in live None

Local development

git clone https://github.com/kvrancic/prime-intellect-mcp
cd prime-intellect-mcp
uv sync
uv run pytest -m "not live"        # 32 fast tests, no network, no spend
uv run ruff check .
uv run mypy src

Live smoke test (provisions cheapest available GPU, runs nvidia-smi, terminates; ~$0.05 spend):

PRIME_API_KEY=pit_... PRIME_LIVE_TEST=1 PRIME_LIVE_MAX_HOURLY=0.60 \
PRIME_MAX_HOURLY_USD=0.60 PRIME_MAX_TOTAL_USD=2.00 \
uv run pytest tests/test_smoke_live.py -v -s

Roadmap

  • v0.2 — register_ssh_key MCP tool (kill the dashboard step), Sandboxes (prime-sandboxes SDK), Environments Hub
  • v0.3 — Optional auto-terminate daemon (server-side enforcement of max_lifetime_hours); cost telemetry
  • v1.0+ — Hosted/OAuth deployment when Prime Intellect ships OAuth; submission to Anthropic connector directory

Acknowledgements

License

MIT — see LICENSE.

Contributing

Issues and PRs welcome. Please run uv run pytest -m "not live" and uv run ruff check . before submitting.

Metadata

Release files for prime-intellect-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for prime-intellect-mcp 0.1.0
File Size Uploaded Provenance Actions
prime_intellect_mcp-0.1.0.tar.gz 235.9 kB With provenance Details for prime_intellect_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for prime-intellect-mcp 0.1.0
File Interpreter ABI Platform Actions
prime_intellect_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for prime_intellect_mcp-0.1.0-py3-none-any.whl

Total release size: 256.7 kB

Release files / prime_intellect_mcp-0.1.0.tar.gz

Download URL prime_intellect_mcp-0.1.0.tar.gz
Size 235.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f4170641cdb6a379f81abc7b0d4430c4862a44b3a570941e66c803143f5ec7d3
BLAKE2b-256 checksum
How to use checksums
a3799f2431a02809ec11134676b43b38e15df71c1fae486b08015d3e7224751b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 5, 2026.

Transparency log

Release files / prime_intellect_mcp-0.1.0-py3-none-any.whl

Download URL prime_intellect_mcp-0.1.0-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
191433980bdd980c6d0f73a85be14cdd0222d552b8c376aeb871a3de0e0be7ad
BLAKE2b-256 checksum
How to use checksums
91f5d75fa88ad75c9f75350b1e3ba5038285bdf6f4f2e783845d8b75d2a19a62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 5, 2026.

Transparency log

Security for prime-intellect-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for prime_intellect_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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