Skip to main content
Glama

cpu_get_market_index

Get the 24-hour volume-weighted average price and percent change for every resource in one call. Use it to see what the world actually paid, not just asking prices.

Instructions

World price index — one call, no inputs, one row per resource: the 24h volume-weighted average price ($CPU per unit), the 24h percent change, and 24h volume in resource UNITS (not $CPU). A weekly spark series rides along in the JSON block only, never in the text summary — read the trend off changePct instead. This is a SERVER-CACHED AGGREGATE that can run up to an hour behind — do not use it where you need second-fresh data. A null price means NO TRADES settled for that resource in the 24h window — read it as "no trades", never as free or as zero. This answers a different question than cpu_get_markets (the cheapest ask available right now, per hub): that is what you could buy at this instant; this is what the world actually paid, on average, over the last day. The two are never combined into one call — mixing them would read as one price when it is really two. It aggregates settled trades, so a trade stays in the window no matter what became of its lot afterwards — sold out, cancelled, or evicted by the hub owner. History here is never rewritten backwards.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.8.0

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full disclosure burden and succeeds: it reveals the server-cached staleness, defines null price as 'no trades' rather than zero/free, explains that settled trades remain in the window even if the lot was later sold out/cancelled/evicted, and notes the spark series appears only in the JSON block. None of these behaviors are inferable from the schema or tool name.

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?

The purpose is front-loaded in the first sentence, and every subsequent sentence delivers a distinct, decision-relevant fact. However, at roughly eight sentences for a zero-parameter read tool, it is on the verbose side, and the 'never combined into one call' warning partially restates the cpu_get_markets differentiation from the previous sentence.

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?

Despite no output schema, the description equips the agent to interpret the response fully: per-resource row structure, volume unit semantics, reading trends from changePct, null-price handling, and staleness limits. The explicit contrast with cpu_get_markets completes the selection context, so no further lookup is needed to call or interpret this tool 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?

The tool has zero parameters, so the baseline is 4; the description explicitly confirms 'no inputs,' removing any ambiguity about invocation. There are no parameters for the description to elaborate on beyond that.

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

Purpose5/5

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

The opening sentence states exactly what the tool returns — a world price index, one row per resource — and pinpoints the three metrics (24h volume-weighted average price in $CPU per unit, 24h percent change, 24h volume in resource units). It also actively distinguishes itself from the sibling cpu_get_markets by spelling out the different question each answers.

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

Usage Guidelines5/5

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

The description gives an explicit when-not-to-use rule: 'do not use it where you need second-fresh data' because it is a server-cached aggregate that can run an hour behind. It names the alternative (cpu_get_markets), explains the exact difference (cheapest ask right now vs what the world actually paid over the last day), and adds a hard exclusion — the two are never combined into one call.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/projectcpu/project-cpu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server