Gate News MCP
Server Details
Gate news MCP for crypto news, structured events, announcements, and social sentiment.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- gate/gate-mcp
- GitHub Stars
- 37
- Server Listing
- Gate MCP Server
Available Tools
18 toolsnews_events_explain_market_moveARead-onlyIdempotentInspect
[Read] Explain what drove a crypto asset's price move in a given time window. Returns a concise summary (from real-time Tavily search), the latest high-priority real-time events, and supporting internal event pool items, plus data-completeness status. This tool is a data aggregator; the downstream agent performs the final attribution reasoning. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Target coin, e.g. BTC, ETH. Required at the Tool layer. | |
| lang | No | zh / en. Default zh. | |
| mode | No | auto / price_move / event_impact. Default auto. | |
| query | Yes | User's original question, e.g. 'Why did BTC surge?' | |
| time_range | No | Time window: 30m/1h/2h/4h/24h. Default 2h. |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | Yes | |
| query | Yes | |
| summary | Yes | |
| time_range | Yes | |
| data_status | Yes | |
| duration_ms | Yes | |
| latest_news | Yes | |
| supporting_events | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the bar is low. The description adds meaningful behavior: it is a data aggregator with real-time Tavily search plus internal event pool, returns data-completeness status, 'No account access, no order placement or fund transfers,' and 'Not investment advice.' These disclose boundaries beyond the annotations. No contradiction; the 'Read-only' claim aligns with readOnlyHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Roughly four sentences with the core purpose front-loaded, followed by role clarification ('data aggregator... downstream agent performs final attribution'), then safety disclaimers. Every sentence earns its place; the '[Read]' prefix is slightly redundant with readOnlyHint but harmless. Efficient and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and safety annotations covering read/order/account boundaries, the description covers the essential operational facts: data sources, aggregator role, completeness status, and the non-advice caveat. The only notable gap is no explicit distinction from get_market_move_report/list_market_move_reports, but for a read-only aggregator with a rich output schema this is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (coin, lang, mode, query, time_range) well-documented in the schema including defaults and example values. The description does not add parameter-specific meaning beyond the schema — it only contextualizes the return structure. Per the calibration baseline, 3 is appropriate when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'Explain what drove a crypto asset's price move in a given time window.' It clarifies its role as a data aggregator whose downstream agent performs attribution reasoning, which loosely distinguishes it from report-generating siblings like news_events_get_market_move_report. However, it never explicitly names a sibling to contrast with, and the verb 'Explain' slightly conflicts with the disclosure that the tool only aggregates data rather than producing the explanation. Clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it ('Explain what drove a crypto asset's price move') and describes its output (summary, high-priority events, event pool items, completeness status). Yet it offers no explicit exclusions or named alternatives among the many news_events_/news_feed_/news_prediction_ siblings, leaving an agent to infer the boundary between this aggregator and get_market_move_report or web_search. Usable context, but no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_events_get_event_detailARead-onlyIdempotentInspect
[Read] Full detail for one event_id only, including persisted impact_direction and impact_direction_reason. Filtered event list or timeline -> get_latest_events. Unknown id returns not found. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | Required event_id from get_latest_events items—opaque digest id, not a trading pair slug or headline hash. |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | No | |
| content | No | |
| summary | No | |
| symbols | No | |
| event_id | Yes | |
| strength | No | |
| direction | No | |
| duration_ms | Yes | |
| occurred_at | No | |
| news_coverage | No | |
| impact_analysis | No | |
| impact_direction | No | |
| community_reaction | No | |
| impact_direction_reason | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds valuable context beyond that: persisted impact_direction and reason, not-found behavior, and disclaimers about no account access, no order placement, and not being investment advice. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is compact, front-loaded with the core purpose ('Full detail for one event_id only'), and every sentence adds necessary context: scoping, alternative, error behavior, and safety disclaimers. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an existing output schema, the description covers purpose, usage, error handling, and safety. It doesn't explicitly route to other siblings (like explain_market_move) but that's not critical given the clear event_id context. Overall adequate and complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description already fully documents the event_id parameter (100% coverage) with details like 'opaque digest id, not a trading pair slug'. The description only reinforces that the ID comes from get_latest_events, adding marginal meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns 'Full detail for one event_id only' and explicitly contrasts with get_latest_events ('Filtered event list or timeline -> get_latest_events'). This distinguishes it from the primary sibling while naming the exact resource and operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use get_latest_events for filtered lists/timelines, and implies this tool is for full detail on a specific event_id. Mentions 'Unknown id returns not found' which sets expectations. Does not exhaustively list all sibling alternatives, but the main one is covered clearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_events_get_latest_eventsARead-onlyIdempotentInspect
[Read] Filtered event list or timeline; each row includes event_id and persisted impact_direction/impact_direction_reason. Optional direction filter. One event_id detail -> get_event_detail. Headline/news feed -> search_news. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | Optional comma-separated tickers e.g. BTC,ETH for digest items; not the same as search_news tickers-only heat mode. | |
| limit | No | Page size; default 20, max 100. | |
| cursor | No | Optional pagination cursor. | |
| end_time | No | Absolute end (ISO8601 or Unix sec/ms). Mutually exclusive with time_range. | |
| direction | No | Optional filter on persisted impact_direction: positive / negative / neutral / mixed / unknown / all (default all, no filter). MCP does not re-judge direction. | |
| event_type | No | Optional filter on structured digest event_type. Not search_news headline similarity/heat. | |
| start_time | No | Absolute start (ISO8601 or Unix sec/ms). Mutually exclusive with time_range; pair with end_time or let server fill the other bound. | |
| time_range | No | Relative window for event digest list: 1h / 24h / 7d. Mutually exclusive with start_time/end_time; omit all for last 24h or server default when time filter disabled. Not CPI/Fed macro series—use macro indicator tools. |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | No | |
| count | Yes | |
| items | Yes | |
| limit | Yes | |
| total | Yes | |
| end_time | No | |
| direction | No | |
| event_type | No | |
| start_time | No | |
| time_range | No | |
| duration_ms | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. The description adds that data is public research, not investment advice, and that direction is persisted and not re-judged by MCP, which are valuable behavioral disclosures beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but each sentence adds value, from core purpose to alternatives and caveats. It is front-loaded with the primary function and well-structured, though slightly longer than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 8 optional parameters, an output schema, and 17 siblings, the description provides sufficient context for correct selection and invocation. It covers purpose, alternatives, behavioral constraints, and parameter nuances, leaving no critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters at 100%, so baseline is 3. The description adds disambiguation for 'coin' (different from search_news) and 'time_range' (not macro series), plus clarifies mutual exclusivity and defaults, enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a filtered list of events with event_id and impact fields, and explicitly differentiates from get_event_detail (single event) and search_news (headline feed). The verb and resource are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Providers explicit routing: 'One event_id detail -> get_event_detail' and 'Headline/news feed -> search_news', plus clarifies it is read-only and not for trading. This gives an agent clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_events_get_market_move_reportARead-onlyIdempotentInspect
[Read] Query a stored market-move attribution report by symbol, optional report_id, or optional event_id. Lookup priority is report_id > event_id > latest report for symbol. Returned event/report timestamps are UTC0 unless the field name ends in _utc8. This tool never requests report regeneration and does not expose is_make_new. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Required cryptocurrency symbol, for example BTC or TAIKO; 1-20 characters and normalized to uppercase. | |
| event_id | No | Optional market-move event ID. When report_id and event_id are omitted, returns the latest report for symbol. | |
| report_id | No | Optional report ID for an exact lookup. Takes priority over event_id when both are provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | No | nullable |
| symbol | Yes | |
| summary | No | nullable |
| z_price | No | nullable |
| event_id | Yes | |
| evidence | No | nullable |
| direction | No | nullable |
| report_id | Yes | |
| created_at | No | Report creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. |
| event_time | No | Market-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. |
| updated_at | No | Report update time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. The report-list start_time/end_time bounds filter this field. |
| window_end | No | Analysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. |
| duration_ms | No | MCP-to-service-ai-pe call duration; populated by get_market_move_report. |
| report_info | No | Market-move attribution report in Markdown; null when unavailable or pending. |
| source_type | No | nullable |
| generated_at | No | Report generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. |
| window_start | No | Analysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. |
| report_status | Yes | completed, pending, failed, or not_found. |
| storage_error | No | |
| trigger_label | No | nullable |
| candidate_type | Yes | |
| storage_status | No | |
| window_end_utc8 | No | Analysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset. |
| price_change_pct | No | nullable |
| window_start_utc8 | No | Analysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset. |
| z_price_threshold | No | nullable |
| display_expire_time | No | Report display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. |
| absolute_change_threshold | No | nullable |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, but the description adds meaningful behavioral context: it never triggers report regeneration, does not expose is_make_new, follows a UTC0 timestamp convention for field names not ending in _utc8, and explicitly states it is read-only public research data with no account access or order placement. This goes well beyond the annotations and fully discloses the tool's operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: starts with the primary action, then details the lookup priority, timestamp convention, constraints, and disclaimers. Each sentence serves a purpose, and the most critical information (query and priority) is front-loaded. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema and full parameter documentation, the description covers all necessary operational details: lookup priority, timezone handling, non-regeneration, and safety constraints. An agent has everything needed to call this tool correctly without missing information about parameter interactions or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so all parameters are documented. The description adds value by clarifying the interaction between the optional params: the lookup priority and the fallback to the latest report when both are omitted. It also notes that symbol is normalized to uppercase (already in schema) but confirms the required nature. The description meaningfully supplements the schema's static descriptions with dynamic behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Query a stored market-move attribution report by symbol, optional report_id, or optional event_id.' It names the specific resource and the lookup priority, distinguishing it from sibling tools like list_market_move_reports or explain_market_move. The verb 'Query' and the resource 'market-move attribution report' leave no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains its own lookup priority (report_id > event_id > latest) and states it never requests regeneration, but it does not explicitly contrast this tool with siblings like news_events_list_market_move_reports or explain_market_move. When to use this versus alternatives is only implied by the naming and the behavior, not stated outright.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_events_list_market_move_reportsARead-onlyIdempotentInspect
[Read] List stored market-move attribution reports for one symbol, filtering by an inclusive UTC0 updated_at range and sorting results by event_time descending. Reports may be updated after their market event, so updated_at can be later than event_time. Timezone-less inputs are UTC0; inputs with an explicit offset are converted to UTC0 before the read-only service-ai-pe query. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum reports to return; omitted or 0 defaults to 20, otherwise allowed range is 1-100. | |
| symbol | Yes | Required cryptocurrency symbol, for example ETH; 1-20 characters and normalized to uppercase. | |
| end_time | Yes | Required inclusive upper bound for report updated_at in UTC0. Accepts ISO 8601 or YYYY-MM-DD HH:MM:SS; a value without a timezone is interpreted as UTC0, an explicit offset is converted to UTC0, and the value must not precede start_time. | |
| start_time | Yes | Required inclusive lower bound for report updated_at in UTC0. Accepts ISO 8601 or YYYY-MM-DD HH:MM:SS; a value without a timezone is interpreted as UTC0, and an explicit offset is converted to UTC0 before calling service-ai-pe. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | ready, generating, not_found, or failed. |
| reports | Yes | Reports whose updated_at is within the requested inclusive UTC0 range, sorted by event_time descending. updated_at may be later than event_time because a generated report can be updated again. |
| trace_id | Yes | |
| duration_ms | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint), the description discloses key behaviors: 'Reports may be updated after their market event, so updated_at can be later than event_time,' timezone handling ('Timezone-less inputs are UTC0; inputs with an explicit offset are converted to UTC0'), and the read-only public nature. These details are not captured in the schema or annotations and meaningfully inform the agent about side effects and data semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise despite covering multiple aspects: purpose, filtering, sorting, timezone behavior, update-after-event nuance, and safety disclaimers. It is front-loaded with the core action and immediately followed by important edge-case behavior. Every sentence contributes value; there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema is present (so return structure is covered) and annotations cover safety/idempotency, the description fills all remaining gaps: it explains timezone conversion, inclusive bounds, sorting, the relationship between updated_at and event_time, and the read-only nature. An agent has everything needed to correctly invoke the tool without ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds contextual meaning about the parameters (e.g., inclusive range, updated_at semantics) but repeats what the schema already states for start_time and end_time. It does not add new parameter-level information beyond what the schema provides, so no higher score is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List stored market-move attribution reports for one symbol, filtering by an inclusive UTC0 updated_at range and sorting results by event_time descending.' This precisely distinguishes it from sibling tools like news_events_get_market_move_report (which fetches a single report) and news_events_explain_market_move (which explains events). The scope, filter, and sort behavior are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about what the tool does and its read-only, non-advice nature, but it does not explicitly name alternative tools or state when to use this vs. a sibling like news_events_get_market_move_report. The guidance is implied by the name and purpose, but no explicit when/when-not guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_feed_get_exchange_announcementsARead-onlyIdempotentInspect
[Read] Venue-published exchange notices: listings, delistings, maintenance. Media rumors or general crypto headlines -> search_news. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Window end Unix sec inclusive; forwarded downstream and filtered locally. | |
| coin | No | Comma-separated tickers; omit if empty. | |
| from | No | Window start Unix sec; omit if <= 0; MCP also filters locally after fetch. | |
| limit | No | Max rows; omit if unset or <= 0; cap 100 when set. | |
| query | No | Optional text filter on official venue notices; omit if empty. For general crypto media headlines use search_news—not a substitute for venue-published listing API. | |
| exchange | No | Venue id for API platform; used when platform is empty; not merged with query. | |
| platform | No | URL param platform; wins over exchange; if empty falls back to exchange. | |
| announcement_type | No | listing / delisting / maintenance / all. Omit or unknown value is treated as all (no type filter). |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| coin | No | |
| from | No | |
| count | Yes | |
| items | Yes | |
| limit | No | |
| query | No | |
| total | Yes | |
| exchange | No | |
| platform | No | |
| duration_ms | Yes | |
| announcement_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds value by stating 'Read-only public research data', 'No account access, no order placement or fund transfers', and 'Not investment advice'. These disclosures go beyond the boolean hints and give the agent concrete behavioral boundaries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The primary purpose is front-loaded, followed by the exclusion for search_news and then safety disclaimers. Every clause earns its place, and the description avoids redundancy with the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with a complete output schema and full parameter descriptions, the description covers everything an agent needs to know: what it does, when to use it, alternatives, and behavioral constraints. The presence of an output schema means return format details are already structured, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the 8 parameters is well-documented in the schema itself. The description does not add extra parameter semantics beyond what the schema provides, but it does reinforce the query parameter's distinction from search_news indirectly. Baseline 3 is appropriate since the schema handles parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific resource (venue-published exchange notices) and lists the types (listings, delistings, maintenance). It explicitly differentiates from search_news, naming the alternative for media rumors or general headlines. This distinguishes it from the sibling tools without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: for venue-published notices, and when not to use it (for media rumors/general crypto headlines, use search_news). Also clarifies the tool's read-only nature and that it cannot place orders or transfer funds, which is essential decision-making context for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_feed_get_hot_topicsARead-onlyIdempotentInspect
[Read] Get the top 2-4 social discussion themes for one coin over the latest 4h, including direction, influence, sentiment, platforms, and representative evidence posts. For arbitrary social search use search_ugc; for X/Twitter-only narrative research use search_x. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Required non-empty cryptocurrency ticker, for example ETH. Leading and trailing whitespace is removed and the value is normalized to uppercase. Unknown or no-data tickers may return an empty result with hide_reason=no_data; no coin-dictionary validation is performed. | |
| limit | No | Number of hot topics to return. Default 4; allowed range 2 to 4. | |
| window | No | Aggregation window. Only 4h is currently supported; default 4h. | |
| platforms | No | Comma-separated social platforms; default all. Supported: all, gate_square, binance_square, twitter, telegram, youtube, reddit, discord. all cannot be combined with another platform. |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | Yes | |
| topics | Yes | Two to four qualified topics, or an empty array when evidence is insufficient. |
| window | Yes | |
| trace_id | No | |
| duration_ms | Yes | |
| hide_reason | Yes | no_data or insufficient_evidence when topics should be hidden; null when displayable. |
| generated_at | Yes | Upstream generation time as Unix seconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds beyond that: 'Unknown or no-data tickers may return an empty result with hide_reason=no_data' and 'leading and trailing whitespace is removed...normalized to uppercase.' It also discloses 'No account access, no order placement or fund transfers.' This adds meaningful behavioral context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the primary action, then alternatives, then annotations-aligned caveats. It is slightly longer than strictly necessary (additional disclaimers like 'Not investment advice'), but each sentence serves a purpose. No redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values are covered there. The description covers purpose, scope, alternatives, safety (read-only), and edge-case behavior (no-data handling). For a tool with rich annotations and complete parameter documentation, nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are thoroughly documented in the schema. The tool description does not add parameter-specific meaning beyond what the schema provides (e.g., it mentions 'one coin' and '4h' but these are already in schema). Per the baseline rule, score 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('top 2-4 social discussion themes for one coin over the latest 4h') with clear scope and output contents. It explicitly names sibling alternatives (search_ugc, search_x) and explains when to use them instead, making differentiation immediate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides alternatives: 'For arbitrary social search use search_ugc; for X/Twitter-only narrative research use search_x.' This clearly tells the agent when NOT to use this tool and points to the correct sibling. It also adds context about read-only nature, which reinforces appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_feed_get_mention_burstARead-onlyIdempotentInspect
[Read] Get a coin's 24h multi-platform social mention burst signal, growth, sentiment direction, platform breakdown, and display eligibility. For general sentiment ratios and sample tweets use get_social_sentiment; for individual social discussions use search_ugc. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Required non-empty cryptocurrency ticker, for example BTC. Leading and trailing whitespace is removed and the value is normalized to uppercase. Unknown or no-data tickers may return an empty result with hide_reason=no_data; no coin-dictionary validation is performed. | |
| window | No | Aggregation window. Only 24h is currently supported; default 24h. | |
| platforms | No | Comma-separated social platforms; default all. Supported: all, gate_square, binance_square, twitter, telegram, youtube, reddit, discord. all cannot be combined with another platform. |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | Yes | |
| window | Yes | |
| is_burst | Yes | True when the upstream burst thresholds for baseline, sample size, and growth are all met. |
| trace_id | No | |
| duration_ms | Yes | |
| growth_rate | Yes | Weighted mention growth versus the previous 24h; null when no baseline exists. |
| hide_reason | Yes | Why the signal should be hidden: no_data, insufficient_baseline, insufficient_sample, or not_burst; null when displayable. |
| display_color | Yes | Display color generated by the upstream service: red, green, or neutral. |
| evidence_summary | Yes | Human-readable evidence summary; null when unavailable. |
| platform_breakdown | Yes | |
| sentiment_direction | Yes | bullish, bearish, or neutral. |
| current_mention_count | Yes | |
| previous_mention_count | Yes | |
| current_weighted_mention_count | Yes | |
| previous_weighted_mention_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description reinforces this with 'Read-only public research data' and adds safety context not present in annotations: 'No account access, no order placement or fund transfers. Not investment advice.' This is extra value beyond what annotations provide. It does not contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, zero filler. The purpose is front-loaded, alternatives are given next, and safety disclaimers finish. Every sentence earns its place. The structure is logical: what → when else → safety. Perfectly sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main function, the specific output facets, clear routing to siblings, and safety boundaries. An output schema is present, so return structure is handled there. The mention of 'display eligibility' and 'platform breakdown' gives agents a preview of the response without overpromising. Nothing an agent needs to decide whether to call this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (coin, window, platforms) has a thorough, standalone description. The tool description itself does not add parameter-level detail, but with full schema coverage the baseline is 3 and no compensation is required. The description's mention of 'platform breakdown' implicitly ties to the platforms parameter, but that's not substantial added semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Get a coin's 24h multi-platform social mention burst signal, growth, sentiment direction, platform breakdown, and display eligibility.' It clearly lists the distinct outputs, and the sibling tools it names (get_social_sentiment, search_ugc) make the differentiation obvious. An agent can immediately tell this is the mention-burst tool, not a general sentiment or discussion search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is given: 'For general sentiment ratios and sample tweets use get_social_sentiment; for individual social discussions use search_ugc.' This tells the agent when to pick an alternative. It also frames the query context ('24h multi-platform social mention burst') and includes caveats like 'No account access, no order placement or fund transfers,' which sets clear boundaries on legitimate use. No inference is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_feed_get_social_sentimentARead-onlyIdempotentInspect
[Read] Aggregate per-coin social sentiment for a time range: overall sentiment, positive/negative split, mention count, and sample tweets. X/Twitter post search or tweet-level evidence -> search_x. Multi-platform social thread search -> search_ugc. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | Tickers e.g. BTC or BTC,ETH for per-coin aggregates: overall sentiment, positive/negative split, mention count, sample tweets (top_tweets order); omit defaults to BTC server-side. X/Twitter post search or tweet-level evidence -> search_x. Multi-platform social thread search -> search_ugc. | |
| time_range | No | 1h / 24h (default) / 7d window for per-coin sentiment aggregation (overall sentiment, positive/negative split, mention count). |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | No | |
| time_range | No | |
| top_tweets | Yes | |
| duration_ms | Yes | |
| mention_count | Yes | |
| sentiment_label | Yes | |
| overall_sentiment | Yes | |
| sentiment_label_raw | No | |
| sentiment_distribution | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the core safety profile is known. The description adds useful context beyond annotations: 'No account access, no order placement or fund transfers' and 'Not investment advice', which prevents misuse. It also states 'Read-only public research data', reinforcing and extending the annotation. No contradictions; the description complements annotations well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the core function and outputs, then provides routing guidance, then disclaimers. It is moderately concise with no wasted sentences, though it duplicates the routing guidance from the schema (which is acceptable but slightly redundant). Structure is logical and an agent can grasp the purpose quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only query with two optional parameters and an output schema, the description is complete from an agent's perspective: it states what it does, what it returns, when to use alternatives, and safety constraints. It even disclaims investment advice. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (coin and time_range) already have thorough descriptions in the input schema, including examples (BTC or BTC,ETH) and default values. The description itself adds little new parameter semantics—it repeats the routing statement already present in the coin parameter description. Baseline 3 is appropriate because the schema does the heavy lifting and the description does not conflict or add meaningful additional detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool aggregates per-coin social sentiment for a time range and lists the specific outputs (overall sentiment, positive/negative split, mention count, sample tweets). It also distinguishes itself from sibling tools by explicitly routing X/Twitter post search to search_x and multi-platform thread search to search_ugc, so an agent can immediately tell them apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: it names sibling tools (search_x, search_ugc) and the specific conditions (tweet-level evidence vs. multi-platform threads). It also states that it is read-only public research data and disclaims investment advice, which clarifies appropriate contexts. No ambiguity remains about when to select this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_feed_search_newsARead-onlyIdempotentInspect
[Read] Search the platform news index for headlines, news items, and briefing-style result lists. Open-web research with synthesized answers and cited external pages -> web_search. Event catalog with event_id -> get_latest_events. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | Comma-separated tickers mapped to API tickers; sent only when query is empty (omitted when query is set). Heat mode supports news-item / briefing-style lists on the platform index—not open-web synthesis (web_search). | |
| lang | No | MCP-only filter on metadata.lang or top-level lang; not sent to upstream API. | |
| page | No | Page number mapped to API page; default 1. | |
| limit | No | Page size mapped to API page_size; default 10, max 100. | |
| query | No | Non-empty: similarity mode (no tickers; default similarity_score 0.6). Empty: heat mode (top_total_score 1; optional coin/tickers). Platform news index for headlines, news items, and briefing-style result lists—not open-web research with synthesized answers and cited external pages (web_search) or event catalog with event_id (get_latest_events). | |
| sort_by | No | e.g. time (default); similarity mode with top_total_score 0 may still apply MCP local time sort. | |
| end_time | No | End time mapped to API to (Unix sec). Ignored when time_range is set. End-only defaults start to 24h before end. | |
| platform | No | Source platform name for API platform (e.g. panews, theblock). | |
| start_time | No | Start time (ISO8601 or Unix sec/ms) mapped to API from. Ignored when time_range is set. Start-only defaults end to now; both empty defaults last 7d when time_range is also empty. | |
| time_range | No | Optional preset window: 1h / 24h (default when preset value invalid) / 7d / 30d. When non-empty, overrides start_time/end_time and maps to API from/to (Unix epoch seconds). Omit to use start_time/end_time or implicit last-7d when both are empty. | |
| platform_type | No | Legacy: maps to API platform when platform is omitted; omit platform when value is all. | |
| top_total_score | No | Only when query empty (0 or 1); non-empty query forces similarity mode. | |
| similarity_score | No | Similarity threshold; default 0.6 when query set; when query empty only sent if explicitly set. |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | Yes | |
| coin | No | |
| from | Yes | |
| lang | No | |
| page | No | |
| count | Yes | |
| items | Yes | |
| limit | No | |
| query | No | |
| total | Yes | |
| sort_by | No | |
| end_time | No | |
| platform | No | |
| page_size | No | |
| start_time | No | |
| time_range | No | |
| duration_ms | Yes | |
| platform_type | No | |
| top_total_score | Yes | |
| similarity_score | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds value by stating there is no account access, no order placement or fund transfers, and that it is not investment advice. This goes beyond what annotations provide, though it doesn't detail response format—which is covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise—two sentences—and front-loads the core purpose, then adds routing and warnings. No wasted words; every sentence earns its place, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 13 parameters and an output schema, the description covers purpose, sibling differentiation, and behavioral constraints. It doesn't need to explain parameters because the schema does that, and the output schema covers return values. It is complete for the description's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameter descriptions are very detailed (e.g., query explains similarity vs heat mode, coin explains when it is sent). The description itself doesn't add parameter-level semantics but relies on the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches the platform news index for headlines, news items, and briefing-style result lists. It uses a specific verb and resource, and explicitly differentiates from web_search and get_latest_events, so an agent can tell them apart without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names alternatives and the conditions that route to them: open-web research with synthesized answers goes to web_search, and event catalog with event_id goes to get_latest_events. Also clarifies it's read-only research with no account access or orders, setting clear context for when to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_feed_search_ugcARead-onlyIdempotentInspect
[Read] Reddit/Discord/Telegram/YouTube-style UGC: non-empty query uses vector API; coin without query uses OpenSearch. Both empty invalid. X/Twitter narrative -> search_x; headlines -> search_news. Not macro economic statistics; not structured event list -> get_latest_events. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | Ticker filter; with query filters results; without query required with index for OpenSearch list mode. | |
| limit | No | Max items; default 10, max 50. | |
| query | No | Optional NL query; non-empty uses vector search. May combine with coin; both empty is invalid. | |
| domain | No | UGC topical bucket: crypto / defi / finance / macro / ai_agent / web3_dev / all (default all). macro = social discussion about macro themes, not CPI/Fed/unemployment statistics (use macro data tools) or get_latest_events. | |
| channel | No | Optional source channel e.g. r/ethereum or handle. | |
| sort_by | No | relevance (default) / upvotes / recent. | |
| platform | No | reddit / discord / telegram / youtube / all (default all). | |
| time_range | No | 1h / 24h / 7d (default) / 30d / all. | |
| quality_tier | No | A (default, high quality) / B / all. |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | No | |
| count | Yes | |
| items | Yes | |
| limit | No | |
| query | No | |
| total | Yes | |
| domain | No | |
| channel | No | |
| sort_by | No | |
| platform | No | |
| time_range | No | |
| duration_ms | Yes | |
| quality_tier | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already claim readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only public research data. No account access, no order placement or fund transfers.' It adds the dual-API behavior (vector vs OpenSearch) and the 'Not investment advice' disclaimer beyond what annotations provide. Effortless consistency with annotations, adding context rather than repeating them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph, but every sentence earns its place: operation type, modes, routing rules, exclusions, and safety notes. It's front-loaded with the [Read] tag and purpose. Slightly heavy as one block, but information density-to-length ratio is high and there is zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation. The description covers the core operational modes, exclusions, sibling routing, and safety posture. For a 9-parameter tool with a rich schema, this is reasonably complete; the only minor gap is that it doesn't spell out behavior when query is empty with no coin, but the schema notes 'both empty is invalid'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema carries the burden of documenting all 9 parameters. The description complements by explaining the query/coin interaction modes but doesn't detail individual parameter syntax; that's left to a fully-covered schema. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (UGC: Reddit/Discord/Telegram/YouTube-style). It distinguishes itself from siblings explicitly: 'X/Twitter narrative -> search_x; headlines -> search_news', making the boundary clear without needing to open other schemas. The [Read] prefix reinforces the operation type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Exceptionally explicit. It describes the two operational modes ('non-empty query uses vector API; coin without query uses OpenSearch'), states invalid states ('Both empty invalid'), and gives routing guidance to alternatives ('search_x', 'search_news', 'get_latest_events'). No ambiguity about when or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_feed_search_xARead-onlyIdempotentInspect
[Read] Search and analyze X/Twitter discussions for a topic, with tweet-level evidence and cited posts. Aggregate social mood, sentiment score, or positive/negative split -> get_social_sentiment. Open-web pages -> web_search. Multi-platform social search -> search_ugc. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Lookback days when time_range omitted; omitted or <=0 treated as 1 (24h); min 1 when explicitly set. | |
| lang | No | Answer language: zh (default) / en / auto. | |
| model | No | Override configured Grok model id. | |
| query | No | X/Twitter topic for tweet-level evidence and cited posts; English recommended. Empty returns no results. Aggregate social mood, sentiment score, or positive/negative split -> get_social_sentiment. Open-web pages -> web_search. Multi-platform social search -> search_ugc. | |
| time_range | No | Preferred recency window for search_x: 1h / 24h (default) / 7d. Takes precedence over days when set. | |
| allowed_handles | No | Include these X handles without @, max 10; mutually exclusive with excluded_handles. | |
| excluded_handles | No | Exclude these handles, max 10. | |
| enable_image_understanding | No | Analyze images in posts. | |
| enable_video_understanding | No | Analyze video in posts. |
Output Schema
| Name | Required | Description |
|---|---|---|
| days | No | |
| lang | No | |
| count | Yes | |
| items | Yes | |
| model | No | |
| query | No | |
| total | Yes | |
| source | No | |
| content | Yes | Same as summary for legacy clients; tweet-level X/Twitter evidence—not headline index (search_news). |
| summary | Yes | xAI: synthesized narrative from X/Twitter discussions with tweet-level evidence (same as content; always present). Not open-web synthesis with cited external pages (web_search). Not per-coin sentiment KPIs over a time range (get_social_sentiment). |
| to_date | No | |
| from_date | No | |
| disclaimer | No | Fixed disclaimer on successful xAI response. |
| key_points | Yes | xAI: bullet points from cited posts; empty array if none. Not briefing-style platform news lists (search_news). |
| duration_ms | Yes | |
| cited_tweets | Yes | xAI: tweet-level evidence and cited posts; fields depend on model and citations. |
| allowed_handles | No | |
| sentiment_label | Yes | xAI: bullish / bearish / neutral for the discussion; empty if unknown. Not per-coin sentiment label KPIs (get_social_sentiment). |
| sentiment_score | No | xAI: 0-100 tone for this X/Twitter topic; JSON null if unknown; pairs with sentiment_label. Not per-coin aggregate positive/negative split (get_social_sentiment). |
| excluded_handles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds critical behavioral context beyond these: it clarifies the tool accesses public research data only, does not involve account access or trading, and explicitly disclaims investment advice. This goes beyond the annotations and sets clear expectations for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (about 4 sentences), front-loads the core purpose, and then efficiently lists alternatives and safety constraints. Every sentence earns its place without redundancy or fluff, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 optional parameters, an output schema, and rich annotations, the description is complete. It clearly states what the tool does, its scope, its exclusions, and how it differs from siblings. The output schema covers return values, and the annotations cover safety/read-only aspects, so nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 9 parameters thoroughly. The description adds minimal parameter-level meaning—it mentions the query is 'for a topic' and aggregates sentiment, but these are largely redundant with the schema's own parameter descriptions. Baseline 3 is appropriate when the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search and analyze') with a clear resource (X/Twitter discussions) and scope ('for a topic, with tweet-level evidence and cited posts'). It distinguishes itself from siblings by explicitly naming get_social_sentiment, web_search, and search_ugc as alternatives for different needs, leaving no ambiguity about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use vs. when-not-to-use guidance: it directs aggregate sentiment tasks to get_social_sentiment, open-web pages to web_search, and multi-platform search to search_ugc. It also states the tool's limitations ('Read-only public research data. No account access, no order placement or fund transfers'), giving the agent clear decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_feed_web_searchARead-onlyIdempotentInspect
[Read] Search the open web and return a synthesized answer with cited external pages. Built-in headline lookup, news-item search, or briefing-style news list -> search_news. X/Twitter-only discussion or tweet evidence -> search_x. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | Optional ticker or project (e.g. BTC, ETH) to focus the open-web synthesized answer—not platform news index tickers (search_news). | |
| lang | No | Answer language: zh (default) / en / auto. | |
| mode | No | Answer length: analysis (default, fuller synthesized text) or brief (~100 chars). Not chart/indicator technical analysis (RSI/MACD). | |
| limit | No | Max cited external pages in the answer; default 5, max 10. | |
| query | No | Required NL question: search the open web and return a synthesized answer with cited external pages—not built-in headline lookup, news-item search, or briefing-style news list (search_news), nor X/Twitter-only discussion or tweet-level evidence (search_x). | |
| time_range | No | Recency window for open-web synthesis with cited external pages: 1h / 24h (default) / 7d / 30d. Not DeFi/TVL dashboard metrics (use platform-metrics tools). |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | No | |
| lang | No | |
| mode | No | |
| count | Yes | |
| items | Yes | |
| model | No | |
| query | No | |
| total | Yes | |
| source | No | |
| summary | Yes | |
| disclaimer | No | |
| key_points | Yes | |
| time_range | No | |
| duration_ms | Yes | |
| cited_sources | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. The description adds extra context beyond annotations: 'No account access, no order placement or fund transfers. Not investment advice.' This goes beyond generic read-only declarations. However, it doesn't mention rate limits or authentication details, but given the strong annotation coverage, a 4 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences (plus the [Read] prefix) and front-loads the primary purpose. Every sentence serves a purpose: first states what it does, second routes to alternatives and adds constraints. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description doesn't need to explain return values. All 6 parameters are documented with useful details. Usage guidance, exclusions, and safety disclaimers are covered. Nothing an agent needs to call the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for each parameter. The descriptions add meaning beyond the schema by disambiguating from siblings (e.g., coin: 'not platform news index tickers (search_news)'). The description itself also reinforces the synthesized-answer behavior. This exceeds the baseline 3 for full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Search the open web and return a synthesized answer with cited external pages.' It also explicitly distinguishes from siblings by pointing to search_news and search_x for alternative use cases. An agent can clearly identify what this tool does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use guidance: 'Built-in headline lookup, news-item search, or briefing-style news list -> search_news. X/Twitter-only discussion or tweet evidence -> search_x.' Also includes context like 'Read-only public research data' and disclaimers about account access and investment advice, providing clear boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_prediction_get_event_signalARead-onlyIdempotentInspect
[Read] Single event signal from dws_external_event_signal_hf by event_ref (venue:venue_event_id). window 1h/24h/7d (default 24h). Returns outcome_probabilities, volume_flow, directional_context, optional markets[] (default include_markets=true). depth_summary always null—use get_market_orderbook for live depth. daily_ranking when rank index configured. Discover event_ref -> search_events. include_orderbook_summary ignored. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| venue | No | Optional; each non-empty value must equal event_ref venue or invalid_param. | |
| window | No | Recency filter on part_hour; default 24h. Allowed: 1h, 24h, 7d (case-insensitive). | |
| event_ref | Yes | Required. venue:venue_event_id (split on first colon; id may contain more colons). Discover via search_events. | |
| include_markets | No | Omitted or null defaults true. false omits markets[]; true parses embedded markets or enriches from predictionMarketIndex. | |
| include_orderbook_summary | No | Deprecated and ignored; depth_summary is always null—use get_market_orderbook. |
Output Schema
| Name | Required | Description |
|---|---|---|
| window | No | |
| markets | No | |
| partial | Yes | |
| duration_ms | Yes | |
| signal_time | Yes | |
| volume_flow | Yes | |
| daily_ranking | No | nullable |
| depth_summary | Yes | nullable |
| event_identity | Yes | |
| missing_sources | Yes | |
| source_data_status | Yes | |
| directional_context | Yes | |
| outcome_probabilities | Yes | |
| cross_venue_divergence | No | nullable |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety. The description adds further context: it is public research data, involves no account access, order placement, or fund transfers, and explicitly states 'Not investment advice'. It also discloses conditional behavior (daily_ranking only when rank index configured) and that include_orderbook_summary is ignored. This goes beyond the annotation set but doesn't fully exhaust every behavioral nuance given the rich annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact single paragraph that front-loads the core purpose before listing outputs and caveats. Every sentence adds distinct information: primary resource, window behavior, return fields, depth disclaimers, discovery path, deprecations, and legal disclaimers. It is efficient but slightly dense, reading more like a specification than a prose explanation, which slightly reduces readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description appropriately skips return-type details. It covers all non-schema context: the window options, default behavior for include_markets, the null depth_summary and the proper alternative, the conditional daily_ranking, the discovery route for event_ref, the deprecated parameter, and the read-only/public nature. Nothing essential for calling this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema: it clarifies the event_ref format (split on first colon), specifies the window allowed values, states the default for include_markets, and notes that include_orderbook_summary is deprecated/ignored. This extra explanation enhances parameter understanding without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool reads a single event signal from a specific table (dws_external_event_signal_hf) keyed by event_ref in the format venue:venue_event_id. It lists the primary output fields and explicitly contrasts with get_market_orderbook for depth and search_events for discovery, distinguishing it from all sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear guidance is provided: when to discover event_ref via search_events and when to use get_market_orderbook for live depth instead of this tool (since depth_summary is always null). It also notes that include_orderbook_summary is ignored, steering agents away from a parameter that won't affect behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_prediction_get_fastest_rising_rankingARead-onlyIdempotentInspect
[Read] Daily venue/overall ranking by probability rise (UTC rank_date). Optional venue[], category, status (same as volume_delta ranking). Drops rows missing open_mid_probability_utc or probability_delta_today. Requires predictionRankIndex. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size; default 20, max 100. | |
| venue | No | Optional venue filter. Allowed: polymarket, predict_fun. | |
| status | No | Optional status filter on rank index. Allowed: active, closed, resolved, all. Defaults to active. | |
| category | No | Optional category filter: exact term on rank index field category; omit or all to disable. | |
| date_utc | No | UTC date in YYYY-MM-DD. Defaults to today_utc. |
Output Schema
| Name | Required | Description |
|---|---|---|
| overall | Yes | |
| partial | Yes | |
| by_venue | Yes | |
| duration_ms | Yes | |
| generated_at | Yes | |
| rank_date_utc | Yes | |
| missing_sources | Yes | |
| excluded_reasons | Yes | |
| source_data_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses important behavior: rows missing open_mid_probability_utc or probability_delta_today are dropped, predictionRankIndex is required, and the tool is public research data with no account access or trading capabilities. This gives the agent concrete expectations beyond safety flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core '[Read]' purpose and ranking metric. Every sentence contributes distinct value: filter semantics, row-dropping behavior, prerequisite index, read-only nature, and disclaimer. No filler or redundant restatement of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only ranking tool with optional parameters and an output schema, the description is complete: it states the prerequisite index, data filtering behavior, scope of access, and the ranking basis. The output schema covers return values, so no additional output explanation is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the structured schema already documents all five parameters. The description adds only a reference that filters match volume_delta ranking and a UTC date context, which is useful but not necessary to disambiguate the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning a daily ranking sorted by probability rise, with optional venue/category/status filters. It distinguishes itself from the sibling volume_delta_ranking by naming the sorting metric and explicitly referencing that sibling for filter semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the ranking is by probability rise and noting that optional filters are the same as volume_delta ranking. However, it does not explicitly state when to choose this tool over alternatives or provide exclusions, leaving the agent to infer when it is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_prediction_get_market_orderbookARead-onlyIdempotentInspect
[Read] Live current order book only (mode=current). depth 1-20 (default 20). polymarket: market_id=venue_market_id; needs opensearch.predictionMarketIndex for token lookup (else not_implemented); yes/no CLOB /book in parallel—partial if one side fails, tool error only if both fail. predict_fun: official numeric market_id (not polymarket ids); needs predictFunAPIKey—empty/missing config returns partial_not_configured (no HTTP); API/parse errors return partial (not internal); 404 resource_not_found. Rejects history/granularity/time/page_token. snapshot_time/book_levels/best_* may be null when partial. Event list/signal -> search_events / get_event_signal. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Empty or current only (default current). history and other values rejected. | |
| depth | No | yes_bids/yes_asks top-N levels; default 20; allowed 1-20 inclusive; out of range invalid_param. | |
| venue | Yes | Required. polymarket or predict_fun. polymarket needs predictionMarketIndex; predict_fun needs predictFunAPIKey (else partial_not_configured, not a tool error). | |
| end_time | No | Unsupported; if set, request is rejected. | |
| market_id | Yes | Required. polymarket: venue_market_id in dws_prediction_market_hf (token lookup). predict_fun: official numeric id (e.g. 356640), not polymarket venue_market_id. | |
| page_token | No | Unsupported; if set, request is rejected. | |
| start_time | No | Unsupported; if set, request is rejected. | |
| granularity | No | Unsupported; if set, request is rejected. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | |
| venue | Yes | |
| partial | Yes | |
| market_id | Yes | |
| source_api | Yes | |
| book_levels | Yes | nullable |
| duration_ms | Yes | |
| snapshot_time | Yes | nullable |
| missing_sources | Yes | |
| source_data_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only/idempotent/destructive hints, but the description adds substantial behavior: partial failure modes (one side of CLOB fails), configuration dependencies (opensearch.predictionMarketIndex, predictFunAPIKey), error codes (partial_not_configured, resource_not_found), null fields when partial, and rejection of unsupported params. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence carries operational information. It front-loads the core purpose and then methodically covers venue specifics, errors, and safety. No fluff, but the density might overwhelm some agents; still appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, venue-specific prerequisites, error handling, rejected parameters, alternative tools, and safety disclaimers. With an output schema present, nothing an agent needs to invoke and interpret the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter already well-documented (mode defaults, depth range, venue requirements, market_id types). The description mostly reiterates these points (e.g., 'predict_fun needs predictFunAPIKey') rather than adding new parameter-level insight. It meets the baseline but doesn't elevate above it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with '[Read] Live current order book only' — a specific verb, resource, and scope. It differentiates itself from event/signal tools by naming alternatives ('Event list/signal -> search_events / get_event_signal') and clarifies it is read-only. No ambiguity about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when NOT to use it (history/granularity/time rejected) and points to alternatives for event list/signal. However, it doesn't name a specific tool for historical order book data, leaving a small gap for that use case. Overall the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_prediction_get_volume_delta_rankingARead-onlyIdempotentInspect
[Read] Daily venue/overall ranking by volume delta (UTC rank_date). Optional venue[], category (exact term on rank index), status (active/closed/resolved/all; default active). Requires opensearch.predictionRankIndex. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size; default 20, max 100. | |
| venue | No | Optional venue filter. Allowed: polymarket, predict_fun. | |
| status | No | Optional status filter on rank index. Allowed: active, closed, resolved, all. Defaults to active. | |
| category | No | Optional category filter: exact term on rank index field category; omit or all to disable. | |
| date_utc | No | UTC date in YYYY-MM-DD. Defaults to today_utc. |
Output Schema
| Name | Required | Description |
|---|---|---|
| overall | Yes | |
| partial | Yes | |
| by_venue | Yes | |
| duration_ms | Yes | |
| generated_at | Yes | |
| rank_date_utc | Yes | |
| missing_sources | Yes | |
| excluded_reasons | Yes | |
| source_data_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description goes beyond by adding operational requirements: 'Requires opensearch.predictionRankIndex', and disclaimers: 'No account access, no order placement or fund transfers. Not investment advice.' These are valuable behavioral disclosures not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense paragraph that front-loads the core purpose and then lists filters, requirements, and caveats. It is concise and structured, with no redundant filler. Every sentence adds useful operational or behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 optional parameters, an output schema, and annotations covering safety, the description is complete enough for an agent to call it correctly. It covers the ranking basis, filters, the required index, read-only nature, and important disclaimers. It does not explain output format, but the output schema exists and covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions, including defaults and allowed values. The description restates some like 'category (exact term on rank index)' and 'status (active/closed/resolved/all; default active)' but adds no new information beyond the schema. Baseline 3 is appropriate since schema handles the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: 'Daily venue/overall ranking by volume delta (UTC rank_date)'. It identifies the resource (ranking data) and the dimension (volume delta). It is specific enough to distinguish from generic ranking tools, though it does not explicitly name alternatives among siblings like fastest_rising_ranking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context: it is read-only research data, requires opensearch.predictionRankIndex, and involves no account access or transactions. However, it does not explicitly state when to use this tool versus alternatives, nor does it name sibling tools or exclusions. The usage is implied by 'Read-only public research data' but not directly compared.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
news_prediction_search_eventsARead-onlyIdempotentInspect
[Read] Search prediction events on opensearch.predictionEventSignalIndex (dws_prediction_event_signal_hf alias, hourly UNIQUE part_hour+venue+venue_event_id). query/coin/category optional; coin-only unsupported_filter. status filters event_status; status_tags from status_json_array. sort recently_listed uses create_time (first_seen); volume_delta_today uses total_volume_usd_24h (no volume_delta column). category filter: event_category_primary or lead_market_category_primary; excludes empty event_category_primary. Collapse venue_event_id. with_markets: source_markets_json or predictionMarketIndex. Detail -> get_event_signal (external); orderbook -> get_market_orderbook. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | Optional coin ticker; cannot be used alone without query or category (unsupported_filter). With query/category expands text recall only (best_effort). | |
| limit | No | Page size; default 20, max 100. | |
| query | No | Optional full-text query; all of query, coin, category are optional. | |
| venue | No | Optional venue filter. Allowed: polymarket, predict_fun. | |
| status | No | Filter by ES event_status; default active. Allowed: active, closed, resolved, all. Response status_tags comes from status_json_array. | |
| sort_by | No | Sort key; default attention. Allowed: attention, volume, liquidity, recently_listed, probability_change, volume_delta_today (maps to total_volume_usd_24h on signal index). | |
| category | No | Optional primary category enum (crypto_price, sports, elections, …). Matches event_category_primary or lead_market_category_primary. | |
| page_token | No | Base64URL page token from prior next_page_token; filters must match first page. | |
| with_markets | No | When true, attach market summaries from source_markets_json or predictionMarketIndex. |
Output Schema
| Name | Required | Description |
|---|---|---|
| events | Yes | |
| partial | Yes | |
| duration_ms | Yes | |
| missing_sources | No | |
| next_page_token | No | nullable |
| coin_filter_mode | No | |
| effective_sort_by | No | Actual sort applied (equals sort_by unless ES sort fallback). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description goes further by explicitly stating 'Read-only public research data. No account access, no order placement or fund transfers.' It also discloses data freshness (hourly UNIQUE part_hour+venue+venue_event_id), collapse on venue_event_id, and the unsupported_filter nuance for coin-only, all of which add behavioral context beyond annotations. No contradictions present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized, front-loading the core action and data source, then systematically covering filters, sort behaviors, and special cases. Each clause adds necessary context, though the long single paragraph could be slightly more scannable with bullet points. Still, no sentence is wasted and the structure is logical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 optional parameters, no required fields, and an output schema, the description covers every parameter's behavior, edge cases (coin-only unsupported, category empty exclusion), and related tool pointers. It also states account access limitations and non-investment-advice disclaimer, making it complete for an agent to invoke correctly without additional lookups.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant semantic value: it clarifies that coin expands text recall only and cannot be used alone, defines allowed venue values (polymarket, predict_fun), explains sort semantics (volume_delta_today has no volume_delta column), and specifies how category matches two fields while excluding empty event_category_primary. These details go well beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with '[Read] Search prediction events on opensearch.predictionEventSignalIndex', clearly specifying the verb, resource, and data source. It distinguishes this tool from sibling news-feed search tools by focusing on prediction events, and it names the sibling endpoints for detail and orderbook ('Detail -> get_event_signal; orderbook -> get_market_orderbook'), making the scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage constraints: all query/coin/category are optional, but coin-only is an unsupported_filter. It also explains mapping nuances for sort keys (e.g., recently_listed uses create_time instead of a dedicated column, volume_delta_today maps to total_volume_usd_24h). It offers clear routing alternatives for related needs, giving an agent full context on when to use this tool versus others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
18 tool updates
- Changed
news_events_explain_market_move8 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / data_status / additionalPropertiesAdded value: +false - changed
Output schema / properties / data_status / properties / missing_sources / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / latest_news / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / latest_news / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / supporting_events / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / supporting_events / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_events_get_event_detail3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / symbols / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_events_get_latest_events6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / items / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / items / items / properties / related_coins / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / items / items / properties / tags / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / items / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_events_get_market_move_report64 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / absolute_change_threshold / descriptionAdded value: +"nullable" - removed
Output schema / properties / absolute_change_threshold / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / absolute_change_threshold / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / created_at / descriptionAdded value: +"Report creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / created_at / oneOfRemoved value: -[ - { - "description": "Report creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / created_at / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / direction / descriptionAdded value: +"nullable" - removed
Output schema / properties / direction / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / direction / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / display_expire_time / descriptionAdded value: +"Report display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / display_expire_time / oneOfRemoved value: -[ - { - "description": "Report display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / display_expire_time / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / event_time / descriptionAdded value: +"Market-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / event_time / oneOfRemoved value: -[ - { - "description": "Market-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / event_time / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / evidence / additionalPropertiesAdded value: +false - added
Output schema / properties / evidence / descriptionAdded value: +"nullable" - removed
Output schema / properties / evidence / oneOfRemoved value: -[ - { - "properties": { - "coin_info": { - "oneOf": [ - { - "properties": { - "available": { - "type": "boolean" - }, - "match_count": { - "type": "integer" - } - }, - "required": [ - "available", - "match_count" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "explain_market_move": { - "oneOf": [ - { - "properties": { - "latest_news_count": { - "type": "integer" - }, - "sources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "summary": { - "type": "string" - }, - "summary_available": { - "type": "boolean" - }, - "supporting_events": { - "items": { - "type": "string" - }, - "type": "array" - }, - "supporting_events_count": { - "type": "integer" - } - }, - "required": [ - "summary_available", - "latest_news_count", - "supporting_events_count", - "sources", - "supporting_events" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "market_snapshot": { - "oneOf": [ - { - "properties": { - "available": { - "type": "boolean" - }, - "change_pct": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "price": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "volume_24h": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "available" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "orderbook": { - "oneOf": [ - { - "properties": { - "available": { - "type": "boolean" - }, - "count": { - "type": "integer" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "available", - "total", - "count" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "social": { - "oneOf": [ - { - "properties": { - "mention_count": { - "type": "integer" - }, - "sentiment_label": { - "type": "string" - }, - "ugc_available": { - "type": "boolean" - }, - "ugc_used": { - "type": "boolean" - }, - "x_available": { - "type": "boolean" - } - }, - "required": [ - "x_available", - "ugc_available", - "ugc_used", - "mention_count" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "technical_analysis": { - "oneOf": [ - { - "properties": { - "available": { - "type": "boolean" - }, - "signal": { - "type": "string" - } - }, - "required": [ - "available" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -] - added
Output schema / properties / evidence / propertiesAdded value: +{ + "coin_info": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "available": { + "type": "boolean" + }, + "match_count": { + "type": "integer" + } + }, + "required": [ + "available", + "match_count" + ], + "type": [ + "null", + "object" + ] + }, + "explain_market_move": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "latest_news_count": { + "type": "integer" + }, + "sources": { + "items": { + "type": "string" + }, + "type": [ + "null", + "array" + ] + }, + "summary": { + "type": "string" + }, + "summary_available": { + "type": "boolean" + }, + "supporting_events": { + "items": { + "type": "string" + }, + "type": [ + "null", + "array" + ] + }, + "supporting_events_count": { + "type": "integer" + } + }, + "required": [ + "summary_available", + "latest_news_count", + "supporting_events_count", + "sources", + "supporting_events" + ], + "type": [ + "null", + "object" + ] + }, + "market_snapshot": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "available": { + "type": "boolean" + }, + "change_pct": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "price": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "volume_24h": { + "description": "nullable", + "type": [ + "null", + "number" + ] + } + }, + "required": [ + "available" + ], + "type": [ + "null", + "object" + ] + }, + "orderbook": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "available": { + "type": "boolean" + }, + "count": { + "type": "integer" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "available", + "total", + "count" + ], + "type": [ + "null", + "object" + ] + }, + "social": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "mention_count": { + "type": "integer" + }, + "sentiment_label": { + "type": "string" + }, + "ugc_available": { + "type": "boolean" + }, + "ugc_used": { + "type": "boolean" + }, + "x_available": { + "type": "boolean" + } + }, + "required": [ + "x_available", + "ugc_available", + "ugc_used", + "mention_count" + ], + "type": [ + "null", + "object" + ] + }, + "technical_analysis": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "available": { + "type": "boolean" + }, + "signal": { + "type": "string" + } + }, + "required": [ + "available" + ], + "type": [ + "null", + "object" + ] + } +} - added
Output schema / properties / evidence / typeAdded value: +[ + "null", + "object" +] - added
Output schema / properties / generated_at / descriptionAdded value: +"Report generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / generated_at / oneOfRemoved value: -[ - { - "description": "Report generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / generated_at / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / price_change_pct / descriptionAdded value: +"nullable" - removed
Output schema / properties / price_change_pct / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / price_change_pct / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / report_info / descriptionAdded value: +"Market-move attribution report in Markdown; null when unavailable or pending." - removed
Output schema / properties / report_info / oneOfRemoved value: -[ - { - "description": "Market-move attribution report in Markdown; null when unavailable or pending.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / report_info / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / source_type / descriptionAdded value: +"nullable" - removed
Output schema / properties / source_type / oneOfRemoved value: -[ - { - "type": "integer" - }, - { - "type": "null" - } -] - added
Output schema / properties / source_type / typeAdded value: +[ + "null", + "integer" +] - added
Output schema / properties / summary / descriptionAdded value: +"nullable" - removed
Output schema / properties / summary / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / summary / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / title / descriptionAdded value: +"nullable" - removed
Output schema / properties / title / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / title / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / trigger_label / descriptionAdded value: +"nullable" - removed
Output schema / properties / trigger_label / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / trigger_label / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / updated_at / descriptionAdded value: +"Report update time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. The report-list start_time/end_time bounds filter this field." - removed
Output schema / properties / updated_at / oneOfRemoved value: -[ - { - "description": "Report update time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. The report-list start_time/end_time bounds filter this field.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / updated_at / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / window_end / descriptionAdded value: +"Analysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / window_end / oneOfRemoved value: -[ - { - "description": "Analysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / window_end / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / window_end_utc8 / descriptionAdded value: +"Analysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset." - removed
Output schema / properties / window_end_utc8 / oneOfRemoved value: -[ - { - "description": "Analysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / window_end_utc8 / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / window_start / descriptionAdded value: +"Analysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / window_start / oneOfRemoved value: -[ - { - "description": "Analysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / window_start / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / window_start_utc8 / descriptionAdded value: +"Analysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset." - removed
Output schema / properties / window_start_utc8 / oneOfRemoved value: -[ - { - "description": "Analysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / window_start_utc8 / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / z_price / descriptionAdded value: +"nullable" - removed
Output schema / properties / z_price / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / z_price / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / z_price_threshold / descriptionAdded value: +"nullable" - removed
Output schema / properties / z_price_threshold / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / z_price_threshold / typeAdded value: +[ + "null", + "number" +]
- Changed
news_events_list_market_move_reports69 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / limit / defaultRemoved value: -20 - removed
Input schema / properties / limit / maximumRemoved value: -100 - removed
Input schema / properties / limit / minimumRemoved value: -0 - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / reports / items / additionalPropertiesAdded value: +false - added
Output schema / properties / reports / items / properties / absolute_change_threshold / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / absolute_change_threshold / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / absolute_change_threshold / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / reports / items / properties / created_at / descriptionAdded value: +"Report creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / reports / items / properties / created_at / oneOfRemoved value: -[ - { - "description": "Report creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / created_at / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / direction / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / direction / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / direction / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / display_expire_time / descriptionAdded value: +"Report display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / reports / items / properties / display_expire_time / oneOfRemoved value: -[ - { - "description": "Report display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / display_expire_time / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / event_time / descriptionAdded value: +"Market-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / reports / items / properties / event_time / oneOfRemoved value: -[ - { - "description": "Market-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / event_time / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / evidence / additionalPropertiesAdded value: +false - added
Output schema / properties / reports / items / properties / evidence / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / evidence / oneOfRemoved value: -[ - { - "properties": { - "coin_info": { - "oneOf": [ - { - "properties": { - "available": { - "type": "boolean" - }, - "match_count": { - "type": "integer" - } - }, - "required": [ - "available", - "match_count" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "explain_market_move": { - "oneOf": [ - { - "properties": { - "latest_news_count": { - "type": "integer" - }, - "sources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "summary": { - "type": "string" - }, - "summary_available": { - "type": "boolean" - }, - "supporting_events": { - "items": { - "type": "string" - }, - "type": "array" - }, - "supporting_events_count": { - "type": "integer" - } - }, - "required": [ - "summary_available", - "latest_news_count", - "supporting_events_count", - "sources", - "supporting_events" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "market_snapshot": { - "oneOf": [ - { - "properties": { - "available": { - "type": "boolean" - }, - "change_pct": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "price": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "volume_24h": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "available" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "orderbook": { - "oneOf": [ - { - "properties": { - "available": { - "type": "boolean" - }, - "count": { - "type": "integer" - }, - "total": { - "type": "integer" - } - }, - "required": [ - "available", - "total", - "count" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "social": { - "oneOf": [ - { - "properties": { - "mention_count": { - "type": "integer" - }, - "sentiment_label": { - "type": "string" - }, - "ugc_available": { - "type": "boolean" - }, - "ugc_used": { - "type": "boolean" - }, - "x_available": { - "type": "boolean" - } - }, - "required": [ - "x_available", - "ugc_available", - "ugc_used", - "mention_count" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "technical_analysis": { - "oneOf": [ - { - "properties": { - "available": { - "type": "boolean" - }, - "signal": { - "type": "string" - } - }, - "required": [ - "available" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / evidence / propertiesAdded value: +{ + "coin_info": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "available": { + "type": "boolean" + }, + "match_count": { + "type": "integer" + } + }, + "required": [ + "available", + "match_count" + ], + "type": [ + "null", + "object" + ] + }, + "explain_market_move": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "latest_news_count": { + "type": "integer" + }, + "sources": { + "items": { + "type": "string" + }, + "type": [ + "null", + "array" + ] + }, + "summary": { + "type": "string" + }, + "summary_available": { + "type": "boolean" + }, + "supporting_events": { + "items": { + "type": "string" + }, + "type": [ + "null", + "array" + ] + }, + "supporting_events_count": { + "type": "integer" + } + }, + "required": [ + "summary_available", + "latest_news_count", + "supporting_events_count", + "sources", + "supporting_events" + ], + "type": [ + "null", + "object" + ] + }, + "market_snapshot": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "available": { + "type": "boolean" + }, + "change_pct": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "price": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "volume_24h": { + "description": "nullable", + "type": [ + "null", + "number" + ] + } + }, + "required": [ + "available" + ], + "type": [ + "null", + "object" + ] + }, + "orderbook": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "available": { + "type": "boolean" + }, + "count": { + "type": "integer" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "available", + "total", + "count" + ], + "type": [ + "null", + "object" + ] + }, + "social": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "mention_count": { + "type": "integer" + }, + "sentiment_label": { + "type": "string" + }, + "ugc_available": { + "type": "boolean" + }, + "ugc_used": { + "type": "boolean" + }, + "x_available": { + "type": "boolean" + } + }, + "required": [ + "x_available", + "ugc_available", + "ugc_used", + "mention_count" + ], + "type": [ + "null", + "object" + ] + }, + "technical_analysis": { + "additionalProperties": false, + "description": "nullable", + "properties": { + "available": { + "type": "boolean" + }, + "signal": { + "type": "string" + } + }, + "required": [ + "available" + ], + "type": [ + "null", + "object" + ] + } +} - added
Output schema / properties / reports / items / properties / evidence / typeAdded value: +[ + "null", + "object" +] - added
Output schema / properties / reports / items / properties / generated_at / descriptionAdded value: +"Report generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / reports / items / properties / generated_at / oneOfRemoved value: -[ - { - "description": "Report generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / generated_at / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / price_change_pct / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / price_change_pct / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / price_change_pct / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / reports / items / properties / report_info / descriptionAdded value: +"Market-move attribution report in Markdown; null when unavailable or pending." - removed
Output schema / properties / reports / items / properties / report_info / oneOfRemoved value: -[ - { - "description": "Market-move attribution report in Markdown; null when unavailable or pending.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / report_info / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / source_type / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / source_type / oneOfRemoved value: -[ - { - "type": "integer" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / source_type / typeAdded value: +[ + "null", + "integer" +] - added
Output schema / properties / reports / items / properties / summary / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / summary / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / summary / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / title / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / title / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / title / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / trigger_label / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / trigger_label / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / trigger_label / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / updated_at / descriptionAdded value: +"Report update time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. The report-list start_time/end_time bounds filter this field." - removed
Output schema / properties / reports / items / properties / updated_at / oneOfRemoved value: -[ - { - "description": "Report update time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix. The report-list start_time/end_time bounds filter this field.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / updated_at / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / window_end / descriptionAdded value: +"Analysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / reports / items / properties / window_end / oneOfRemoved value: -[ - { - "description": "Analysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / window_end / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / window_end_utc8 / descriptionAdded value: +"Analysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset." - removed
Output schema / properties / reports / items / properties / window_end_utc8 / oneOfRemoved value: -[ - { - "description": "Analysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / window_end_utc8 / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / window_start / descriptionAdded value: +"Analysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix." - removed
Output schema / properties / reports / items / properties / window_start / oneOfRemoved value: -[ - { - "description": "Analysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / window_start / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / window_start_utc8 / descriptionAdded value: +"Analysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset." - removed
Output schema / properties / reports / items / properties / window_start_utc8 / oneOfRemoved value: -[ - { - "description": "Analysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / window_start_utc8 / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / reports / items / properties / z_price / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / z_price / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / z_price / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / reports / items / properties / z_price_threshold / descriptionAdded value: +"nullable" - removed
Output schema / properties / reports / items / properties / z_price_threshold / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / reports / items / properties / z_price_threshold / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / reports / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_feed_get_exchange_announcements4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / items / items / additionalPropertiesAdded value: +true - changed
Output schema / properties / items / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_feed_get_hot_topics14 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / hide_reason / descriptionAdded value: +"no_data or insufficient_evidence when topics should be hidden; null when displayable." - removed
Output schema / properties / hide_reason / oneOfRemoved value: -[ - { - "description": "no_data or insufficient_evidence when topics should be hidden; null when displayable.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hide_reason / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / topics / items / additionalPropertiesAdded value: +false - added
Output schema / properties / topics / items / properties / evidence_posts / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / topics / items / properties / evidence_posts / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / topics / items / properties / platforms / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / topics / items / properties / sentiment_score / descriptionAdded value: +"Average topic sentiment; null when unavailable." - removed
Output schema / properties / topics / items / properties / sentiment_score / oneOfRemoved value: -[ - { - "description": "Average topic sentiment; null when unavailable.", - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / topics / items / properties / sentiment_score / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / topics / items / properties / topic_titles / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / topics / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_feed_get_mention_burst19 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / evidence_summary / descriptionAdded value: +"Human-readable evidence summary; null when unavailable." - removed
Output schema / properties / evidence_summary / oneOfRemoved value: -[ - { - "description": "Human-readable evidence summary; null when unavailable.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / evidence_summary / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / growth_rate / descriptionAdded value: +"Weighted mention growth versus the previous 24h; null when no baseline exists." - removed
Output schema / properties / growth_rate / oneOfRemoved value: -[ - { - "description": "Weighted mention growth versus the previous 24h; null when no baseline exists.", - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / growth_rate / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / hide_reason / descriptionAdded value: +"Why the signal should be hidden: no_data, insufficient_baseline, insufficient_sample, or not_burst; null when displayable." - removed
Output schema / properties / hide_reason / oneOfRemoved value: -[ - { - "description": "Why the signal should be hidden: no_data, insufficient_baseline, insufficient_sample, or not_burst; null when displayable.", - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / hide_reason / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / platform_breakdown / items / additionalPropertiesAdded value: +false - added
Output schema / properties / platform_breakdown / items / properties / growth_rate / descriptionAdded value: +"Weighted mention growth versus the previous window; null when no baseline exists." - removed
Output schema / properties / platform_breakdown / items / properties / growth_rate / oneOfRemoved value: -[ - { - "description": "Weighted mention growth versus the previous window; null when no baseline exists.", - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / platform_breakdown / items / properties / growth_rate / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / platform_breakdown / items / properties / sentiment_score / descriptionAdded value: +"Platform sentiment score; null when unavailable." - removed
Output schema / properties / platform_breakdown / items / properties / sentiment_score / oneOfRemoved value: -[ - { - "description": "Platform sentiment score; null when unavailable.", - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / platform_breakdown / items / properties / sentiment_score / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / platform_breakdown / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_feed_get_social_sentiment6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / sentiment_distribution / additionalPropertiesAdded value: +false - changed
Output schema / properties / sentiment_distribution / typePrevious value: -"object"New value: +[ + "null", + "object" +] - added
Output schema / properties / top_tweets / items / additionalPropertiesAdded value: +true - changed
Output schema / properties / top_tweets / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_feed_search_news5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / top_total_score / typePrevious value: -"integer"New value: +[ + "null", + "integer" +] - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / items / items / additionalPropertiesAdded value: +true - changed
Output schema / properties / items / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_feed_search_ugc4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / items / items / additionalPropertiesAdded value: +true - changed
Output schema / properties / items / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_feed_search_x14 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / allowed_handles / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Input schema / properties / excluded_handles / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / allowed_handles / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / cited_tweets / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / cited_tweets / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / excluded_handles / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / items / items / additionalPropertiesAdded value: +true - changed
Output schema / properties / items / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / key_points / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / sentiment_score / descriptionAdded value: +"xAI: 0-100 tone for this X/Twitter topic; JSON null if unknown; pairs with sentiment_label. Not per-coin aggregate positive/negative split (get_social_sentiment)." - removed
Output schema / properties / sentiment_score / oneOfRemoved value: -[ - { - "description": "xAI: 0-100 tone for this X/Twitter topic; JSON null if unknown; pairs with sentiment_label. Not per-coin aggregate positive/negative split (get_social_sentiment).", - "type": "integer" - }, - { - "type": "null" - } -] - added
Output schema / properties / sentiment_score / typeAdded value: +[ + "null", + "integer" +]
- Changed
news_feed_web_search7 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / cited_sources / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / cited_sources / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / items / items / additionalPropertiesAdded value: +true - changed
Output schema / properties / items / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / key_points / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_prediction_get_event_signal73 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / include_markets / typePrevious value: -"boolean"New value: +[ + "null", + "boolean" +] - changed
Input schema / properties / venue / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / cross_venue_divergence / descriptionAdded value: +"nullable" - removed
Output schema / properties / cross_venue_divergence / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / cross_venue_divergence / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / daily_ranking / additionalPropertiesAdded value: +false - added
Output schema / properties / daily_ranking / descriptionAdded value: +"nullable" - removed
Output schema / properties / daily_ranking / oneOfRemoved value: -[ - { - "properties": { - "daily_rank_by_venue": { - "additionalProperties": { - "properties": { - "fastest_rising": { - "oneOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "volume_delta": { - "oneOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "type": "object" - }, - "probability_delta_today": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "volume_delta_usd_today": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -] - added
Output schema / properties / daily_ranking / propertiesAdded value: +{ + "daily_rank_by_venue": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "fastest_rising": { + "description": "nullable", + "type": [ + "null", + "integer" + ] + }, + "volume_delta": { + "description": "nullable", + "type": [ + "null", + "integer" + ] + } + }, + "type": "object" + }, + "type": "object" + }, + "probability_delta_today": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "volume_delta_usd_today": { + "description": "nullable", + "type": [ + "null", + "number" + ] + } +} - added
Output schema / properties / daily_ranking / typeAdded value: +[ + "null", + "object" +] - added
Output schema / properties / depth_summary / additionalPropertiesAdded value: +false - added
Output schema / properties / depth_summary / descriptionAdded value: +"nullable" - removed
Output schema / properties / depth_summary / oneOfRemoved value: -[ - { - "properties": { - "best_no_ask": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "best_no_bid": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "best_yes_ask": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "best_yes_bid": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "spread_yes": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -] - added
Output schema / properties / depth_summary / propertiesAdded value: +{ + "best_no_ask": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "best_no_bid": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "best_yes_ask": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "best_yes_bid": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "spread_yes": { + "description": "nullable", + "type": [ + "null", + "number" + ] + } +} - added
Output schema / properties / depth_summary / typeAdded value: +[ + "null", + "object" +] - added
Output schema / properties / directional_context / additionalPropertiesAdded value: +true - added
Output schema / properties / event_identity / additionalPropertiesAdded value: +false - added
Output schema / properties / event_identity / properties / category_ai_primary / descriptionAdded value: +"nullable" - removed
Output schema / properties / event_identity / properties / category_ai_primary / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / event_identity / properties / category_ai_primary / typeAdded value: +[ + "null", + "string" +] - changed
Output schema / properties / event_identity / properties / status_tags / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / markets / items / additionalPropertiesAdded value: +false - added
Output schema / properties / markets / items / properties / liquidity_usd / descriptionAdded value: +"nullable" - removed
Output schema / properties / markets / items / properties / liquidity_usd / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / markets / items / properties / liquidity_usd / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / markets / items / properties / market_category_ai_primary / descriptionAdded value: +"nullable" - removed
Output schema / properties / markets / items / properties / market_category_ai_primary / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / markets / items / properties / market_category_ai_primary / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / markets / items / properties / mid_yes_probability / descriptionAdded value: +"nullable" - removed
Output schema / properties / markets / items / properties / mid_yes_probability / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / markets / items / properties / mid_yes_probability / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / markets / items / properties / price_bar_time / descriptionAdded value: +"nullable" - removed
Output schema / properties / markets / items / properties / price_bar_time / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / markets / items / properties / price_bar_time / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / markets / items / properties / probability_change_6h / descriptionAdded value: +"nullable" - removed
Output schema / properties / markets / items / properties / probability_change_6h / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / markets / items / properties / probability_change_6h / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / markets / items / properties / volume_24h_usd / descriptionAdded value: +"nullable" - removed
Output schema / properties / markets / items / properties / volume_24h_usd / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / markets / items / properties / volume_24h_usd / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / markets / items / properties / volume_total_usd / descriptionAdded value: +"nullable" - removed
Output schema / properties / markets / items / properties / volume_total_usd / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / markets / items / properties / volume_total_usd / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / markets / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / missing_sources / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / outcome_probabilities / additionalPropertiesAdded value: +false - added
Output schema / properties / outcome_probabilities / properties / no_probability / descriptionAdded value: +"nullable" - removed
Output schema / properties / outcome_probabilities / properties / no_probability / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / outcome_probabilities / properties / no_probability / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / outcome_probabilities / properties / probability_change_1h / descriptionAdded value: +"nullable" - removed
Output schema / properties / outcome_probabilities / properties / probability_change_1h / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / outcome_probabilities / properties / probability_change_1h / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / outcome_probabilities / properties / probability_change_24h / descriptionAdded value: +"nullable" - removed
Output schema / properties / outcome_probabilities / properties / probability_change_24h / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / outcome_probabilities / properties / probability_change_24h / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / outcome_probabilities / properties / probability_change_6h / descriptionAdded value: +"nullable" - removed
Output schema / properties / outcome_probabilities / properties / probability_change_6h / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / outcome_probabilities / properties / probability_change_6h / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / outcome_probabilities / properties / yes_probability / descriptionAdded value: +"nullable" - removed
Output schema / properties / outcome_probabilities / properties / yes_probability / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / outcome_probabilities / properties / yes_probability / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / volume_flow / additionalPropertiesAdded value: +false - added
Output schema / properties / volume_flow / properties / total_liquidity_usd / descriptionAdded value: +"nullable" - removed
Output schema / properties / volume_flow / properties / total_liquidity_usd / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / volume_flow / properties / total_liquidity_usd / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / volume_flow / properties / total_volume_usd_24h / descriptionAdded value: +"nullable" - removed
Output schema / properties / volume_flow / properties / total_volume_usd_24h / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / volume_flow / properties / total_volume_usd_24h / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / volume_flow / properties / volume_delta_usd_today / descriptionAdded value: +"nullable" - removed
Output schema / properties / volume_flow / properties / volume_delta_usd_today / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / volume_flow / properties / volume_delta_usd_today / typeAdded value: +[ + "null", + "number" +]
- Changed
news_prediction_get_fastest_rising_ranking48 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / limit / typePrevious value: -"integer"New value: +[ + "null", + "integer" +] - changed
Input schema / properties / venue / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / by_venue / additionalProperties / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / by_venue / additionalProperties / items / properties / excluded_reasons / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / by_venue / additionalProperties / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / excluded_reasons / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / missing_sources / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / overall / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / overall / items / properties / excluded_reasons / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / overall / items / properties / latest_mid_probability / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / latest_mid_probability / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / latest_mid_probability / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / overall / items / properties / lead_market_id / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / lead_market_id / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / lead_market_id / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / overall / items / properties / market_name / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / market_name / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / market_name / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / overall / items / properties / open_mid_probability_utc / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / open_mid_probability_utc / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / open_mid_probability_utc / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / overall / items / properties / probability_delta_today / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / probability_delta_today / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / probability_delta_today / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / overall / items / properties / volume_delta_usd_today / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / volume_delta_usd_today / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / volume_delta_usd_today / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / overall / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_prediction_get_market_orderbook13 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / depth / typePrevious value: -"integer"New value: +[ + "null", + "integer" +] - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / book_levels / additionalPropertiesAdded value: +false - added
Output schema / properties / book_levels / descriptionAdded value: +"nullable" - removed
Output schema / properties / book_levels / oneOfRemoved value: -[ - { - "properties": { - "best_no_ask": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "best_no_bid": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "best_yes_ask": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "best_yes_bid": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "spread_no": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "spread_yes": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "top5_depth_ask_usd": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "top5_depth_bid_usd": { - "oneOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "yes_asks": { - "items": { - "properties": { - "price": { - "type": "number" - }, - "size": { - "type": "number" - } - }, - "required": [ - "price", - "size" - ], - "type": "object" - }, - "type": "array" - }, - "yes_bids": { - "items": { - "properties": { - "price": { - "type": "number" - }, - "size": { - "type": "number" - } - }, - "required": [ - "price", - "size" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "yes_bids", - "yes_asks" - ], - "type": "object" - }, - { - "type": "null" - } -] - added
Output schema / properties / book_levels / propertiesAdded value: +{ + "best_no_ask": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "best_no_bid": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "best_yes_ask": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "best_yes_bid": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "spread_no": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "spread_yes": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "top5_depth_ask_usd": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "top5_depth_bid_usd": { + "description": "nullable", + "type": [ + "null", + "number" + ] + }, + "yes_asks": { + "items": { + "additionalProperties": false, + "properties": { + "price": { + "type": "number" + }, + "size": { + "type": "number" + } + }, + "required": [ + "price", + "size" + ], + "type": "object" + }, + "type": [ + "null", + "array" + ] + }, + "yes_bids": { + "items": { + "additionalProperties": false, + "properties": { + "price": { + "type": "number" + }, + "size": { + "type": "number" + } + }, + "required": [ + "price", + "size" + ], + "type": "object" + }, + "type": [ + "null", + "array" + ] + } +} - added
Output schema / properties / book_levels / requiredAdded value: +[ + "yes_bids", + "yes_asks" +] - added
Output schema / properties / book_levels / typeAdded value: +[ + "null", + "object" +] - changed
Output schema / properties / missing_sources / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / snapshot_time / descriptionAdded value: +"nullable" - removed
Output schema / properties / snapshot_time / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / snapshot_time / typeAdded value: +[ + "null", + "string" +]
- Changed
news_prediction_get_volume_delta_ranking48 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / limit / typePrevious value: -"integer"New value: +[ + "null", + "integer" +] - changed
Input schema / properties / venue / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / by_venue / additionalProperties / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / by_venue / additionalProperties / items / properties / excluded_reasons / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / descriptionAdded value: +"nullable" - removed
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / by_venue / additionalProperties / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / excluded_reasons / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / missing_sources / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / overall / items / additionalPropertiesAdded value: +false - changed
Output schema / properties / overall / items / properties / excluded_reasons / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / overall / items / properties / latest_mid_probability / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / latest_mid_probability / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / latest_mid_probability / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / overall / items / properties / lead_market_id / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / lead_market_id / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / lead_market_id / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / overall / items / properties / market_name / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / market_name / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / market_name / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / overall / items / properties / open_mid_probability_utc / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / open_mid_probability_utc / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / open_mid_probability_utc / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / overall / items / properties / probability_delta_today / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / probability_delta_today / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / probability_delta_today / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / overall / items / properties / volume_delta_usd_today / descriptionAdded value: +"nullable" - removed
Output schema / properties / overall / items / properties / volume_delta_usd_today / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / overall / items / properties / volume_delta_usd_today / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / overall / typePrevious value: -"array"New value: +[ + "null", + "array" +]
- Changed
news_prediction_search_events41 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / limit / typePrevious value: -"integer"New value: +[ + "null", + "integer" +] - changed
Input schema / properties / venue / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / additionalPropertiesAdded value: +false - added
Output schema / properties / events / items / additionalPropertiesAdded value: +false - added
Output schema / properties / events / items / properties / attention_score / descriptionAdded value: +"nullable" - removed
Output schema / properties / events / items / properties / attention_score / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / events / items / properties / attention_score / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / events / items / properties / category_ai_primary / descriptionAdded value: +"nullable" - removed
Output schema / properties / events / items / properties / category_ai_primary / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / events / items / properties / category_ai_primary / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / events / items / properties / lead_market_id / descriptionAdded value: +"nullable" - removed
Output schema / properties / events / items / properties / lead_market_id / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / events / items / properties / lead_market_id / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / events / items / properties / lead_yes_probability / descriptionAdded value: +"nullable" - removed
Output schema / properties / events / items / properties / lead_yes_probability / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / events / items / properties / lead_yes_probability / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / events / items / properties / market_category_ai_primary / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / events / items / properties / markets / items / additionalPropertiesAdded value: +false - added
Output schema / properties / events / items / properties / markets / items / properties / liquidity_usd / descriptionAdded value: +"nullable" - removed
Output schema / properties / events / items / properties / markets / items / properties / liquidity_usd / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / events / items / properties / markets / items / properties / liquidity_usd / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / events / items / properties / markets / items / properties / market_category_primary / descriptionAdded value: +"nullable" - removed
Output schema / properties / events / items / properties / markets / items / properties / market_category_primary / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / events / items / properties / markets / items / properties / market_category_primary / typeAdded value: +[ + "null", + "string" +] - added
Output schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / descriptionAdded value: +"nullable" - removed
Output schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / events / items / properties / markets / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / events / items / properties / status_tags / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / events / items / properties / total_liquidity_usd / descriptionAdded value: +"nullable" - removed
Output schema / properties / events / items / properties / total_liquidity_usd / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / events / items / properties / total_liquidity_usd / typeAdded value: +[ + "null", + "number" +] - added
Output schema / properties / events / items / properties / total_volume_usd_24h / descriptionAdded value: +"nullable" - removed
Output schema / properties / events / items / properties / total_volume_usd_24h / oneOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / events / items / properties / total_volume_usd_24h / typeAdded value: +[ + "null", + "number" +] - changed
Output schema / properties / events / typePrevious value: -"array"New value: +[ + "null", + "array" +] - changed
Output schema / properties / missing_sources / typePrevious value: -"array"New value: +[ + "null", + "array" +] - added
Output schema / properties / next_page_token / descriptionAdded value: +"nullable" - removed
Output schema / properties / next_page_token / oneOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / next_page_token / typeAdded value: +[ + "null", + "string" +]
1 tool update
- Changed
news_feed_search_x22 fields changed- changed
Input schema / properties / allowed_handles / descriptionPrevious value: -"xAI only: include these X handles without @, max 10; mutually exclusive with excluded_handles."New value: +"Include these X handles without @, max 10; mutually exclusive with excluded_handles." - removed
Input schema / properties / coinRemoved value: -{ - "description": "Platform fallback: maps to tickers for feed-style items when xAI path is unused—tweet-level X evidence remains the primary tool goal; per-coin sentiment KPIs -> get_social_sentiment.", - "type": "string" -} - changed
Input schema / properties / days / descriptionPrevious value: -"xAI only: lookback days when time_range omitted; omitted or <=0 treated as 1 (24h); min 1 when explicitly set."New value: +"Lookback days when time_range omitted; omitted or <=0 treated as 1 (24h); min 1 when explicitly set." - changed
Input schema / properties / enable_image_understanding / descriptionPrevious value: -"xAI only: analyze images in posts."New value: +"Analyze images in posts." - changed
Input schema / properties / enable_video_understanding / descriptionPrevious value: -"xAI only: analyze video in posts."New value: +"Analyze video in posts." - removed
Input schema / properties / end_timeRemoved value: -{ - "description": "Platform fallback: maps to to.", - "type": "string" -} - changed
Input schema / properties / excluded_handles / descriptionPrevious value: -"xAI only: exclude these handles, max 10."New value: +"Exclude these handles, max 10." - changed
Input schema / properties / lang / descriptionPrevious value: -"Answer language: zh (default) / en / auto. Also used by platform fallback as MCP local lang filter."New value: +"Answer language: zh (default) / en / auto." - removed
Input schema / properties / limitRemoved value: -{ - "description": "Platform fallback: page_size, default 10.", - "type": "integer" -} - changed
Input schema / properties / model / descriptionPrevious value: -"xAI only: override configured Grok model id."New value: +"Override configured Grok model id." - removed
Input schema / properties / pageRemoved value: -{ - "description": "Platform fallback: page number.", - "type": "integer" -} - removed
Input schema / properties / platformRemoved value: -{ - "description": "Platform fallback: platform.", - "type": "string" -} - removed
Input schema / properties / platform_typeRemoved value: -{ - "description": "Platform fallback: maps when platform omitted.", - "type": "string" -} - changed
Input schema / properties / query / descriptionPrevious value: -"X/Twitter topic for tweet-level evidence and cited posts; English recommended. xAI: empty returns no results. Aggregate social mood, sentiment score, or positive/negative split -> get_social_sentiment. Open-web pages -> web_search. Multi-platform social search -> search_ugc. Platform fallback matches search_news.query semantics."New value: +"X/Twitter topic for tweet-level evidence and cited posts; English recommended. Empty returns no results. Aggregate social mood, sentiment score, or positive/negative split -> get_social_sentiment. Open-web pages -> web_search. Multi-platform social search -> search_ugc." - removed
Input schema / properties / similarity_scoreRemoved value: -{ - "description": "Platform fallback: similarity threshold.", - "type": "string" -} - removed
Input schema / properties / sort_byRemoved value: -{ - "description": "Platform fallback: sort field.", - "type": "string" -} - removed
Input schema / properties / start_timeRemoved value: -{ - "description": "Platform fallback: maps to from (Unix sec).", - "type": "string" -} - removed
Input schema / properties / top_total_scoreRemoved value: -{ - "description": "Platform fallback: heat vs similarity.", - "type": "integer" -} - removed
Output schema / properties / coinRemoved value: -{ - "type": "string" -} - changed
Output schema / properties / disclaimer / descriptionPrevious value: -"Fixed disclaimer on xAI success; empty on platform fallback."New value: +"Fixed disclaimer on successful xAI response." - removed
Output schema / properties / platformRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / platform_typeRemoved value: -{ - "type": "string" -}
2 tool updates
- Changed
news_events_get_event_detail2 fields changed- added
Output schema / properties / impact_directionAdded value: +{ + "type": "string" +} - added
Output schema / properties / impact_direction_reasonAdded value: +{ + "type": "string" +}
- Changed
news_events_get_latest_events4 fields changed- added
Input schema / properties / directionAdded value: +{ + "description": "Optional filter on persisted impact_direction: positive / negative / neutral / mixed / unknown / all (default all, no filter). MCP does not re-judge direction.", + "type": "string" +} - added
Output schema / properties / directionAdded value: +{ + "type": "string" +} - added
Output schema / properties / items / items / properties / impact_directionAdded value: +{ + "type": "string" +} - added
Output schema / properties / items / items / properties / impact_direction_reasonAdded value: +{ + "type": "string" +}
4 tool updates
- Added
news_events_get_market_move_report - Added
news_events_list_market_move_reports - Added
news_feed_get_hot_topics - Added
news_feed_get_mention_burst
1 tool update
- Changed
news_feed_get_exchange_announcements1 field changed- changed
Input schema / properties / announcement_type / descriptionPrevious value: -"listing / delisting / maintenance / all; omit if empty."New value: +"listing / delisting / maintenance / all. Omit or unknown value is treated as all (no type filter)."
4 tool updates
- Changed
news_feed_search_x1 field changed- changed
Input schema / properties / days / descriptionPrevious value: -"xAI only: lookback days; default 7, min 1."New value: +"xAI only: lookback days when time_range omitted; omitted or <=0 treated as 1 (24h); min 1 when explicitly set."
- Changed
news_prediction_get_event_signal5 fields changed- changed
Input schema / properties / event_ref / descriptionPrevious value: -"Required. Format venue:venue_event_id (e.g. polymarket:107711)."New value: +"Required. venue:venue_event_id (split on first colon; id may contain more colons). Discover via search_events." - changed
Input schema / properties / include_markets / descriptionPrevious value: -"Include parsed markets[] from source_markets_json; default true."New value: +"Omitted or null defaults true. false omits markets[]; true parses embedded markets or enriches from predictionMarketIndex." - changed
Input schema / properties / include_orderbook_summary / descriptionPrevious value: -"Deprecated; depth_summary is always null in current version."New value: +"Deprecated and ignored; depth_summary is always null—use get_market_orderbook." - changed
Input schema / properties / venue / descriptionPrevious value: -"Optional venue filter; must match event_ref venue when set."New value: +"Optional; each non-empty value must equal event_ref venue or invalid_param." - changed
Input schema / properties / window / descriptionPrevious value: -"Signal window; default 24h. Allowed: 1h, 24h, 7d."New value: +"Recency filter on part_hour; default 24h. Allowed: 1h, 24h, 7d (case-insensitive)."
- Changed
news_prediction_get_market_orderbook4 fields changed- changed
Input schema / properties / depth / descriptionPrevious value: -"yes_bids/yes_asks level count; default 20, allowed 1-20 inclusive."New value: +"yes_bids/yes_asks top-N levels; default 20; allowed 1-20 inclusive; out of range invalid_param." - changed
Input schema / properties / market_id / descriptionPrevious value: -"Required. polymarket: venue_market_id in dws_prediction_market_hf; predict_fun: official numeric market id (e.g. 356640)."New value: +"Required. polymarket: venue_market_id in dws_prediction_market_hf (token lookup). predict_fun: official numeric id (e.g. 356640), not polymarket venue_market_id." - changed
Input schema / properties / mode / descriptionPrevious value: -"Must be empty or current (default current). history and other modes are rejected."New value: +"Empty or current only (default current). history and other values rejected." - changed
Input schema / properties / venue / descriptionPrevious value: -"Required. polymarket or predict_fun."New value: +"Required. polymarket or predict_fun. polymarket needs predictionMarketIndex; predict_fun needs predictFunAPIKey (else partial_not_configured, not a tool error)."
- Changed
news_prediction_search_events9 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Optional primary category (enum): crypto_event, crypto_price, culture, earnings, elections, finance, geopolitics, macro_economy, mentions, other, politics, sports, tech_ai, weather_climate, world."New value: +"Optional primary category enum (crypto_price, sports, elections, …). Matches event_category_primary or lead_market_category_primary." - changed
Input schema / properties / coin / descriptionPrevious value: -"Optional coin ticker (e.g. BTC); normalized. Filters related_coins and symbols only (not coins/tokens); may return zero hits if index lacks those fields. Coin-only with no query/category defaults status=all."New value: +"Optional coin ticker; cannot be used alone without query or category (unsupported_filter). With query/category expands text recall only (best_effort)." - changed
Input schema / properties / page_token / descriptionPrevious value: -"Opaque pagination token from next_page_token."New value: +"Base64URL page token from prior next_page_token; filters must match first page." - changed
Input schema / properties / query / descriptionPrevious value: -"Optional text query; at least one of query, coin, or category is required."New value: +"Optional full-text query; all of query, coin, category are optional." - changed
Input schema / properties / sort_by / descriptionPrevious value: -"Sort key; default recently_listed. Allowed: attention, volume, liquidity, recently_listed, probability_change, volume_delta_today."New value: +"Sort key; default attention. Allowed: attention, volume, liquidity, recently_listed, probability_change, volume_delta_today (maps to total_volume_usd_24h on signal index)." - changed
Input schema / properties / status / descriptionPrevious value: -"Filter by event_status; default active when query or category set, all when coin-only. Allowed: active, closed, resolved, all."New value: +"Filter by ES event_status; default active. Allowed: active, closed, resolved, all. Response status_tags comes from status_json_array." - changed
Input schema / properties / with_markets / descriptionPrevious value: -"When true, attach market summaries per event."New value: +"When true, attach market summaries from source_markets_json or predictionMarketIndex." - added
Output schema / properties / coin_filter_modeAdded value: +{ + "type": "string" +} - added
Output schema / properties / effective_sort_byAdded value: +{ + "description": "Actual sort applied (equals sort_by unless ES sort fallback).", + "type": "string" +}
11 tool updates
- Changed
news_feed_get_exchange_announcements1 field changed- changed
Output schema / properties / items / itemsPrevious value: -trueNew value: +{ + "type": "object" +}
- Changed
news_feed_get_social_sentiment1 field changed- changed
Output schema / properties / top_tweets / itemsPrevious value: -trueNew value: +{ + "type": "object" +}
- Changed
news_feed_search_news1 field changed- changed
Output schema / properties / items / itemsPrevious value: -trueNew value: +{ + "type": "object" +}
- Changed
news_feed_search_ugc1 field changed- changed
Output schema / properties / items / itemsPrevious value: -trueNew value: +{ + "type": "object" +}
- Changed
news_feed_search_x5 fields changed- changed
Output schema / properties / items / itemsPrevious value: -trueNew value: +{ + "type": "object" +} - removed
Output schema / properties / sentiment_score / descriptionRemoved value: -"xAI: 0-100 tone for this X/Twitter topic; JSON null if unknown; pairs with sentiment_label. Not per-coin aggregate positive/negative split (get_social_sentiment)." - added
Output schema / properties / sentiment_score / oneOfAdded value: +[ + { + "description": "xAI: 0-100 tone for this X/Twitter topic; JSON null if unknown; pairs with sentiment_label. Not per-coin aggregate positive/negative split (get_social_sentiment).", + "type": "integer" + }, + { + "type": "null" + } +] - removed
Output schema / properties / sentiment_score / typeRemoved value: -"integer" - changed
Output schema / requiredPrevious value: -[ - "summary", - "content", - "sentiment_score", - "sentiment_label", - "key_points", - "cited_tweets", - "total", - "count", - "items", - "duration_ms" -]New value: +[ + "summary", + "content", + "sentiment_label", + "key_points", + "cited_tweets", + "total", + "count", + "items", + "duration_ms" +]
- Changed
news_feed_web_search1 field changed- changed
Output schema / properties / items / itemsPrevious value: -trueNew value: +{ + "type": "object" +}
- Changed
news_prediction_get_event_signal45 fields changed- added
Output schema / properties / cross_venue_divergence / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / cross_venue_divergence / typeRemoved value: -"number" - added
Output schema / properties / daily_ranking / oneOfAdded value: +[ + { + "properties": { + "daily_rank_by_venue": { + "additionalProperties": { + "properties": { + "fastest_rising": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "volume_delta": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + "type": "object" + }, + "probability_delta_today": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "volume_delta_usd_today": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / daily_ranking / propertiesRemoved value: -{ - "daily_rank_by_venue": { - "additionalProperties": { - "properties": { - "fastest_rising": { - "type": "integer" - }, - "volume_delta": { - "type": "integer" - } - }, - "type": "object" - }, - "type": "object" - }, - "probability_delta_today": { - "type": "number" - }, - "volume_delta_usd_today": { - "type": "number" - } -} - removed
Output schema / properties / daily_ranking / requiredRemoved value: -[ - "volume_delta_usd_today", - "probability_delta_today" -] - removed
Output schema / properties / daily_ranking / typeRemoved value: -"object" - added
Output schema / properties / depth_summary / oneOfAdded value: +[ + { + "properties": { + "best_no_ask": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "best_no_bid": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "best_yes_ask": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "best_yes_bid": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "spread_yes": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / depth_summary / propertiesRemoved value: -{ - "best_no_ask": { - "type": "number" - }, - "best_no_bid": { - "type": "number" - }, - "best_yes_ask": { - "type": "number" - }, - "best_yes_bid": { - "type": "number" - }, - "spread_yes": { - "type": "number" - } -} - removed
Output schema / properties / depth_summary / typeRemoved value: -"object" - added
Output schema / properties / event_identity / properties / category_ai_primary / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / event_identity / properties / category_ai_primary / typeRemoved value: -"string" - changed
Output schema / properties / event_identity / requiredPrevious value: -[ - "event_ref", - "venue", - "venue_event_id", - "venue_event_title", - "category_ai_primary", - "status_tags", - "market_count" -]New value: +[ + "event_ref", + "venue", + "venue_event_id", + "venue_event_title", + "status_tags", + "market_count" +] - added
Output schema / properties / markets / items / properties / liquidity_usd / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / markets / items / properties / liquidity_usd / typeRemoved value: -"number" - added
Output schema / properties / markets / items / properties / market_category_ai_primary / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / markets / items / properties / market_category_ai_primary / typeRemoved value: -"string" - added
Output schema / properties / markets / items / properties / mid_yes_probability / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / markets / items / properties / mid_yes_probability / typeRemoved value: -"number" - added
Output schema / properties / markets / items / properties / price_bar_time / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / markets / items / properties / price_bar_time / typeRemoved value: -"string" - added
Output schema / properties / markets / items / properties / probability_change_6h / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / markets / items / properties / probability_change_6h / typeRemoved value: -"number" - added
Output schema / properties / markets / items / properties / volume_24h_usd / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / markets / items / properties / volume_24h_usd / typeRemoved value: -"number" - added
Output schema / properties / markets / items / properties / volume_total_usd / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / markets / items / properties / volume_total_usd / typeRemoved value: -"number" - added
Output schema / properties / outcome_probabilities / properties / no_probability / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / outcome_probabilities / properties / no_probability / typeRemoved value: -"number" - added
Output schema / properties / outcome_probabilities / properties / probability_change_1h / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / outcome_probabilities / properties / probability_change_1h / typeRemoved value: -"number" - added
Output schema / properties / outcome_probabilities / properties / probability_change_24h / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / outcome_probabilities / properties / probability_change_24h / typeRemoved value: -"number" - added
Output schema / properties / outcome_probabilities / properties / probability_change_6h / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / outcome_probabilities / properties / probability_change_6h / typeRemoved value: -"number" - added
Output schema / properties / outcome_probabilities / properties / yes_probability / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / outcome_probabilities / properties / yes_probability / typeRemoved value: -"number" - removed
Output schema / properties / outcome_probabilities / requiredRemoved value: -[ - "yes_probability", - "no_probability", - "probability_change_1h", - "probability_change_6h", - "probability_change_24h" -] - added
Output schema / properties / volume_flow / properties / total_liquidity_usd / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / volume_flow / properties / total_liquidity_usd / typeRemoved value: -"number" - added
Output schema / properties / volume_flow / properties / total_volume_usd_24h / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / volume_flow / properties / total_volume_usd_24h / typeRemoved value: -"number" - added
Output schema / properties / volume_flow / properties / volume_delta_usd_today / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / volume_flow / properties / volume_delta_usd_today / typeRemoved value: -"number" - changed
Output schema / properties / volume_flow / requiredPrevious value: -[ - "total_volume_usd_24h", - "total_liquidity_usd", - "volume_delta_usd_today", - "source" -]New value: +[ + "source" +] - changed
Output schema / requiredPrevious value: -[ - "partial", - "missing_sources", - "event_identity", - "signal_time", - "source_data_status", - "outcome_probabilities", - "depth_summary", - "volume_flow", - "daily_ranking", - "cross_venue_divergence", - "directional_context", - "duration_ms" -]New value: +[ + "partial", + "missing_sources", + "event_identity", + "signal_time", + "source_data_status", + "outcome_probabilities", + "depth_summary", + "volume_flow", + "directional_context", + "duration_ms" +]
- Changed
news_prediction_get_fastest_rising_ranking28 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Optional category filter. Free text exact match against index field category; use all/empty to disable category filter."New value: +"Optional category filter: exact term on rank index field category; omit or all to disable." - changed
Input schema / properties / status / descriptionPrevious value: -"Optional status filter. Allowed: active, closed, resolved, all. Defaults to active."New value: +"Optional status filter on rank index. Allowed: active, closed, resolved, all. Defaults to active." - added
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / typeRemoved value: -"number" - added
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / typeRemoved value: -"string" - added
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / typeRemoved value: -"string" - added
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / typeRemoved value: -"number" - added
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / typeRemoved value: -"number" - added
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / typeRemoved value: -"number" - changed
Output schema / properties / by_venue / additionalProperties / items / requiredPrevious value: -[ - "rank_no", - "venue", - "venue_event_id", - "event_name", - "lead_market_id", - "market_name", - "source_data_status", - "excluded_reasons" -]New value: +[ + "rank_no", + "venue", + "venue_event_id", + "event_name", + "source_data_status", + "excluded_reasons" +] - added
Output schema / properties / overall / items / properties / latest_mid_probability / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / latest_mid_probability / typeRemoved value: -"number" - added
Output schema / properties / overall / items / properties / lead_market_id / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / lead_market_id / typeRemoved value: -"string" - added
Output schema / properties / overall / items / properties / market_name / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / market_name / typeRemoved value: -"string" - added
Output schema / properties / overall / items / properties / open_mid_probability_utc / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / open_mid_probability_utc / typeRemoved value: -"number" - added
Output schema / properties / overall / items / properties / probability_delta_today / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / probability_delta_today / typeRemoved value: -"number" - added
Output schema / properties / overall / items / properties / volume_delta_usd_today / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / volume_delta_usd_today / typeRemoved value: -"number" - changed
Output schema / properties / overall / items / requiredPrevious value: -[ - "rank_no", - "venue", - "venue_event_id", - "event_name", - "lead_market_id", - "market_name", - "source_data_status", - "excluded_reasons" -]New value: +[ + "rank_no", + "venue", + "venue_event_id", + "event_name", + "source_data_status", + "excluded_reasons" +]
- Changed
news_prediction_get_market_orderbook8 fields changed- changed
Input schema / properties / depth / descriptionPrevious value: -"Order book levels to return in yes_bids/yes_asks; default 20, range 1-20."New value: +"yes_bids/yes_asks level count; default 20, allowed 1-20 inclusive." - changed
Input schema / properties / mode / descriptionPrevious value: -"Must be empty or current. history is rejected."New value: +"Must be empty or current (default current). history and other modes are rejected." - added
Output schema / properties / book_levels / oneOfAdded value: +[ + { + "properties": { + "best_no_ask": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "best_no_bid": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "best_yes_ask": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "best_yes_bid": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "spread_no": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "spread_yes": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "top5_depth_ask_usd": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "top5_depth_bid_usd": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "yes_asks": { + "items": { + "properties": { + "price": { + "type": "number" + }, + "size": { + "type": "number" + } + }, + "required": [ + "price", + "size" + ], + "type": "object" + }, + "type": "array" + }, + "yes_bids": { + "items": { + "properties": { + "price": { + "type": "number" + }, + "size": { + "type": "number" + } + }, + "required": [ + "price", + "size" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "yes_bids", + "yes_asks" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / book_levels / propertiesRemoved value: -{ - "best_no_ask": { - "type": "number" - }, - "best_no_bid": { - "type": "number" - }, - "best_yes_ask": { - "type": "number" - }, - "best_yes_bid": { - "type": "number" - }, - "spread_no": { - "type": "number" - }, - "spread_yes": { - "type": "number" - }, - "top5_depth_ask_usd": { - "type": "number" - }, - "top5_depth_bid_usd": { - "type": "number" - }, - "yes_asks": { - "items": { - "properties": { - "price": { - "type": "number" - }, - "size": { - "type": "number" - } - }, - "required": [ - "price", - "size" - ], - "type": "object" - }, - "type": "array" - }, - "yes_bids": { - "items": { - "properties": { - "price": { - "type": "number" - }, - "size": { - "type": "number" - } - }, - "required": [ - "price", - "size" - ], - "type": "object" - }, - "type": "array" - } -} - removed
Output schema / properties / book_levels / requiredRemoved value: -[ - "best_yes_bid", - "best_yes_ask", - "best_no_bid", - "best_no_ask", - "spread_yes", - "spread_no", - "top5_depth_bid_usd", - "top5_depth_ask_usd", - "yes_bids", - "yes_asks" -] - removed
Output schema / properties / book_levels / typeRemoved value: -"object" - added
Output schema / properties / snapshot_time / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / snapshot_time / typeRemoved value: -"string"
- Changed
news_prediction_get_volume_delta_ranking28 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Optional category filter. Free text exact match against index field category; use all/empty to disable category filter."New value: +"Optional category filter: exact term on rank index field category; omit or all to disable." - changed
Input schema / properties / status / descriptionPrevious value: -"Optional status filter. Allowed: active, closed, resolved, all. Defaults to active."New value: +"Optional status filter on rank index. Allowed: active, closed, resolved, all. Defaults to active." - added
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / typeRemoved value: -"number" - added
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / typeRemoved value: -"string" - added
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / market_name / typeRemoved value: -"string" - added
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / typeRemoved value: -"number" - added
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / typeRemoved value: -"number" - added
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / typeRemoved value: -"number" - changed
Output schema / properties / by_venue / additionalProperties / items / requiredPrevious value: -[ - "rank_no", - "venue", - "venue_event_id", - "event_name", - "lead_market_id", - "market_name", - "source_data_status", - "excluded_reasons" -]New value: +[ + "rank_no", + "venue", + "venue_event_id", + "event_name", + "source_data_status", + "excluded_reasons" +] - added
Output schema / properties / overall / items / properties / latest_mid_probability / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / latest_mid_probability / typeRemoved value: -"number" - added
Output schema / properties / overall / items / properties / lead_market_id / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / lead_market_id / typeRemoved value: -"string" - added
Output schema / properties / overall / items / properties / market_name / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / market_name / typeRemoved value: -"string" - added
Output schema / properties / overall / items / properties / open_mid_probability_utc / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / open_mid_probability_utc / typeRemoved value: -"number" - added
Output schema / properties / overall / items / properties / probability_delta_today / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / probability_delta_today / typeRemoved value: -"number" - added
Output schema / properties / overall / items / properties / volume_delta_usd_today / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / overall / items / properties / volume_delta_usd_today / typeRemoved value: -"number" - changed
Output schema / properties / overall / items / requiredPrevious value: -[ - "rank_no", - "venue", - "venue_event_id", - "event_name", - "lead_market_id", - "market_name", - "source_data_status", - "excluded_reasons" -]New value: +[ + "rank_no", + "venue", + "venue_event_id", + "event_name", + "source_data_status", + "excluded_reasons" +]
- Changed
news_prediction_search_events26 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Optional primary category filter (e.g. crypto_price, elections, sports, other)."New value: +"Optional primary category (enum): crypto_event, crypto_price, culture, earnings, elections, finance, geopolitics, macro_economy, mentions, other, politics, sports, tech_ai, weather_climate, world." - changed
Input schema / properties / coin / descriptionPrevious value: -"Optional coin ticker (e.g. BTC); uppercased when set."New value: +"Optional coin ticker (e.g. BTC); normalized. Filters related_coins and symbols only (not coins/tokens); may return zero hits if index lacks those fields. Coin-only with no query/category defaults status=all." - changed
Input schema / properties / sort_by / descriptionPrevious value: -"Sort key; default attention. Allowed: attention, volume, liquidity, recently_listed, probability_change, volume_delta_today."New value: +"Sort key; default recently_listed. Allowed: attention, volume, liquidity, recently_listed, probability_change, volume_delta_today." - changed
Input schema / properties / status / descriptionPrevious value: -"Filter by status_tags; default active. Allowed: active, closed, resolved, all."New value: +"Filter by event_status; default active when query or category set, all when coin-only. Allowed: active, closed, resolved, all." - added
Output schema / properties / events / items / properties / attention_score / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / events / items / properties / attention_score / typeRemoved value: -"number" - added
Output schema / properties / events / items / properties / category_ai_primary / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / events / items / properties / category_ai_primary / typeRemoved value: -"string" - added
Output schema / properties / events / items / properties / lead_market_id / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / events / items / properties / lead_market_id / typeRemoved value: -"string" - added
Output schema / properties / events / items / properties / lead_yes_probability / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / events / items / properties / lead_yes_probability / typeRemoved value: -"number" - added
Output schema / properties / events / items / properties / markets / items / properties / liquidity_usd / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / events / items / properties / markets / items / properties / liquidity_usd / typeRemoved value: -"number" - added
Output schema / properties / events / items / properties / markets / items / properties / market_category_primary / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / events / items / properties / markets / items / properties / market_category_primary / typeRemoved value: -"string" - added
Output schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / typeRemoved value: -"number" - added
Output schema / properties / events / items / properties / total_liquidity_usd / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / events / items / properties / total_liquidity_usd / typeRemoved value: -"number" - added
Output schema / properties / events / items / properties / total_volume_usd_24h / oneOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / events / items / properties / total_volume_usd_24h / typeRemoved value: -"number" - changed
Output schema / properties / events / items / requiredPrevious value: -[ - "event_ref", - "venue", - "venue_event_id", - "venue_event_title", - "category_ai_primary", - "status_tags", - "market_count", - "lead_market_id", - "lead_yes_probability", - "total_volume_usd_24h", - "total_liquidity_usd", - "attention_score" -]New value: +[ + "event_ref", + "venue", + "venue_event_id", + "venue_event_title", + "status_tags", + "market_count" +] - added
Output schema / properties / next_page_token / oneOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / next_page_token / typeRemoved value: -"string" - changed
Output schema / requiredPrevious value: -[ - "partial", - "next_page_token", - "events", - "duration_ms" -]New value: +[ + "partial", + "events", + "duration_ms" +]
3 tool updates
- Added
news_prediction_get_event_signal - Added
news_prediction_get_market_orderbook - Added
news_prediction_search_events
1 tool update
- Added
news_events_explain_market_move
2 tool updates
- Changed
news_prediction_get_fastest_rising_ranking1 field changed- changed
Input schema / properties / venue / descriptionPrevious value: -"Optional venue filter. Allowed: polymarket, opinion, predict_fun."New value: +"Optional venue filter. Allowed: polymarket, predict_fun."
- Changed
news_prediction_get_volume_delta_ranking1 field changed- changed
Input schema / properties / venue / descriptionPrevious value: -"Optional venue filter. Allowed: polymarket, opinion, predict_fun."New value: +"Optional venue filter. Allowed: polymarket, predict_fun."
2 tool updates
- Added
news_prediction_get_fastest_rising_ranking - Added
news_prediction_get_volume_delta_ranking
3 tool updates
- Changed
news_events_get_event_detail1 field changed- changed
Input schema / properties / event_id / descriptionPrevious value: -"Required event_id from get_latest_events items (spec §7.10)—opaque digest id, not a trading pair slug or headline hash."New value: +"Required event_id from get_latest_events items—opaque digest id, not a trading pair slug or headline hash."
- Changed
news_events_get_latest_events4 fields changed- changed
Input schema / properties / coin / descriptionPrevious value: -"Optional comma-separated tickers e.g. BTC,ETH (spec §7.10: coin) for digest items; not the same as search_news tickers-only heat mode."New value: +"Optional comma-separated tickers e.g. BTC,ETH for digest items; not the same as search_news tickers-only heat mode." - changed
Input schema / properties / event_type / descriptionPrevious value: -"Optional filter on structured digest event_type (spec §7.10). Not search_news headline similarity/heat."New value: +"Optional filter on structured digest event_type. Not search_news headline similarity/heat." - changed
Input schema / properties / limit / descriptionPrevious value: -"Page size (spec §7.10: limit); default 20, max 100."New value: +"Page size; default 20, max 100." - changed
Input schema / properties / time_range / descriptionPrevious value: -"Relative window for event digest list (spec §7.10: time_range): 1h / 24h / 7d. Mutually exclusive with start_time/end_time; omit all for last 24h or server default when time filter disabled. Not CPI/Fed macro series—use macro indicator tools."New value: +"Relative window for event digest list: 1h / 24h / 7d. Mutually exclusive with start_time/end_time; omit all for last 24h or server default when time filter disabled. Not CPI/Fed macro series—use macro indicator tools."
- Changed
news_feed_get_exchange_announcements2 fields changed- changed
Input schema / properties / coin / descriptionPrevious value: -"Comma-separated tickers (spec §7.6: coin); omit if empty."New value: +"Comma-separated tickers; omit if empty." - changed
Input schema / properties / exchange / descriptionPrevious value: -"Venue id for API platform (spec §7.6: exchange); used when platform is empty; not merged with query."New value: +"Venue id for API platform; used when platform is empty; not merged with query."
8 tool updates
- First observed
news_events_get_event_detail - First observed
news_events_get_latest_events - First observed
news_feed_get_exchange_announcements - First observed
news_feed_get_social_sentiment - First observed
news_feed_search_news - First observed
news_feed_search_ugc - First observed
news_feed_search_x - First observed
news_feed_web_search
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Gate info MCP for coin discovery, market snapshots, technical analysis, and on-chain data.
Public Gate market data MCP for spot, futures, margin, options, delivery, earn, and alpha.
Gate DEX MCP for wallet auth, transfers, swaps, token info, market data, and RPC access.
Crypto market data & research MCP: price, derivatives, on-chain, sentiment, news, catalysts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceGoWeb3 Data MCP Server provides events and news curated by GoWeb3.fyiMIT
- AlicenseAqualityDmaintenanceMulti-language crypto news MCP server with editorial summaries, sentiment labels (BULLISH/NEUTRAL/BEARISH), and importance scores (0–100). 6 tools across 8 languages; every story credits the original publisher. Bridges stdio to the public Streamable HTTP endpoint at https://zippfeed.com/mcp/.61MIT
- AlicenseAqualityBmaintenanceMCP server for Gloria AI curated crypto news. Provides curated, real-time cryptocurrency news digests, recaps, and search.71MIT
- FlicenseAqualityDmaintenanceCrypto news aggregation MCP server with AI ratings, trading signals, and real-time updates. Enables searching, filtering, and subscribing to news from various sources.11-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct resource or action: event lists vs details, news index vs open web vs X vs multi-platform UGC, prediction event signals vs orderbooks vs rankings. Descriptions cross-reference alternatives, so an agent can reliably choose the right tool.
All tools follow a consistent verb_noun pattern with domain prefixes (news_events, news_feed, news_prediction). Verbs are get, search, list, explain, and nouns clearly describe the resource. No mixed conventions or vague names.
18 tools is well-scoped for the server's broad read-only purpose covering news, social sentiment, prediction markets, and market-move reports. Each tool covers a distinct function without redundancy or bloat.
The tool surface covers the full read-only lifecycle: searching and filtering events, retrieving details, aggregating social signals, searching various sources, and accessing prediction market data. No obvious gaps for the stated domain; all necessary operations are present.