Open compute-pricing MCP server — daily GPU and inference-token medians, free under CC-BY 4.0.
Pulse MCP demonstrates solid definition quality with well-structured tool schemas, clear naming conventions, and detailed descriptions. All 5 tools follow verb_noun patterns (list_, get_, compare_). Input schemas are complete with proper JSON Schema types, enums, and constraints. Descriptions are substantive (100-250 chars) and include usage guidance. However, output schemas are not documented, responses are returned as opaque JSON text without field-level documentation. Parameter descriptions are present but could be more explicit about data types and ranges. No error handling guidance is visible in tool definitions.
Compare current values across multiple Pulse indices. Use this when the user wants to see, for example, hyperscaler vs neocloud pricing for the same GPU, or one model vs another in the inference token index. Pass an array of slugs; returns a filtered summary.
Fetch the full payload for one Pulse index: metadata, the gated daily headline series, every per-provider observation behind it, and the latest contributing-provider list. Use this when the user wants history, distribution shape (P25/P75), or the underlying provider breakdown for a specific series. Optional `range` filter limits to the last N days.
Pipeline freshness and per-provider collection health. Use this when the user asks 'is Pulse up-to-date?' or before quoting a number to confirm the pipeline isn't degraded. Returns overall status plus per-provider and per-index breakdowns.
Quick lookup: the latest published value for one index, with minimal payload. Use this when the user asks 'what's the price of {GPU} on {provider type}' or 'what's the current Pulse {series} number'. Always quote the as-of date and the source family.
List every published Pulse compute-pricing index with its current value, freshness, methodology version, and status. Use this when the user asks 'what does Pulse track?' or 'what's the current price of GPU compute?' Returns an array; quote the value alongside its source family (hyperscaler / neocloud) and as-of date.
Output schemas not documented. Tools return JSON text responses without field-level documentation, forcing LLMs to infer structure and increasing parsing errors.
No error handling guidance in tool descriptions. Descriptions do not explain what errors can occur, when to retry, or how to recover from failures.
Parameter 'range' in get_series lacks description of what happens when an invalid range is passed or when data is sparse in the requested window.
No pagination or result-limiting guidance. Tools return full datasets without documented limits, risking context window exhaustion for large result sets.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | <=2025-11-25 | v2 |
Tool descriptions use example values ('what does Pulse track?', 'what's the current price of GPU compute?') which LLMs may reuse literally instead of adapting to context.