Infrastructure for trading AI agents and their humans — save tokens while getting the highest-quality information about the current news background. Analysis of a large number of open sources, Polymarket, X and Truth. An advanced scoring formula, a system of narratives and a source-quality audit engine.
Four tools with clear, well-structured descriptions (194 - 250 chars, above baseline 194). All tools have explicit input schemas with type definitions and parameter descriptions. Asset parameter is flexible (accepts 'BTC'/'Bitcoin'/'XBT' etc.) and defaults to 'BTC'. Numeric parameters (limit, hours) have documented clamping ranges (1 - 20, 1 - 50, 1 - 8760). Output schemas are documented in code comments. Error handling includes explicit Unsupported exception for unknown assets with recovery guidance. Naming follows verb_noun pattern (get_sentiment, get_narratives, get_sources, get_history). Caveat about sentiment-only analysis is included in responses. Gaps: no tool annotations (readOnlyHint/destructiveHint/idempotentHint), output schemas not formally declared in tool registration, no pagination support for multi-item results (get_narratives/get_sources return arrays without limit enforcement in response structure).
Get historical sentiment readings for an asset over a specified time period. Returns sentiment index values at regular intervals to identify trends and outliers.
Get the full set of narratives driving sentiment for an asset, with example headlines and links. Returns narratives sorted by mass (influence), each with sentiment, agreement score, and supporting headlines.
Get the current news-sentiment index for an asset (Bitcoin, Gold, or Oil). Returns sentiment score on scale -1 (strongly bearish) to +1 (strongly bullish), components breakdown, top narratives, X sentiment, and Polymarket data.
Get the source headlines and links that contributed to the sentiment index for an asset. Returns ranked sources with sentiment scores, publication dates, and URLs.
Output schemas not formally declared in tool registration. Code comments document structure, but MCP tool definitions lack explicit outputSchema JSON Schema blocks. LLMs cannot parse comments to understand return types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All four tools are read-only and idempotent, but this is not declared in the tool definition. Agents cannot infer safety properties without explicit hints.
get_narratives and get_sources accept limit parameters but do not document pagination or total count in response. Large result sets could exceed context window. No next_cursor or total_count field documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Asset parameter accepts flexible input (BTC/Bitcoin/XBT) but error message for Unsupported asset does not list valid options. Recovery guidance incomplete, should return 'Asset not found. Valid assets: BTC, GOLD, OIL.'
Staleness warning (_staleness function) is generated but not guaranteed to be included in all tool responses. Code shows it is called in get_sentiment but integration into other tools is unclear.