Skip to main content
Glama

GPU prices by provider

get_provider_prices
Read-onlyIdempotent

Each GPU cloud's and marketplace's posted on-demand prices per GPU, as its page on the site shows them (lowest and highest that day, as posted, with the configuration of the lowest) and its average in the index, standardized to the GPU's benchmark contract so providers compare like for like. Give a provider (e.g. "CoreWeave", "RunPod") and/or a GPU; a provider outside the index (AWS, Azure, Google Cloud, Oracle and others) answers with its lowest posted price for each GPU, as the GPU's page lists it. For questions like "what does RunPod charge for an H100?", "AWS H100 price" or "Lambda GPU pricing".

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_provider_prices"
  }
}

Input Schema

NameRequiredDescriptionDefault
gpuNoOnly this GPU.
providerNoA provider's name or page id; omit for all providers.

Output Schema

NameRequiredDescriptionDefault
noteNo
unitNo
licenseNo
updatedNo
providersYes
other_posted_pricesNoWith a GPU: the providers outside the index (the hyperscalers and others), each one's lowest on-demand price per GPU-hour as posted, not standardized, as the GPU's page lists them

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / gpu / enum
      Previous value: -[
      -  "H100",
      -  "H200",
      -  "A100",
      -  "B200",
      -  "B300",
      -  "RTX PRO 6000",
      -  "L40S",
      -  "RTX A6000",
      -  "RTX 6000 Ada",
      -  "L40",
      -  "RTX 4090"
      -]New value: +[
      +  "H100",
      +  "H200",
      +  "A100",
      +  "B200",
      +  "B300",
      +  "RTX PRO 6000",
      +  "L40S",
      +  "RTX A6000",
      +  "RTX 6000 Ada",
      +  "L40",
      +  "RTX 5090",
      +  "RTX 4090"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / gpu / enum
      Previous value: -[
      -  "H100",
      -  "H200",
      -  "A100",
      -  "B200",
      -  "B300",
      -  "RTX PRO 6000",
      -  "L40S",
      -  "RTX A6000",
      -  "RTX 6000 Ada",
      -  "L40",
      -  "RTX 5090",
      -  "RTX 4090"
      -]New value: +[
      +  "H100",
      +  "H200",
      +  "A100",
      +  "B200",
      +  "B300",
      +  "RTX PRO 6000",
      +  "L40S",
      +  "RTX A6000",
      +  "RTX 6000 Ada",
      +  "L40",
      +  "RTX 4090"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / gpu / enum
      Previous value: -[
      -  "H100",
      -  "H200",
      -  "A100",
      -  "B200",
      -  "B300",
      -  "RTX PRO 6000",
      -  "L40S",
      -  "RTX A6000",
      -  "RTX 6000 Ada",
      -  "L40",
      -  "RTX 4090"
      -]New value: +[
      +  "H100",
      +  "H200",
      +  "A100",
      +  "B200",
      +  "B300",
      +  "RTX PRO 6000",
      +  "L40S",
      +  "RTX A6000",
      +  "RTX 6000 Ada",
      +  "L40",
      +  "RTX 5090",
      +  "RTX 4090"
      +]
  4. Changed3 schema fields changed
    • changedOutput schema / properties / providers / items / properties / gpus / items / properties / read_at / description
      Previous value: -"When its prices were last read"New value: +"When its prices were last read (the GPU page's As of)"
    • removedOutput schema / properties / providers / items / properties / gpus / items / properties / source_url
      Removed value: -{
      -  "description": "Where its prices were read",
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / providers / items / properties / read_from
      Added value: +{
      +  "description": "The hosts its prices are read from, as its page says",
      +  "items": {
      +    "type": [
      +      "string",
      +      "null"
      +    ]
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
  5. Changed4 schema fields changed
    • addedOutput schema / properties / other_posted_prices
      Added value: +{
      +  "description": "With a GPU: the providers outside the index (the hyperscalers and others), each one's lowest on-demand price per GPU-hour as posted, not standardized, as the GPU's page lists them",
      +  "items": {
      +    "properties": {
      +      "lowest_price": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "memory_gb": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "posted_eur": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "provider": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "provider",
      +      "lowest_price"
      +    ],
      +    "type": [
      +      "object",
      +      "null"
      +    ]
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / providers / items / properties / gpus / items / properties / gpu_page
      Added value: +{
      +  "description": "The GPU's page, which lists this price under other posted prices",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / providers / items / properties / gpus / items / properties / posted_eur
      Added value: +{
      +  "description": "The price as posted, in euros, when the provider posts in euros",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / providers / items / properties / outside_index
      Added value: +{
      +  "description": "A provider outside the index: its lowest posted prices, not standardized",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
  6. Changed1 schema field changed
    • changedInput schema / properties / gpu / enum
      Previous value: -[
      -  "H100",
      -  "H200",
      -  "A100",
      -  "B200",
      -  "B300",
      -  "RTX PRO 6000",
      -  "L40S",
      -  "RTX A6000"
      -]New value: +[
      +  "H100",
      +  "H200",
      +  "A100",
      +  "B200",
      +  "B300",
      +  "RTX PRO 6000",
      +  "L40S",
      +  "RTX A6000",
      +  "RTX 6000 Ada",
      +  "L40",
      +  "RTX 4090"
      +]
  7. Changed1 schema field changed
    • changedInput schema / properties / gpu / enum
      Previous value: -[
      -  "H100",
      -  "H200",
      -  "A100",
      -  "B200",
      -  "B300",
      -  "RTX PRO 6000"
      -]New value: +[
      +  "H100",
      +  "H200",
      +  "A100",
      +  "B200",
      +  "B300",
      +  "RTX PRO 6000",
      +  "L40S",
      +  "RTX A6000"
      +]
  8. Changed2 schema fields changed
    • changedInput schema / properties / gpu / enum
      Previous value: -[
      -  "H100",
      -  "H200",
      -  "A100",
      -  "B200",
      -  "B300",
      -  "MI300X",
      -  "RTX PRO 6000",
      -  "L40S",
      -  "RTX A6000"
      -]New value: +[
      +  "H100",
      +  "H200",
      +  "A100",
      +  "B200",
      +  "B300",
      +  "RTX PRO 6000"
      +]
    • removedOutput schema / properties / providers / items / properties / gpus / items / properties / in_index
      Removed value: -{
      -  "type": [
      -    "boolean",
      -    "null"
      -  ]
      -}
  9. Changed1 schema field changed
    • changedInput schema / properties / gpu / enum
      Previous value: -[
      -  "H100",
      -  "H200",
      -  "A100",
      -  "B200",
      -  "B300",
      -  "MI300X",
      -  "RTX PRO 6000"
      -]New value: +[
      +  "H100",
      +  "H200",
      +  "A100",
      +  "B200",
      +  "B300",
      +  "MI300X",
      +  "RTX PRO 6000",
      +  "L40S",
      +  "RTX A6000"
      +]
  10. Changed16 schema fields changed
    • changedOutput schema / properties / license / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / note / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / gpus / items / properties / day / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / gpus / items / properties / gpu / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / gpus / items / properties / in_index / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / gpus / items / properties / offers / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / gpus / items / properties / read_at / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / gpus / items / properties / source_url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / gpus / items / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / gpus / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / provider / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / properties / url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / providers / items / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / providers / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedOutput schema / properties / unit / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / updated / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
  11. Changed2 schema fields changed
    • addedOutput schema / properties / providers / items / properties / gpus / items / properties / read_at
      Added value: +{
      +  "description": "When its prices were last read",
      +  "type": "string"
      +}
    • addedOutput schema / properties / providers / items / properties / gpus / items / properties / source_url
      Added value: +{
      +  "description": "Where its prices were read",
      +  "type": "string"
      +}
  12. Added

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this as a safe, idempotent read, so the description is free to add behavioral value — and it does: it explains the lowest/highest/configuration reporting shape and the important branch where a provider outside the index returns only its lowest posted price per GPU. It stops short of describing pagination, freshness, or what happens on an unknown provider string.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Content is front-loaded on the resource and there is no filler, but the opening sentence is a long run-on with stacked parentheticals that take effort to parse. It is dense rather than verbose, and a split into shorter sentences would improve scanability without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 spelled out, yet the description still characterizes the payoff shape. Combined with the enumerated GPU list, both optional parameters, and the out-of-index behavior, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the enum is self-documenting, so the baseline would be 3. The description goes beyond it by explaining the provider parameter's two regimes (indexed provider vs. outside-index provider) and that omitting provider returns all providers, which the schema does not state. The 'page id' alternative for provider is also clarified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and its exact scope: posted on-demand prices per GPU, lowest/highest for the day, plus the index average standardized to a benchmark contract. That is far more precise than a restatement of the name. It does not, however, distinguish itself from close siblings such as get_gpu_prices, get_gpu_market_prices or get_gpu_price_at, so an agent cannot rule those out from the text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is conveyed through example questions ("what does RunPod charge for an H100?", "AWS H100 price") and through the statement that either a provider, a GPU, or both may be supplied. What is missing is explicit routing against the many near-identical sibling price tools and any statement of when not to use this one. The guidance is implied by examples rather than declared.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources