Skip to main content

spotgpu-mcp

MCP (Model Context Protocol) server for SpotGPU spot GPU rental prices.

Exposes one tool: spot_price → GET /v1/spot (Vast + RunPod best + alts).

Credits ≠ rental. SpotGPU API credits pay for price lookups.
usd_per_hr is the upstream provider rental price, not a SpotGPU fee.

Install / run

Requires Python 3.10+ and a SpotGPU API key.

Get an API key (free trial, 25 credits)

curl -X POST https://spotgpu-api.fly.dev/v1/keys

No auth, no email. The response contains api_key (shown once — store it) with 25 trial credits (1 credit per successful lookup). Limit: 3 keys per IP per 24h. Put it in SPOTGPU_API_KEY in your MCP client config. Check your balance:

curl -H "Authorization: Bearer $SPOTGPU_API_KEY" https://spotgpu-api.fly.dev/v1/account

Out of credits (HTTP 402)

When credits run out the API returns 402 insufficient_credits and the tool error points to the top-up page. Buy a credit pack ($5 / 500, $10 / 1000, $50 / 5000) at https://spotgpu-api.fly.dev/topup, or POST /v1/checkout with {"pack_id": "credits_500"} and your Bearer key to get a Stripe Checkout URL. A 401 tool error includes the signup curl above.

One-shot (PyPI)

uvx spotgpu-mcp

Local (this monorepo package)

cd packages/mcp-spotgpu
uv sync   # or: pip install -e .
export SPOTGPU_API_KEY=sk_…
spotgpu-mcp

Env:

Variable Required Default
SPOTGPU_API_KEY yes —
SPOTGPU_BASE_URL no https://spotgpu-api.fly.dev

Never hardcode keys. The server speaks MCP on stdio only (do not print to stdout).

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "spotgpu": {
      "command": "uvx",
      "args": ["spotgpu-mcp"],
      "env": {
        "SPOTGPU_API_KEY": "sk_…"
      }
    }
  }
}

Local editable install instead of uvx:

{
  "mcpServers": {
    "spotgpu": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/spotgpu/packages/mcp-spotgpu", "spotgpu-mcp"],
      "env": {
        "SPOTGPU_API_KEY": "sk_…"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json (or user MCP config):

{
  "mcpServers": {
    "spotgpu": {
      "command": "uvx",
      "args": ["spotgpu-mcp"],
      "env": {
        "SPOTGPU_API_KEY": "sk_…"
      }
    }
  }
}

Tool: spot_price

Param Type Default Notes
gpu string required e.g. RTX_4090
qty int 1 ≥ 1
markets string "vast,runpod" comma-separated
fresh bool false maps to fresh=1

On success returns JSON text of the API body (best.usd_per_hr, alts, …).

Attribution

Requests send X-SpotGPU-Client: mcp-spotgpu.

Published

Metadata

Release files for spotgpu-mcp 0.1.1

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

Source distribution (sdist)

Source distribution for spotgpu-mcp 0.1.1
File Size Uploaded Provenance Actions
spotgpu_mcp-0.1.1.tar.gz 6.2 kB Without provenance Details for spotgpu_mcp-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for spotgpu-mcp 0.1.1
File Interpreter ABI Platform Actions
spotgpu_mcp-0.1.1-py3-none-any.whl Python 3 none any Details for spotgpu_mcp-0.1.1-py3-none-any.whl

Total release size: 13.1 kB

Release files / spotgpu_mcp-0.1.1.tar.gz

Download URL spotgpu_mcp-0.1.1.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d8b3ba3a7588c8b593fa880a63b1de85d650135a6aa341b0571985fbcf0cb879
BLAKE2b-256 checksum
How to use checksums
df3656c40b2940faef97ce28833b61d147101801c38ac108abbe99b8dec55e9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / spotgpu_mcp-0.1.1-py3-none-any.whl

Download URL spotgpu_mcp-0.1.1-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37bf65da336d2fbbb3a20e22d1bf6a1ec41275ffcf28cb621487d840f3780f82
BLAKE2b-256 checksum
How to use checksums
0d72f90d191c10af84629251403d1f432e794f18f9bf81c974acb1b00d14b6cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Security for spotgpu-mcp 0.1.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

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