corpusAI Cloud Pricing

io.github.JTraversaPublished by GitHub account JTraversav0.1.6Updated Oct 24, 2026

Cloud, GPU and LLM token prices with index fixings. Pay per call over x402 or with a prepaid key.

VerifiedStreamable HTTPWeb executableCloud & InfrastructureFinanceAI & ML

Overview

AI-generated overview

Gives an assistant cloud, GPU rental and LLM token price data plus daily index fixings, with free catalog tools and per-call paid data tools.

What you can do
  • Browse free catalogs: providers and regions, instance types, GPU models, index tickers, token models, and data-source freshness
  • Query spot prices: raw price-change events, hourly OHLC bars, daily and monthly history, latest prices, and whole-region snapshots
  • Query on-demand and reserved list prices, plus price ladders and term structure across spot, on-demand and 1y/3y commitments
  • Fetch GPU rental quotes, daily GPU price indexes, and capacity stress scores per model
  • Retrieve LLM token price quotes, fixings, histories and daily boards
  • Check index fixings and on-chain attestations of the daily fixing set
When to use it
Useful when comparing cloud instance or GPU costs, tracking spot and reserved price history, benchmarking GPU rental markets, or checking LLM token pricing before choosing a provider or model.
Requirements
Runs as a local npm package via npx or as a hosted remote endpoint. Free tools need no setup. Paid tools need a funded Circle Gateway USDC wallet via CORPUS_PAYER_KEY, or a prepaid key sent as an Authorization bearer header; CORPUS_CHAIN and CORPUS_MAX_USDC set the chain and spend cap. Network access required.
Before you install
Paid tools spend real USDC per call (0.01 to 0.10), settled from the wallet whose private key is supplied in CORPUS_PAYER_KEY; keep that key scoped and set CORPUS_MAX_USDC as a cap. A prepaid key in the Authorization header is also a credential. Queries and payment details go to the third-party service.

Installation

In SourceWeft

  1. Open corpusAI Cloud Pricing in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.JTraversa%2Fcorpus-cloud-pricing-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "corpusai-cloud-pricing": {
      "type": "http",
      "url": "https://cloud.trycorpus.ai/mcp"
    }
  }
}

README

corpus-cloud-pricing-mcp

MCP server (stdio) for corpusAI Cloud Pricing: AWS, GCP and Azure spot price history at event resolution, on-demand and reserved list prices, GPU rental quotes from neo-clouds and marketplaces, LLM token prices, and daily index fixings per GPU and segment (CX.H100SXM.NEO, CX.H100SXM.SPOT, ...). Free tools need nothing. Paid tools pay per call in USDC over x402 through Circle Gateway, from a wallet you configure.

The API also takes MPP (USDC on Tempo) and prepaid keys. To use a prepaid key from an agent, connect to the hosted MCP server at https://cloud.trycorpus.ai/mcp instead of this package (see the docs).

Install

Claude Code:

claude mcp add corpus-cloud-pricing -e CORPUS_PAYER_KEY=0x... -- npx -y corpus-cloud-pricing-mcp

Claude Desktop, Cursor or any MCP client (mcp.json):

json
{  "mcpServers": {    "corpus-cloud-pricing": {      "command": "npx",      "args": ["-y", "corpus-cloud-pricing-mcp"],      "env": { "CORPUS_PAYER_KEY": "0x...", "CORPUS_CHAIN": "base", "CORPUS_MAX_USDC": "0.10" }    }  }}

Without CORPUS_PAYER_KEY the free tools work and the paid tools return the price and accepted networks instead of data.

Paying

Paid calls are settled gaslessly from a Circle Gateway USDC balance held by the payer wallet. Fund it once:

CORPUS_PAYER_KEY=0x... npx corpus-cloud-pricing-mcp balanceCORPUS_PAYER_KEY=0x... CORPUS_CHAIN=base npx corpus-cloud-pricing-mcp deposit 2.00   # needs USDC and a little gas on that chain

CORPUS_CHAIN takes a Circle Gateway chain name as the Gateway SDK spells it (base, ethereum, arbitrum, worldChain, hyperEvm, ...). CORPUS_MAX_USDC (default 0.10) refuses any single call priced above it. Prices: 0.01 USDC for single-type or single-fixing calls, 0.05 for full histories, 0.10 for region or market snapshots.

Tools

Free: catalog, instances, gpu_models, index_tickers, status, tokens_models. Paid: spot_daily, spot_hourly, spot_events, spot_latest, spot_snapshot, spot_monthly, ondemand, reserved, gpu_quotes, gpu_index, index_fixing, index_history, index_board, term_instance, term_curve, tokens_quotes, tokens_fixing, tokens_history, tokens_board, capacity_stress, capacity_history, capacity_board.

The hosted server generates its tools from the OpenAPI document, so its set is larger and a few names differ (its GPU term structure tool is term, where this package says term_curve).

Methodology for the index fixings: https://cloud.trycorpus.ai/methodology. Data license: https://cloud.trycorpus.ai/license. Contact: [email protected].

Source: README.md at commit a202bea

Tools

35

health

Service health

Free. Liveness and store readiness. Returns 200 whenever the server is up. `ready` is false while the store is still ingesting after a restart; paid endpoints answer 503 (and take no payment) until it is true.

Takes no parameters.

catalog

Data catalog

Free. Providers, regions, coverage window and event counts. One row per (provider, region) with raw-event coverage (instance types, events, first/last event) and legacy-history coverage (daily and monthly date ranges), plus `sources`, the legend explaining every `source` value returned by /spot/daily and /spot/monthly. Use the `region` values here verbatim in every other call.

Takes no parameters.

instances

Instance types in a region

Free. Instance types available in a region. Exact type names with per-type coverage: raw events (`events`, `first_event`, `last_event`; zero/null for types that only exist in the legacy history) and legacy history ranges (`history_daily_from/to`, `history_monthly_from/to`). Optional `prefix` narrows the list (for example `c5.` or `n2-`).

Parametersprefixregionrequiredproviderrequired

spot_events

Spot price events

Paid (0.01 USDC per call). Raw spot price-change events for one instance type. Every price change for the type in the window, with exact timestamp, availability zone and product (OS). Sorted by time. Repeated identical prices are dropped by default (`include_repeats=true` keeps them). Up to `limit` rows; when `truncated` is true, continue with `from` = `next_from`.

Parametersaztofromlimitregionrequiredproductinstancerequiredproviderrequiredinclude_repeats

spot_hourly

Hourly spot bars

Paid (0.01 USDC per call). Hourly time-weighted OHLC bars for one instance type. Per-zone series are bucketed by UTC hour with time weighting (a price counts for as long as it was in force), then collapsed across zones: open/close/avg are the median across zones, high is the max, low is the min. Window is capped at 366 days.

Parameterstofromregionrequiredinstancerequiredproviderrequired

spot_daily

Daily spot history

Paid (0.05 USDC per call). Full daily history for one instance type, all eras stitched. One row per UTC day from the earliest data for the type to now. Rows dated before the type's first raw event come from the legacy history (`source` = `pauley`: measured 2022-05 to 2024-01 AWS, open/high/low/close present on days the price moved; `titans`: daily average only, 2024 to 2026). Rows from `direct_from` on are time-weighted, zone-collapsed bars from the raw event store (`source` = `direct`, same method as /spot/hourly; `avg` equals the public dashboard value). open/high/low/close are null where the source only has an average.

Parameterstofromregionrequiredinstancerequiredproviderrequired

spot_monthly

Monthly spot history

Paid (0.05 USDC per call). Full monthly history for one instance type, back to 2014 for legacy AWS types. Calendar months from the earliest data to now. `months` is the curated series: `uscisi-adjusted` months (2017 to 2022-04, AWS types with a stable correction factor, average only), then months rolled up from the daily series (`pauley`, `titans`, `direct`: `avg` = median of daily averages, open/close from the first/last day, high/low the extremes, `days` = days covered, `source` = the source covering most days). `archive` (AWS, default on) is the USC/ISI monthly dataset 2014-02 to 2023-12 as published, with open/high/low/close, for 51 legacy types: third-party, mixes OS products, provenance partly unverified; returned separately so it never silently blends into the curated series.

Parameterstofromregionrequiredinstancerequiredproviderrequiredinclude_archive

spot_latest

Current spot price per zone

Paid (0.01 USDC per call). Price currently in force per zone and product for one instance type. The most recent event of every (zone, product) series of the type, with its timestamp and age. A price is only meaningful while the provider still offers the type; AWS series older than ~10 days are likely retired, GCP/Azure reprice rarely so old timestamps are normal. For every type in a region at once use /spot/snapshot.

Parametersregionrequiredinstancerequiredproviderrequired

spot_snapshot

Region spot snapshot

Paid (0.10 USDC per call). Current price of every instance type, zone and product in a whole region, in one call. Bulk snapshot: the most recent event of every series in the region (about 6,000 rows for an AWS region), with timestamp and age per row. Same semantics as /spot/latest. Priced higher because one call returns the entire current price surface of the region.

Parametersregionrequiredproviderrequired

ondemand

On-demand price history

Paid (0.01 USDC per call). On-demand list-price history of one instance type. Change-point series: one row per day the on-demand (pay-as-you-go) hourly list price changed; `current` is the price in force. AWS: Linux, shared tenancy, from the AWS Price List API, refreshed weekly, since 2024-01 (every AWS region in /catalog). Azure: every Linux VM SKU from the public Retail Prices API, refreshed daily, since 2026-09-13 (every Azure region in /catalog). GCP: the TITANS-era series (2024 to 2026-08), not refreshed.

Parametersregionrequiredinstancerequiredproviderrequired

ondemand_snapshot

Region on-demand snapshot

Paid (0.10 USDC per call). Current on-demand list price of every instance type in a region.

Parametersregionrequiredproviderrequired

reserved

Reserved price history

Paid (0.01 USDC per call). Reserved / reservation price history of one instance type (AWS standard RIs 1y/3y no-upfront/all-upfront; Azure reservations 1y/3y). Effective hourly USD with any upfront amortized over the term, as change-point series per `ri_type` (`ri_1y_no_upfront_standard`, `ri_1y_all_upfront_standard`, `ri_3y_no_upfront_standard`, `ri_3y_all_upfront_standard`; GCP `cud_1y`, `cud_3y`). AWS: Linux, shared tenancy, history back to 2016 for the original three regions, weekly refresh from the AWS Price List API. Azure: all-upfront reservations from the public Retail Prices API, daily, since 2026-09-13. GCP: resource-based committed-use discounts from the Cloud Billing Catalog (vCPU, RAM and GPU commitment SKUs), daily, since 2026-09-13.

Parametersregionrequiredri_typeinstancerequiredprovider

reserved_snapshot

Region reserved snapshot

Paid (0.10 USDC per call). Current reserved effective hourly price of every instance type and ri_type in a region (AWS or Azure).

Parametersregionrequiredprovider

gpu_models

GPU models

Free. GPU models with rental quotes, and which providers quote them. Normalized model names (use verbatim as `gpu`), number of providers quoting each, quote counts, first/last snapshot day, the lowest observed USD per GPU-hour, and which hyperscaler spot instance families map to the model.

Takes no parameters.

gpu_quotes

GPU rental quotes

Paid (0.01 USDC per call). Latest rental quotes for one GPU model across neo-clouds, marketplaces and other clouds. One row per quote in each provider's latest daily snapshot: provider, market (`ondemand`, `spot` = interruptible, `bid` = marketplace minimum bid, `secure`/`community` = RunPod tiers), GPUs in the quoted unit, USD per GPU-hour, quoted unit price, region where the provider exposes one, and provider-specific detail in `extra` (marketplace host reliability, VRAM, stock status). Sources are each provider's public price feed or page (Vast.ai: the cheapest 64 offers per model, on-demand and bid); /gpu/models lists who quotes each model. Snapshots are taken several times a day.

Parametersgpurequiredmarketprovider

gpu_index

GPU rental index

Paid (0.05 USDC per call). Daily USD per GPU-hour index per provider and market for one GPU model, with hyperscaler spot legs. For each snapshot day and (provider, market): number of quotes and the lowest, median, mean and highest USD per GPU-hour. Rows with provider `aws-spot` or `gcp-spot` are computed from our own spot price events for the instance family that carries the GPU (time-weighted daily bar divided by GPUs per node, per region), so the neo-cloud market and hyperscaler spot are comparable in one series. Quote history starts 2026-09-13; hyperscaler spot legs reach back to the start of our event data.

Parameterstogpurequiredfrom

gpu_snapshot

GPU market snapshot

Paid (0.10 USDC per call). Every GPU model × provider × market: lowest and median USD per GPU-hour in the latest snapshot, plus hyperscaler spot per region.

Takes no parameters.

status

Data freshness

Free. Freshness of every data source. Per source: last successful snapshot or event, staleness in days, and the public URL it is read from. Use it to decide whether a fixing or quote is current before paying for it.

Takes no parameters.

index_tickers

Index tickers

Free. Every index ticker, its segment and definition. Tickers are CX.<MODEL>.<SEGMENT> (for example CX.H100SXM.NEO) or CX.<MODEL>.SPOT.<REGION>. Includes the segment membership lists and the methodology version.

Takes no parameters.

index_fixing

Index fixing

Paid (0.01 USDC per call). One day's fixing for a ticker: median USD per GPU-hour of eligible quotes, with low, high and count. Quote segments (MKT, AGG, NEO, INT, EXE, HYP) fix from that day's snapshots; the default day is the latest snapshot. SPOT fixes from the full UTC day of spot events, so the default is yesterday; SPOT composites carry per-region values and spread_vs_neo. See /methodology for eligibility and aggregation.

Parametersdaytickerrequired

index_history

Index history

Paid (0.05 USDC per call). Daily fixings for a ticker over a date range. Quote segments start 2026-09-13. SPOT tickers reach back to the start of the spot series (AWS daily from 2022-05-31 for A100, V100, T4, A10; from 2023-07 for H100), each row carrying its data source.

Parameterstofromtickerrequired

index_board

Index board

Paid (0.10 USDC per call). Every ticker's fixing for one day in one call.

Parametersday

attestations

Attestations

Free. Daily on-chain attestations of the fixing set. One record per store day: the keccak256 of the day's signed fixings file (served at /attest/<day>.json), the Ethereum Attestation Service UID and transaction on Base (eip155:8453), the publisher address and the schema UID. Re-hash the file bytes and compare with fixingsHash to verify; every row inside the file carries its own EIP-712 signature. See /governance.

Takes no parameters.

capacity_headline

Capacity stress headline

Free. Capacity stress score per GPU model for the latest day, score only. Rounded score from 0 (slack) to 100 (tight) per GPU with at least two signals, tightest first, cached ten minutes. The components and their inputs are in the paid /capacity/stress and /capacity/board.

Takes no parameters.

capacity_stress

Capacity stress score

Paid (0.01 USDC per call). Capacity stress score, 0 (slack) to 100 (tight), for one GPU model on one day, with every component. Mean of the components available that day: availability (share of Shadeform and Lambda listings flagged available), ionet (deployable ÷ total units on io.net regional SKUs), supply (Vast on-demand offers vs the trailing 30-day median) and spot_ratio (hyperscaler SPOT fixing ÷ HYP fixing, 0.3 → 0 and 0.9 → 100). Each component carries its inputs.

Parametersdaygpurequired

capacity_history

Capacity stress history

Paid (0.05 USDC per call). Daily capacity stress scores for one GPU model.

Parameterstogpurequiredfrom

capacity_board

Capacity stress board

Paid (0.10 USDC per call). Every GPU model's capacity stress score for one day, tightest first.

Parametersday

tokens_models

LLM models with token prices

Free. Every LLM with a token price fixing, its ticker codes and today's price range. Canonical model slugs (for example `claude-sonnet-5`, `gpt-6-astra`, `llama-4-maverick`), their ticker codes, how many sources and hosts list them, and the min/max input and output price seen today. Also lists the frontier basket.

Takes no parameters.

tokens_quotes

LLM token quotes

Paid (0.01 USDC per call). Every listed price for one model on one day: each source and hosting provider, USD per million tokens. Rows from the OpenRouter catalog, OpenRouter per-host endpoints (Azure, Amazon Bedrock, Google, Together, DeepInfra, …), the LiteLLM price table and DeepInfra. Includes cache-read price and context length where known; variants such as batch tiers are marked in `extra.variant`.

Parametersdaymodelrequired

tokens_fixing

LLM token fixing

Paid (0.01 USDC per call). One day's token price fixing for a ticker such as CX.TOK.CLAUDESONNET5.IN. Median across every source and host at the standard tier (batch and free variants excluded). `.IN` and `.OUT` are input and output USD per million tokens; `.BLEND` is (3·input + output) / 4. `CX.TOK.FRONTIER.<side>` is the median across the frontier basket listed by /tokens/models.

Parametersdaytickerrequired

tokens_history

LLM token history

Paid (0.05 USDC per call). Daily fixings for a token ticker, from the first snapshot (2026-09-14).

Parameterstofromtickerrequired

tokens_board

LLM token board

Paid (0.10 USDC per call). Every model's input, output and blended fixing for one day, plus the frontier basket.

Parametersday

term_instance

Instance price ladder

Paid (0.01 USDC per call). Price ladder for one instance type: spot, on-demand, 1-year and 3-year commitments, with discounts. Current prices from our series: spot median across zones (where spot events exist), on-demand list price, and reserved/reservation terms as effective hourly with upfront amortized. `discount_pct` is relative to on-demand. AWS carries four reserved terms (1y/3y × no/all upfront), Azure two (1y/3y all upfront), GCP two resource-based committed-use terms (`cud_1y`, `cud_3y`, no upfront).

Parametersregionrequiredinstancerequiredproviderrequired

term

GPU term structure

Paid (0.05 USDC per call). Term structure per hyperscaler for one GPU model, USD per GPU-hour: spot, on-demand, 1y, 3y. For each hyperscaler with a mapped instance family (see /gpu/models hyperscaler_spot_legs), the median across regions of each term's price divided by GPUs per node, with lo/hi across regions and the discount to on-demand. Answers "what does a committed H100 cost against spot and on-demand, per cloud". Neo-cloud commitment prices are quote-only and excluded.

Parametersgpurequired

azure_eviction

Azure eviction rates

Paid (0.01 USDC per call). Azure spot eviction-rate history (28-day buckets, sampled daily). Daily samples of the eviction-rate bucket Azure reports per SKU (`0-5`, `5-10`, `10-15`, `15-20`, `20+` percent over the trailing 28 days). Collected daily since 2026-09-05; there is no history before the first sample.

Parameterstoskufromregionrequired

Version history

3
  1. v0.1.6LatestSep 27, 2026
  2. v0.1.5Sep 26, 2026
  3. v0.1.4Sep 26, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts