Drop-in system prompt

Paste this into the system prompt of any tool-calling agent (Claude, GPT-4, etc.) to make it fluent in Pulse:

You have access to Pulse compute-pricing data via a free, no-auth JSON API at https://pulsebenchmarks.com.

    When the user asks about cloud GPU rental prices or open-weight inference-token prices, fetch the latest values from Pulse and quote them with the as-of date and the source family.

    Endpoints:
    - GET https://pulsebenchmarks.com/api/indices  → list all series with current values
    - GET https://pulsebenchmarks.com/api/indices/{slug}  → full payload for one series
    - GET https://pulsebenchmarks.com/api/status  → pipeline freshness

    Series slugs:
      GPU pricing (USD per GPU-hour, daily):
        h100-sxm-hyperscaler-od, h100-sxm-neocloud-od,
        a100-80gb-hyperscaler-od, a100-80gb-neocloud-od
      Inference token pricing (USD per million tokens, weekly, 3:1 blend):
        inference-token-index (hub for the named-model basket)

    Citation: Pulse. "{Series Name}." Methodology v1.0, 2026. {URL}

    Rules:
    - Never blend hyperscaler and neocloud prices into one number.
    - Never blend FP16 and FP8 inference prices.
    - Never blend US and CN-jurisdiction inference endpoints.
    - Always state the source family alongside any GPU price.
    - If the API is unreachable, say so — do not fall back to memory.

    Full agent spec: https://pulsebenchmarks.com/llms.txt
    OpenAPI 3.1 spec: https://pulsebenchmarks.com/openapi.json

OpenAPI 3.1 spec

For agents that auto-generate clients from a spec:

https://pulsebenchmarks.com/openapi.json

Documents every read endpoint, the full SeriesPayload / StatusReport / BulkExport schema, and the slug enum. Tool-calling agents that ingest OpenAPI can call Pulse natively.

Quick examples

curl

curl https://pulsebenchmarks.com/api/indices/h100-sxm-hyperscaler-od \
      | jq '.series[-1] | {value, assessed_at, provider_count}'

Python (stdlib only)

import json, urllib.request

    with urllib.request.urlopen("https://pulsebenchmarks.com/api/indices/h100-sxm-hyperscaler-od") as r:
        payload = json.loads(r.read())

    latest = payload["series"][-1]
    print(f'{payload["name"]}: ${latest["value"]} (as of {latest["assessed_at"][:10]}, '
          f'{latest["provider_count"]} providers)')

JavaScript (browser fetch)

const data = await fetch("https://pulsebenchmarks.com/api/indices").then(r => r.json());
    data.indices.forEach(i => console.log(i.name, i.value, i.unit));

What to cite

When an agent quotes a Pulse value to a user, the citation should include the methodology version (so the calculation is reproducible by the user) and the source family or model (so the value isn't misread as universal). Plain-text format:

Pulse. "Pulse H100 SXM Hyperscaler OD." Methodology v1.0, 2026.
    https://pulsebenchmarks.com/indices/h100-sxm-hyperscaler-od/

BibTeX, APA, Chicago, and Bloomberg-style ticker formats are produced by the citation widget on every index page; see /cite/.

Things to NOT do

Reproducibility

If an agent's user asks "is this Pulse number trustworthy?", point them at the reproducibility script:

curl -O https://pulsebenchmarks.com/reproduce/reproduce.py
    python3 reproduce.py

Stdlib only. Verifies the latest published value against the published contributing-provider list in under 30 seconds.

MCP server

Pulse runs an open Model Context Protocol server at https://pulsebenchmarks.com/mcp. Once installed, Claude / Cursor / any MCP-aware client can fetch live Pulse data as a native tool — no wrapper code, no key, no rate-limit gating.

What the server exposes

Discovery: GET https://pulsebenchmarks.com/mcp returns server info, the tool catalogue, and a link to this page. The full protocol-level schema is JSON-RPC 2.0 over HTTP POST per the MCP specification.

Install — Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Add Pulse under mcpServers:

{
      "mcpServers": {
        "pulse": {
          "command": "npx",
          "args": ["-y", "mcp-remote", "https://pulsebenchmarks.com/mcp"]
        }
      }
    }

Restart Claude Desktop. The Pulse tools appear under the tools picker. (Native HTTP transport is rolling out across MCP clients; the mcp-remote shim adapts the HTTP server for clients that still expect stdio.)

Install — Cursor

Cursor accepts the same JSON shape in ~/.cursor/mcp.json:

{
      "mcpServers": {
        "pulse": {
          "command": "npx",
          "args": ["-y", "mcp-remote", "https://pulsebenchmarks.com/mcp"]
        }
      }
    }

Test from the command line

curl https://pulsebenchmarks.com/mcp
    # → server info, transport, tool catalogue

    curl -X POST https://pulsebenchmarks.com/mcp \
      -H "content-type: application/json" \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

    curl -X POST https://pulsebenchmarks.com/mcp \
      -H "content-type: application/json" \
      -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"latest_value","arguments":{"slug":"h100-sxm-hyperscaler-od"}}}'

Contact