Skip to main content
Glama
Crypto News Sentiment (x402)

Crypto News Sentiment (x402)

Hourly Sentiment History

get_hourly_history

Retrieve past hourly news sentiment readings for a single coin across a chosen time range of up to 30 days, ideal for building research datasets and backtesting sentiment-driven strategies.

Instructions

Past hourly sentiment readings for one coin, oldest first. Paid: $0.05 in
USDC on Base per call, from this MCP server's own CDP wallet.

Range: omit both bounds for the 7 days up to now. With only end, the range
starts 7 days before it; with only start, it runs to now. A reading is
included when start <= observed_at < end. The span can be at most 30 days,
so split longer periods into several calls. Readings are recorded live at
the top of each UTC hour and never backfilled; a missed hour stays missing.

Refused and not charged (returned as an error with charged: false):
- 400: malformed symbol or time, start not before end, or a span over 30 days.
- 404: symbol not in the archive.
- 404 no_readings_in_range: no readings in the range (gives first_reading).
- 404 no_headlines_in_range: every hour in the range had zero matching
  headlines (gives rows_in_range and coverage_7d_pct).
A range with at least one hour of headlines returns all its rows.

For low-coverage coins, check archive_coverage first: its coverage_7d_pct
and first_reading show where data exists. Without CDP keys the tool returns
a no-wallet message and pays nothing. For the current reading use
crypto_sentiment.

Input Schema

NameRequiredDescriptionDefault
endNoISO 8601 timestamp, e.g. 2026-10-13T00:00:00Z (UTC if no offset). start defaults to end minus 7 days; end is exclusive and defaults to now. At most 30 days per call.
startNoISO 8601 timestamp, e.g. 2026-10-13T00:00:00Z (UTC if no offset). start defaults to end minus 7 days; end is exclusive and defaults to now. At most 30 days per call.
symbolYesCrypto ticker, e.g. BTC; uppercased and trimmed before the request. archive_coverage lists the logged symbols.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.6
    • addedInput schema / properties / symbol / description
      Added value: +"Crypto ticker, e.g. BTC; uppercased and trimmed before the request. archive_coverage lists the logged symbols."
  2. Addedv0.1.4

TDQS

A4.9/5.0
Behavior5/5

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

The description adds substantial context beyond annotations: cost of $0.05 USDC per call, wallet requirements, charging behavior on refused requests, live-only recording with no backfill, and the exact 404 cases. These details are essential for a paid external-data tool and are not contradicted by the annotations.

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

Conciseness5/5

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

The description is front-loaded with the purpose, then gives range rules, error behavior, and alternatives in a scannable order. Despite being detailed, every section earns its place for a paid historical-data tool.

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?

Given the rich schema, annotations, and output schema, the description supplies the remaining operational context an agent needs: payment model, wallet dependency, range limits, non-backfilled data, and refusal semantics. Nothing material is missing.

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%, so the schema already documents the parameters well. The description still adds useful range semantics: omitting both bounds means the last 7 days, only end backfills 7 days, only start runs to now, and inclusion is start <= observed_at < end.

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 description states a specific verb and resource: retrieving past hourly sentiment readings for one coin, oldest first. It also distinguishes this historical tool from the sibling crypto_sentiment, which is explicitly described as the tool for the current reading.

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?

It gives explicit range behavior for omitting both bounds, providing only end, or providing only start, plus the 30-day maximum and the instruction to split longer periods. It also names when to use archive_coverage for low-coverage coins and crypto_sentiment for current readings.

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