spotgpu-mcp
MCP server for SpotGPU spot GPU rental price lookups.
Exposes one tool,
spot_price, to get best and alternative spot rental prices for a GPU type.Accepts
gpu(required),qty(default 1),markets(defaultvast,runpod), andfresh(default false).Calls SpotGPU API
GET /v1/spot, optionally withfresh=1, and returns JSON includingbest.usd_per_hrandalts.Integrates with MCP clients like Claude Desktop and Cursor over stdio, requiring
SPOTGPU_API_KEY.
Discontinued Oct 2026: the SpotGPU API has been shut down. This package no longer works.
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_hris 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/keysNo 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/accountOut 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-mcpLocal (this monorepo package)
cd packages/mcp-spotgpu
uv sync # or: pip install -e .
export SPOTGPU_API_KEY=sk_…
spotgpu-mcpEnv:
Variable | Required | Default |
| yes | — |
| no |
|
Never hardcode keys. The server speaks MCP on stdio only (do not print to stdout).
Related MCP server: atom-mcp-server
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 |
| string | required | e.g. |
| int |
| ≥ 1 |
| string |
| comma-separated |
| bool |
| maps to |
On success returns JSON text of the API body (best.usd_per_hr, alts, …).
Attribution
Requests send X-SpotGPU-Client: mcp-spotgpu.
Published
MCP Registry:
io.github.flowtestpro-svg/spotgpu-mcpGlama: https://glama.ai/mcp/servers/flowtestpro-svg/spotgpu-mcp
Available Tools
1 toolspot_priceA
Get SpotGPU spot rental prices (best + alts) for a GPU type.
Returns JSON from GET /v1/spot including best.usd_per_hr (upstream provider rental price, not a SpotGPU fee). Credits are for API calls, not GPU rental.
Args: gpu: GPU type, e.g. RTX_4090, RTX_3090, RTX_A6000 qty: Number of GPUs (>= 1). Default 1. markets: Comma-separated markets. Default "vast,runpod". fresh: If true, bypass cache (query fresh=1). Default false.
| Name | Required | Description | Default |
|---|---|---|---|
| gpu | Yes | ||
| qty | No | ||
| fresh | No | ||
| markets | No | vast,runpod |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the HTTP method/path, that results come from a cache unless fresh=true, and that best.usd_per_hr is an upstream provider price rather than a SpotGPU fee. It stops short of describing pagination, error behavior, or response freshness semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose and the key return field before the Args block, and every sentence carries information. The Args entries partly restate schema defaults, which is mild redundancy but aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, yet the description still flags the one field agents will care about (best.usd_per_hr). Combined with full parameter coverage and the read-only GET nature of the call, nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: every one of the four parameters is documented with format and defaults (gpu example values, qty >= 1, comma-separated markets list, fresh bypassing cache). This fully covers the gaps in the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get SpotGPU spot rental prices') and scopes the result ('best + alts') for a GPU type. It even names the underlying endpoint, so an agent knows exactly what the tool retrieves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and the pricing context ('Credits are for API calls, not GPU rental'), which usefully clarifies the cost model. However, there is no explicit when-to-use/when-not guidance and no siblings to route against, so the description leaves selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
spot_price
TDQS
Scored across 1 tool
With only a single tool in the set, there is nothing to confuse it with; an agent cannot misselect between alternatives. Its purpose (fetch spot rental prices) is unambiguous.
The lone name spot_price is clear lowercase snake_case, matching the convention used by the parameters (gpu, qty, markets, fresh). There is no cross-tool inconsistency to evaluate, though it is a noun phrase rather than a verb_noun action name.
A one-tool surface is very thin even for a narrowly scoped pricing service; common companion needs (listing supported GPU types, markets, or making a booking) are absent. It works only for the single exact lookup it was built for.
The domain (GPU spot rental) realistically includes discovering GPU types/markets and possibly reserving capacity, none of which exist here. An agent can retrieve prices but hits a dead end for anything else, with no fallback operations.
Maintenance
Related MCP Connectors
Live cloud GPU prices, observed stock and 12-month price history across 30+ providers (H100, H200, A100, RTX 5090 and more), refreshed hourly. Read-only. Needs a GPU Finder API key sent as "Authorization: Bearer <key>"; free key with 60 data calls a month at https://gpufinder.dev/developers. Listing tools and get_usage are free.
Live GPU spot market: 1,700+ offers, 10 provider feeds. History, watches, limit orders, no fee
GPU rental reference prices (spot, on-demand, DePIN), key-free; every value carries a verify URL.
Hourly cloud GPU prices from 60+ providers: find, compare, cost and track GPUs.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceFree real-time cached CoinGecko USD prices + 24h change. No key, no signup, 15/min rate limit. x402 paid v2 soon. Perfect for trading/research agents.-
- AlicenseAqualityBmaintenanceGlobal price benchmarking for AI inference across 2,600+ SKUs from 47 vendors. Query live pricing, market indexes, and model specs via 8 tools. Free tier available.835 npmMIT
- FlicenseAqualityDmaintenanceEnables querying live AWS spot price arbitrage signals and suppression logs directly in Claude Code or any MCP-compatible AI tool.6-
- AlicenseAqualityCmaintenanceProvides public price indices for GPU rentals (spot, on-demand, DePIN) with verify URLs, enabling agents and users to query and verify compute economics rates.51Apache 2.0