Server definition
- Hash
- sha256:c639e918f3599cb6c390fb0303b76ec6c042068a26b6e0386d93758e353072a1
- What it is
- What a remote MCP server returned when asked what it offers: 25 tools
The blob, as servednamed by its sha256
{
"instructions": "Live GPU rental market data aggregated across a dozen provider feeds (Vast.ai, RunPod, Verda, Akash, Cudo, io.net, Hyperstack, Novita, Prime Intellect, Shadeform, Scaleway, OVHcloud). Prices are USD per hour. TWO FEE LEVERS, do not confuse them: `fee_bps` is the DISPLAY markup on published prices and is 0 — every price you read is the provider's own. `platform_fee` is a service fee on a rental SETTLED THROUGH US (2.5%, $0.01 min, capped $5.00 per lease per UTC day); it is stated in the quote and in the placement payload before anything is committed, is charged on what we settle and never on the provider's price, and does not apply when you rent on your own provider key. price_final_per_gpu_hr is the comparable unit across multi-GPU offers (it equals price_per_gpu_hr while fee_bps is 0). class='interruptible' rows are idle capacity (spot/bid) — cheapest and greenest. Offers marked stale=true come from a provider whose feed is behind; treat them as indicative only.",
"tools": [
{
"description": "Your metered usage ledger: placements, destroys, estimated hours and USD,\n and the platform fee (2.5%, $0.01 min, $5.00 cap per lease per UTC day) priced\n at the rate live at event time. Distinct from fee_bps, the display markup.",
"inputSchema": {
"properties": {
"account_token": {
"title": "Account Token",
"type": "string"
},
"days": {
"default": 90,
"title": "Days",
"type": "integer"
}
},
"required": [
"account_token"
],
"title": "account_usageArguments",
"type": "object"
},
"name": "account_usage",
"outputSchema": null
},
{
"description": "Perf-per-dollar board: for each GPU model, best live price vs its FP16\n tensor throughput (dense, vendor spec sheets) -> TFLOPS per dollar-hour.\n The answer to 'most compute for my budget' rather than 'cheapest card'.\n Models without a defensible public spec figure are listed as unrated.",
"inputSchema": {
"properties": {
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
},
"min_vram_gb": {
"default": 0,
"title": "Min Vram Gb",
"type": "number"
},
"offer_class": {
"default": "",
"title": "Offer Class",
"type": "string"
}
},
"title": "best_valueArguments",
"type": "object"
},
"name": "best_value",
"outputSchema": null
},
{
"description": "Cancel a limit order. Requires the order_secret from create_limit_order.",
"inputSchema": {
"properties": {
"order_id": {
"title": "Order Id",
"type": "string"
},
"order_secret": {
"title": "Order Secret",
"type": "string"
}
},
"required": [
"order_id",
"order_secret"
],
"title": "cancel_limit_orderArguments",
"type": "object"
},
"name": "cancel_limit_order",
"outputSchema": null
},
{
"description": "Place a standing LIMIT ORDER: when the best live fee-adjusted price for\n gpu (and optional offer_class) trades at or under max_price_per_gpu_hr,\n the station cuts a signed FILL TICKET naming the exact offer. The station\n never holds your provider key — the ticket is executed by whoever does:\n the open-source keyholder sidecar (/agents/#sidecar), your own agent\n long-polling POST /api/orders/{id}/ticket, or a human with curl. Returns\n the order with order_secret SHOWN ONCE — it authenticates ticket reads and\n the fill call for this order only and can rent nothing by itself. Triggers\n are checked on the poll cadence (~5-min bars, not tick-by-tick); orders\n expire in 30 days; a ticket lasts ~4 minutes then the order re-arms.\n\n standing=true makes it a STANDING order — compute that survives: after a\n live fill the sidecar keeps watching the machine, and when it is preempted\n or dies the order re-arms and refills from the CURRENT best offer, up to\n max_refills times with cooloff_seconds between death and refill. Honest\n limits: this re-provisions the MACHINE, not the WORK (GPU memory is not\n portable — resume from your own checkpoints); refills need your sidecar\n alive (it is both witness and executor); cancelling stops supervision but\n cannot destroy a running machine (the station holds no key). Watchdog:\n spend_alert_usd / age_alert_hours fire a \"still yours?\" webhook once per\n machine when the spend ESTIMATE (uptime x price; the provider's bill is\n authoritative) or age crosses your line — auto_destroy_budget_usd remains\n the hard stop.",
"inputSchema": {
"properties": {
"age_alert_hours": {
"default": 0,
"title": "Age Alert Hours",
"type": "number"
},
"auto_destroy_budget_usd": {
"default": 0,
"title": "Auto Destroy Budget Usd",
"type": "number"
},
"cooloff_seconds": {
"default": 120,
"title": "Cooloff Seconds",
"type": "integer"
},
"gpu": {
"title": "Gpu",
"type": "string"
},
"max_price_per_gpu_hr": {
"title": "Max Price Per Gpu Hr",
"type": "number"
},
"max_refills": {
"default": 5,
"title": "Max Refills",
"type": "integer"
},
"min_gpu_count": {
"default": 0,
"title": "Min Gpu Count",
"type": "integer"
},
"min_vram_gb": {
"default": 0,
"title": "Min Vram Gb",
"type": "number"
},
"offer_class": {
"default": "",
"title": "Offer Class",
"type": "string"
},
"spend_alert_usd": {
"default": 0,
"title": "Spend Alert Usd",
"type": "number"
},
"standing": {
"default": false,
"title": "Standing",
"type": "boolean"
},
"webhook_url": {
"default": "",
"title": "Webhook Url",
"type": "string"
}
},
"required": [
"gpu",
"max_price_per_gpu_hr"
],
"title": "create_limit_orderArguments",
"type": "object"
},
"name": "create_limit_order",
"outputSchema": null
},
{
"description": "Create a price watch (tripwire): fires when the best live fee-adjusted\n price per GPU-hour matching gpu (and optional offer_class) drops to or\n under max_price_per_gpu_hr. Checked every poll (~5 min). Returns the watch\n with its id — the id is the only key; poll it with watch_status, or give a\n public webhook_url to be POSTed on each trip. Watches re-arm when the\n price climbs 2% back over the line.",
"inputSchema": {
"properties": {
"gpu": {
"title": "Gpu",
"type": "string"
},
"max_price_per_gpu_hr": {
"title": "Max Price Per Gpu Hr",
"type": "number"
},
"offer_class": {
"default": "",
"title": "Offer Class",
"type": "string"
},
"webhook_url": {
"default": "",
"title": "Webhook Url",
"type": "string"
}
},
"required": [
"gpu",
"max_price_per_gpu_hr"
],
"title": "create_watchArguments",
"type": "object"
},
"name": "create_watch",
"outputSchema": null
},
{
"description": "Delete a watch by id.",
"inputSchema": {
"properties": {
"watch_id": {
"title": "Watch Id",
"type": "string"
}
},
"required": [
"watch_id"
],
"title": "delete_watchArguments",
"type": "object"
},
"name": "delete_watch",
"outputSchema": null
},
{
"description": "Destroy an instance previously placed on your account (vast or runpod).\n Your key passes through and is never stored.",
"inputSchema": {
"properties": {
"api_key": {
"title": "Api Key",
"type": "string"
},
"provider": {
"title": "Provider",
"type": "string"
},
"provider_instance_id": {
"title": "Provider Instance Id",
"type": "string"
}
},
"required": [
"provider",
"provider_instance_id",
"api_key"
],
"title": "destroy_rentalArguments",
"type": "object"
},
"name": "destroy_rental",
"outputSchema": null
},
{
"description": "Execute a limit order's live fill ticket on YOUR provider key (used for\n this one call, never stored). Only works while the order is ticketed; the\n offer is re-quoted live and refused above the order's line. Idempotent per\n order — a retry returns the first receipt rather than renting a second\n machine. The order's auto_destroy_budget_usd (if set) arms the budget\n guard exactly as rent_offer does.",
"inputSchema": {
"properties": {
"account_token": {
"default": "",
"title": "Account Token",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"confirm": {
"default": false,
"title": "Confirm",
"type": "boolean"
},
"disk_gb": {
"default": 10,
"title": "Disk Gb",
"type": "number"
},
"dry_run": {
"default": true,
"title": "Dry Run",
"type": "boolean"
},
"image": {
"default": "",
"title": "Image",
"type": "string"
},
"order_id": {
"title": "Order Id",
"type": "string"
},
"order_secret": {
"title": "Order Secret",
"type": "string"
}
},
"required": [
"order_id",
"order_secret",
"api_key"
],
"title": "fill_limit_orderArguments",
"type": "object"
},
"name": "fill_limit_order",
"outputSchema": null
},
{
"description": "Fetch one offer by its id (from search_offers).",
"inputSchema": {
"properties": {
"offer_id": {
"title": "Offer Id",
"type": "string"
}
},
"required": [
"offer_id"
],
"title": "get_offerArguments",
"type": "object"
},
"name": "get_offer",
"outputSchema": null
},
{
"description": "The idle-capacity index over time: share of listed GPU capacity that is\n interruptible (spot/bid) — idle hardware looking for work. Points are\n [ts, idle_share, idle_offers, total_offers].",
"inputSchema": {
"properties": {
"hours": {
"default": 168,
"title": "Hours",
"type": "integer"
}
},
"title": "idle_historyArguments",
"type": "object"
},
"name": "idle_history",
"outputSchema": null
},
{
"description": "State of a limit order (armed/ticketed/filled/cancelled/expired), last\n price seen, recent events. Pass order_secret to also read the live fill\n ticket when one is cut.",
"inputSchema": {
"properties": {
"order_id": {
"title": "Order Id",
"type": "string"
},
"order_secret": {
"default": "",
"title": "Order Secret",
"type": "string"
}
},
"required": [
"order_id"
],
"title": "limit_order_statusArguments",
"type": "object"
},
"name": "limit_order_status",
"outputSchema": null
},
{
"description": "Live market snapshot: total offers, GPU models, idle-capacity share,\n per-provider freshness/health, cheapest price per model, current fee_bps.",
"inputSchema": {
"properties": {},
"title": "market_statsArguments",
"type": "object"
},
"name": "market_stats",
"outputSchema": null
},
{
"description": "Price history for one GPU model (exact name from search_offers/market_stats,\n e.g. 'RTX 4090'). offer_class: on_demand | interruptible. Returns per-provider\n series of [ts, min_price_per_gpu_hr, median_price_per_gpu_hr, offer_count];\n ranges past 3 days are bucketed (hourly, then 6-hourly past a week).",
"inputSchema": {
"properties": {
"gpu": {
"default": "",
"title": "Gpu",
"type": "string"
},
"gpu_model": {
"default": "",
"title": "Gpu Model",
"type": "string"
},
"hours": {
"default": 168,
"title": "Hours",
"type": "integer"
},
"offer_class": {
"default": "on_demand",
"title": "Offer Class",
"type": "string"
}
},
"title": "price_historyArguments",
"type": "object"
},
"name": "price_history",
"outputSchema": null
},
{
"description": "Rent-now-or-wait context: where the current best price for one GPU\n model sits inside its own trailing 7/30-day range (percentile, 24h trend,\n verdict). Descriptive, not a forecast.",
"inputSchema": {
"properties": {
"gpu": {
"default": "",
"title": "Gpu",
"type": "string"
},
"gpu_model": {
"default": "",
"title": "Gpu Model",
"type": "string"
},
"offer_class": {
"default": "on_demand",
"title": "Offer Class",
"type": "string"
}
},
"title": "price_positionArguments",
"type": "object"
},
"name": "price_position",
"outputSchema": null
},
{
"description": "How dependable each provider's data feed has been for this station\n (poll success over the trailing window), plus the provider's own average\n machine reliability where reported. feed_score is about the DATA, not\n their hardware.",
"inputSchema": {
"properties": {
"days": {
"default": 30,
"title": "Days",
"type": "integer"
}
},
"title": "provider_reliabilityArguments",
"type": "object"
},
"name": "provider_reliability",
"outputSchema": null
},
{
"description": "Create a metering account: returns a bearer token (shown once, we keep\n only a hash). Pass it as account_token on rent calls to build a usage\n ledger you can read back with account_usage. Optional — renting works\n without one.",
"inputSchema": {
"properties": {
"label": {
"default": "",
"title": "Label",
"type": "string"
}
},
"title": "register_accountArguments",
"type": "object"
},
"name": "register_account",
"outputSchema": null
},
{
"description": "One-shot rent: search the live book with these filters and place on the\n best (cheapest) matching offer — 'cheapest H100 under $2/hr, go'. Same\n guarantees as rent_offer (dry-run default, live re-quote, your\n max_price_per_gpu_hr is absolute). If the best offer is already gone it\n walks to the next, at most 3, and reports what it skipped.",
"inputSchema": {
"properties": {
"account_token": {
"default": "",
"title": "Account Token",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"auto_destroy_budget_usd": {
"default": 0,
"title": "Auto Destroy Budget Usd",
"type": "number"
},
"confirm": {
"default": false,
"title": "Confirm",
"type": "boolean"
},
"country": {
"default": "",
"title": "Country",
"type": "string"
},
"disk_gb": {
"default": 10,
"title": "Disk Gb",
"type": "number"
},
"dry_run": {
"default": true,
"title": "Dry Run",
"type": "boolean"
},
"gpu": {
"default": "",
"title": "Gpu",
"type": "string"
},
"idempotency_key": {
"default": "",
"title": "Idempotency Key",
"type": "string"
},
"image": {
"default": "",
"title": "Image",
"type": "string"
},
"label": {
"default": "",
"title": "Label",
"type": "string"
},
"max_price_per_gpu_hr": {
"title": "Max Price Per Gpu Hr",
"type": "number"
},
"min_gpu_count": {
"default": 0,
"title": "Min Gpu Count",
"type": "integer"
},
"min_vram_gb": {
"default": 0,
"title": "Min Vram Gb",
"type": "number"
},
"offer_class": {
"default": "",
"title": "Offer Class",
"type": "string"
},
"provider": {
"default": "",
"title": "Provider",
"type": "string"
}
},
"required": [
"api_key",
"max_price_per_gpu_hr"
],
"title": "rent_bestArguments",
"type": "object"
},
"name": "rent_best",
"outputSchema": null
},
{
"description": "Place a rental on YOUR provider account (BYO key — it is used for this\n one call and never stored). Default is a DRY RUN returning exactly what\n would be executed; a live placement needs dry_run=false AND confirm=true.\n The offer is re-quoted live first and refused if its price exceeds\n max_price_per_gpu_hr. Executes on vast and runpod offers. Pass an\n idempotency_key so retries return the first receipt instead of renting\n twice. auto_destroy_budget_usd arms the budget guard: this station then\n holds your key in PROCESS MEMORY ONLY and destroys the rental when\n estimated spend reaches the cap (a station restart drops the guard — the\n receipt says so; poll rental_status as backstop). account_token (from\n register_account) attributes the rental to your usage ledger.",
"inputSchema": {
"properties": {
"account_token": {
"default": "",
"title": "Account Token",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"auto_destroy_budget_usd": {
"default": 0,
"title": "Auto Destroy Budget Usd",
"type": "number"
},
"confirm": {
"default": false,
"title": "Confirm",
"type": "boolean"
},
"disk_gb": {
"default": 10,
"title": "Disk Gb",
"type": "number"
},
"dry_run": {
"default": true,
"title": "Dry Run",
"type": "boolean"
},
"idempotency_key": {
"default": "",
"title": "Idempotency Key",
"type": "string"
},
"image": {
"default": "",
"title": "Image",
"type": "string"
},
"label": {
"default": "",
"title": "Label",
"type": "string"
},
"max_price_per_gpu_hr": {
"title": "Max Price Per Gpu Hr",
"type": "number"
},
"offer_id": {
"title": "Offer Id",
"type": "string"
}
},
"required": [
"offer_id",
"api_key",
"max_price_per_gpu_hr"
],
"title": "rent_offerArguments",
"type": "object"
},
"name": "rent_offer",
"outputSchema": null
},
{
"description": "Rent a prepaid block of GPU time with a wallet and NO account, NO API key\n and no human, over x402 (HTTP 402 micropayments, USDC on Base).\n\n Call it with no arguments and you get the payment challenge: an x402\n PaymentRequirementsResponse whose accepts[0].extra.x402_fee states the block\n price, the platform fee IN DOLLARS, that there are no refunds, and that you\n are charged only after the lease is live. Sign the EIP-3009\n transferWithAuthorization it describes, then call again with x_payment set to\n the base64 PaymentPayload (the same value the HTTP rail sends as X-PAYMENT).\n\n `ssh_pubkey` is HOW YOU GET IN, and is required on the paying call: pass the\n public half of your ssh key (one line, the contents of id_ed25519.pub). It is\n written into the rented container's authorized_keys and nowhere else, and the\n receipt comes back with the host and port to connect to. A block nobody can\n enter is not sold.\n\n `lease_id` is minted by the challenge — send back the one you were given; it\n is the accrual key for the daily fee cap and this station refuses ids it did\n not mint or that belong to another payer.\n\n `originator` is an OPTIONAL opaque attribution label (<=64 chars, e.g. a\n handle or a reverse-DNS name) naming the client implementation that produced\n the fill. It is carried unmodified onto the receipt and onto the public\n ledger row, and it never affects the price, the fee, verification or\n settlement — the same block costs the same either way.\n\n Returns the receipt on success. Every fill is published at /api/receipts.\n Wire contract: docs/X402-FEE-0.1.md, frozen as x402-fee/0.1.\n\n Note for x402 MCP-transport clients: this tool takes the payment as an\n ARGUMENT rather than in _meta[\"x402/payment\"]. The payload is byte-identical;\n only the channel differs, because a tool argument is the one place every MCP\n client can portably put it. The HTTP rail is fully transport-conformant.",
"inputSchema": {
"properties": {
"blocks": {
"default": 1,
"title": "Blocks",
"type": "integer"
},
"lease_id": {
"default": "",
"title": "Lease Id",
"type": "string"
},
"originator": {
"default": "",
"title": "Originator",
"type": "string"
},
"ssh_pubkey": {
"default": "",
"title": "Ssh Pubkey",
"type": "string"
},
"x_payment": {
"default": "",
"title": "X Payment",
"type": "string"
}
},
"title": "rent_x402Arguments",
"type": "object"
},
"name": "rent_x402",
"outputSchema": null
},
{
"description": "Live state of an instance on your account: running/starting/stopped/\n gone, uptime, price, estimated spend so far, and the budget guard's state\n if one is armed. Read-only; your key passes through and is never stored.",
"inputSchema": {
"properties": {
"api_key": {
"title": "Api Key",
"type": "string"
},
"provider": {
"title": "Provider",
"type": "string"
},
"provider_instance_id": {
"title": "Provider Instance Id",
"type": "string"
}
},
"required": [
"provider",
"provider_instance_id",
"api_key"
],
"title": "rental_statusArguments",
"type": "object"
},
"name": "rental_status",
"outputSchema": null
},
{
"description": "Search live GPU offers. gpu matches the model name (e.g. '4090', 'H100').\n offer_class: on_demand | interruptible | reserved. country: ISO-2 (e.g. US),\n a comma list ('DE,NL'), or 'EU' for the 27 member states. min_gpu_count\n filters to multi-GPU configs (8 = full 8x nodes). region substring-matches\n the provider's region/datacenter label. Returns offers ranked\n cheapest-first by price_per_gpu_hr.",
"inputSchema": {
"properties": {
"country": {
"default": "",
"title": "Country",
"type": "string"
},
"gpu": {
"default": "",
"title": "Gpu",
"type": "string"
},
"limit": {
"default": 20,
"title": "Limit",
"type": "integer"
},
"max_price_per_gpu_hr": {
"default": 0,
"title": "Max Price Per Gpu Hr",
"type": "number"
},
"min_gpu_count": {
"default": 0,
"title": "Min Gpu Count",
"type": "integer"
},
"min_reliability": {
"default": 0,
"title": "Min Reliability",
"type": "number"
},
"min_vram_gb": {
"default": 0,
"title": "Min Vram Gb",
"type": "number"
},
"offer_class": {
"default": "",
"title": "Offer Class",
"type": "string"
},
"provider": {
"default": "",
"title": "Provider",
"type": "string"
},
"region": {
"default": "",
"title": "Region",
"type": "string"
}
},
"title": "search_offersArguments",
"type": "object"
},
"name": "search_offers",
"outputSchema": {
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "search_offersOutput",
"type": "object"
}
},
{
"description": "On-demand vs interruptible spread: the live discount for idle capacity\n per model; pass gpu_model for its history too.",
"inputSchema": {
"properties": {
"gpu_model": {
"default": "",
"title": "Gpu Model",
"type": "string"
},
"hours": {
"default": 168,
"title": "Hours",
"type": "integer"
}
},
"title": "spot_spreadArguments",
"type": "object"
},
"name": "spot_spread",
"outputSchema": null
},
{
"description": "The billing fine print behind the $/hr, verified per provider from\n their own published pages (source URL + date on every claim): billing\n granularity (per-second vs per-minute), whether storage bills while\n stopped, bandwidth/egress fees, and the commonly-missed gotchas (e.g.\n Vast bandwidth never appears in $/hr; RunPod stopped volume disk costs\n double). Providers we have not verified are listed with NO claims.",
"inputSchema": {
"properties": {},
"title": "true_cost_notesArguments",
"type": "object"
},
"name": "true_cost_notes",
"outputSchema": null
},
{
"description": "Current state of a watch: armed/tripped, last price seen, recent\n events, and the best matching offer right now.",
"inputSchema": {
"properties": {
"watch_id": {
"title": "Watch Id",
"type": "string"
}
},
"required": [
"watch_id"
],
"title": "watch_statusArguments",
"type": "object"
},
"name": "watch_status",
"outputSchema": null
},
{
"description": "Will this model fit, and what does a fitting machine cost right now?\n Deterministic VRAM arithmetic — weights (params x bytes/precision) + KV\n cache (2 x layers x kv_heads x head_dim x context x batch) + stated\n overhead — checked against the live book, cheapest fitting offers first.\n Pass a known model slug (llama-3.1-8b/70b/405b, mistral-7b, mixtral-8x7b,\n qwen2.5-7b/32b/72b, gemma-2-9b/27b) OR params_b for a stated Llama-like\n guess. precision: fp16/int8/int4. If you pass tokens_per_s (YOUR measured\n throughput — we never invent one), each offer gains usd_per_m_tokens.\n Every approximation is in the assumptions list, not fine print.",
"inputSchema": {
"properties": {
"batch": {
"default": 1,
"title": "Batch",
"type": "integer"
},
"context": {
"default": 8192,
"title": "Context",
"type": "integer"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
},
"model": {
"default": "",
"title": "Model",
"type": "string"
},
"offer_class": {
"default": "",
"title": "Offer Class",
"type": "string"
},
"params_b": {
"default": 0,
"title": "Params B",
"type": "number"
},
"precision": {
"default": "fp16",
"title": "Precision",
"type": "string"
},
"tokens_per_s": {
"default": 0,
"title": "Tokens Per S",
"type": "number"
}
},
"title": "will_it_fitArguments",
"type": "object"
},
"name": "will_it_fit",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c639e918f3599cb6c390fb0303b76ec6c042068a26b6e0386d93758e353072a1 | sha256sum