Skip to content

corpusAI Cloud Pricing

by JTraversa · remote · local (npm) · no sign-in to list tools · v0.1.6 · published by GitHub user JTraversa

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

Final · 9Changes · 21

35 tools: 9 do something that can't be undone, 21 change things and 5 only read.

Scanned Oct 21, 2026

9 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http corpus-cloud-pricing https://cloud.trycorpus.ai/mcp

Findings

Matches of fixed checks, with the text they matched.

9 warn
  • The server marks "spot_events" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "spot_hourly" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "spot_daily" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "spot_monthly" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "gpu_index" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "index_history" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
Show 3 more findings
  • The server marks "capacity_history" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "tokens_history" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "azure_eviction" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

35 tools

Can't be undone 9Claude Code: ask
  • azure_evictionPaid (0.01 USDC per call).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "azure_eviction" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Azure eviction rates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • capacity_historyPaid (0.05 USDC per call).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "capacity_history" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Paid (0.05 USDC per call). Daily capacity stress scores for one GPU model.

    Annotations the server declares

    • title: Capacity stress history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • gpu_indexPaid (0.05 USDC per call).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "gpu_index" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: GPU rental index
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • index_historyPaid (0.05 USDC per call).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "index_history" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Index history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • spot_dailyPaid (0.05 USDC per call).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "spot_daily" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Daily spot history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • spot_eventsPaid (0.01 USDC per call).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "spot_events" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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`.

    Annotations the server declares

    • title: Spot price events
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • spot_hourlyPaid (0.01 USDC per call).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "spot_hourly" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Hourly spot bars
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • spot_monthlyPaid (0.05 USDC per call).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "spot_monthly" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Monthly spot history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tokens_historyPaid (0.05 USDC per call).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "tokens_history" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Paid (0.05 USDC per call). Daily fixings for a token ticker, from the first snapshot (2026-09-14).

    Annotations the server declares

    • title: LLM token history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Changes things 21Claude Code: ask
  • attestationsFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Attestations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • capacity_boardPaid (0.10 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Paid (0.10 USDC per call). Every GPU model's capacity stress score for one day, tightest first.

    Annotations the server declares

    • title: Capacity stress board
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • capacity_headlineFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Capacity stress headline
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • capacity_stressPaid (0.01 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Capacity stress score
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • catalogFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Data catalog
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • gpu_modelsFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: GPU models
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • gpu_quotesPaid (0.01 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: GPU rental quotes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • healthFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Service health
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • index_boardPaid (0.10 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Paid (0.10 USDC per call). Every ticker's fixing for one day in one call.

    Annotations the server declares

    • title: Index board
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • index_fixingPaid (0.01 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Index fixing
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • index_tickersFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Index tickers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • instancesFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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-`).

    Annotations the server declares

    • title: Instance types in a region
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • ondemandPaid (0.01 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: On-demand price history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • reservedPaid (0.01 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Reserved price history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • spot_latestPaid (0.01 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Current spot price per zone
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • termPaid (0.05 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: GPU term structure
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • term_instancePaid (0.01 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: Instance price ladder
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tokens_boardPaid (0.10 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Paid (0.10 USDC per call). Every model's input, output and blended fixing for one day, plus the frontier basket.

    Annotations the server declares

    • title: LLM token board
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tokens_fixingPaid (0.01 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: LLM token fixing
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tokens_modelsFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: LLM models with token prices
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • tokens_quotesPaid (0.01 USDC per call).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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`.

    Annotations the server declares

    • title: LLM token quotes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 5Claude Code: allow
  • gpu_snapshotPaid (0.10 USDC per call).No findings

    Why it is in this group

    • The name "gpu_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: GPU market snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • ondemand_snapshotPaid (0.10 USDC per call).No findings

    Why it is in this group

    • The name "ondemand_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    Paid (0.10 USDC per call). Current on-demand list price of every instance type in a region.

    Annotations the server declares

    • title: Region on-demand snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • reserved_snapshotPaid (0.10 USDC per call).No findings

    Why it is in this group

    • The name "reserved_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    Paid (0.10 USDC per call). Current reserved effective hourly price of every instance type and ri_type in a region (AWS or Azure).

    Annotations the server declares

    • title: Region reserved snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • spot_snapshotPaid (0.10 USDC per call).No findings

    Why it is in this group

    • The name "spot_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Region spot snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • statusFree.No findings

    Why it is in this group

    • The name "status" says "status": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Data freshness
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.6. Values in angle brackets are yours to fill in.

claude mcp add --transport http corpus-cloud-pricing https://cloud.trycorpus.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__corpus-cloud-pricing__spot_snapshot",
      "mcp__corpus-cloud-pricing__ondemand_snapshot",
      "mcp__corpus-cloud-pricing__reserved_snapshot",
      "mcp__corpus-cloud-pricing__gpu_snapshot",
      "mcp__corpus-cloud-pricing__status"
    ],
    "ask": [
      "mcp__corpus-cloud-pricing__health",
      "mcp__corpus-cloud-pricing__catalog",
      "mcp__corpus-cloud-pricing__instances",
      "mcp__corpus-cloud-pricing__spot_events",
      "mcp__corpus-cloud-pricing__spot_hourly",
      "mcp__corpus-cloud-pricing__spot_daily",
      "mcp__corpus-cloud-pricing__spot_monthly",
      "mcp__corpus-cloud-pricing__spot_latest",
      "mcp__corpus-cloud-pricing__ondemand",
      "mcp__corpus-cloud-pricing__reserved",
      "mcp__corpus-cloud-pricing__gpu_models",
      "mcp__corpus-cloud-pricing__gpu_quotes",
      "mcp__corpus-cloud-pricing__gpu_index",
      "mcp__corpus-cloud-pricing__index_tickers",
      "mcp__corpus-cloud-pricing__index_fixing",
      "mcp__corpus-cloud-pricing__index_history",
      "mcp__corpus-cloud-pricing__index_board",
      "mcp__corpus-cloud-pricing__attestations",
      "mcp__corpus-cloud-pricing__capacity_headline",
      "mcp__corpus-cloud-pricing__capacity_stress",
      "mcp__corpus-cloud-pricing__capacity_history",
      "mcp__corpus-cloud-pricing__capacity_board",
      "mcp__corpus-cloud-pricing__tokens_models",
      "mcp__corpus-cloud-pricing__tokens_quotes",
      "mcp__corpus-cloud-pricing__tokens_fixing",
      "mcp__corpus-cloud-pricing__tokens_history",
      "mcp__corpus-cloud-pricing__tokens_board",
      "mcp__corpus-cloud-pricing__term_instance",
      "mcp__corpus-cloud-pricing__term",
      "mcp__corpus-cloud-pricing__azure_eviction"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as corpus-cloud-pricing. Review it before you use it.