Skip to main content
Glama

Server Details

Gate news MCP for crypto news, structured events, announcements, and social sentiment.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
gate/gate-mcp
GitHub Stars
37
Server Listing
Gate MCP Server

Available Tools

18 tools
news_events_explain_market_moveA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesTarget coin, e.g. BTC, ETH. Required at the Tool layer.
langNozh / en. Default zh.
modeNoauto / price_move / event_impact. Default auto.
queryYesUser's original question, e.g. 'Why did BTC surge?'
time_rangeNoTime window: 30m/1h/2h/4h/24h. Default 2h.

Output Schema

ParametersJSON Schema
NameRequiredDescription
coinYes
queryYes
summaryYes
time_rangeYes
data_statusYes
duration_msYes
latest_newsYes
supporting_eventsYes

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_detailA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesRequired event_id from get_latest_events items—opaque digest id, not a trading pair slug or headline hash.

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleNo
contentNo
summaryNo
symbolsNo
event_idYes
strengthNo
directionNo
duration_msYes
occurred_atNo
news_coverageNo
impact_analysisNo
impact_directionNo
community_reactionNo
impact_direction_reasonNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_eventsA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinNoOptional comma-separated tickers e.g. BTC,ETH for digest items; not the same as search_news tickers-only heat mode.
limitNoPage size; default 20, max 100.
cursorNoOptional pagination cursor.
end_timeNoAbsolute end (ISO8601 or Unix sec/ms). Mutually exclusive with time_range.
directionNoOptional filter on persisted impact_direction: positive / negative / neutral / mixed / unknown / all (default all, no filter). MCP does not re-judge direction.
event_typeNoOptional filter on structured digest event_type. Not search_news headline similarity/heat.
start_timeNoAbsolute start (ISO8601 or Unix sec/ms). Mutually exclusive with time_range; pair with end_time or let server fill the other bound.
time_rangeNoRelative 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

ParametersJSON Schema
NameRequiredDescription
coinNo
countYes
itemsYes
limitYes
totalYes
end_timeNo
directionNo
event_typeNo
start_timeNo
time_rangeNo
duration_msYes

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_reportA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesRequired cryptocurrency symbol, for example BTC or TAIKO; 1-20 characters and normalized to uppercase.
event_idNoOptional market-move event ID. When report_id and event_id are omitted, returns the latest report for symbol.
report_idNoOptional report ID for an exact lookup. Takes priority over event_id when both are provided.

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleNonullable
symbolYes
summaryNonullable
z_priceNonullable
event_idYes
evidenceNonullable
directionNonullable
report_idYes
created_atNoReport creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.
event_timeNoMarket-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.
updated_atNoReport 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_endNoAnalysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.
duration_msNoMCP-to-service-ai-pe call duration; populated by get_market_move_report.
report_infoNoMarket-move attribution report in Markdown; null when unavailable or pending.
source_typeNonullable
generated_atNoReport generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.
window_startNoAnalysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.
report_statusYescompleted, pending, failed, or not_found.
storage_errorNo
trigger_labelNonullable
candidate_typeYes
storage_statusNo
window_end_utc8NoAnalysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.
price_change_pctNonullable
window_start_utc8NoAnalysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.
z_price_thresholdNonullable
display_expire_timeNoReport display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.
absolute_change_thresholdNonullable

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_reportsA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum reports to return; omitted or 0 defaults to 20, otherwise allowed range is 1-100.
symbolYesRequired cryptocurrency symbol, for example ETH; 1-20 characters and normalized to uppercase.
end_timeYesRequired 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_timeYesRequired 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

ParametersJSON Schema
NameRequiredDescription
statusYesready, generating, not_found, or failed.
reportsYesReports 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_idYes
duration_msYes

TDQS

A4.3/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: '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.

Usage Guidelines3/5

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_announcementsA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoWindow end Unix sec inclusive; forwarded downstream and filtered locally.
coinNoComma-separated tickers; omit if empty.
fromNoWindow start Unix sec; omit if <= 0; MCP also filters locally after fetch.
limitNoMax rows; omit if unset or <= 0; cap 100 when set.
queryNoOptional 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.
exchangeNoVenue id for API platform; used when platform is empty; not merged with query.
platformNoURL param platform; wins over exchange; if empty falls back to exchange.
announcement_typeNolisting / delisting / maintenance / all. Omit or unknown value is treated as all (no type filter).

Output Schema

ParametersJSON Schema
NameRequiredDescription
toNo
coinNo
fromNo
countYes
itemsYes
limitNo
queryNo
totalYes
exchangeNo
platformNo
duration_msYes
announcement_typeNo

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_topicsA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesRequired 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.
limitNoNumber of hot topics to return. Default 4; allowed range 2 to 4.
windowNoAggregation window. Only 4h is currently supported; default 4h.
platformsNoComma-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

ParametersJSON Schema
NameRequiredDescription
coinYes
topicsYesTwo to four qualified topics, or an empty array when evidence is insufficient.
windowYes
trace_idNo
duration_msYes
hide_reasonYesno_data or insufficient_evidence when topics should be hidden; null when displayable.
generated_atYesUpstream generation time as Unix seconds.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_burstA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesRequired 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.
windowNoAggregation window. Only 24h is currently supported; default 24h.
platformsNoComma-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

ParametersJSON Schema
NameRequiredDescription
coinYes
windowYes
is_burstYesTrue when the upstream burst thresholds for baseline, sample size, and growth are all met.
trace_idNo
duration_msYes
growth_rateYesWeighted mention growth versus the previous 24h; null when no baseline exists.
hide_reasonYesWhy the signal should be hidden: no_data, insufficient_baseline, insufficient_sample, or not_burst; null when displayable.
display_colorYesDisplay color generated by the upstream service: red, green, or neutral.
evidence_summaryYesHuman-readable evidence summary; null when unavailable.
platform_breakdownYes
sentiment_directionYesbullish, bearish, or neutral.
current_mention_countYes
previous_mention_countYes
current_weighted_mention_countYes
previous_weighted_mention_countYes

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_sentimentA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinNoTickers 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_rangeNo1h / 24h (default) / 7d window for per-coin sentiment aggregation (overall sentiment, positive/negative split, mention count).

Output Schema

ParametersJSON Schema
NameRequiredDescription
coinNo
time_rangeNo
top_tweetsYes
duration_msYes
mention_countYes
sentiment_labelYes
overall_sentimentYes
sentiment_label_rawNo
sentiment_distributionYes

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_newsA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinNoComma-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).
langNoMCP-only filter on metadata.lang or top-level lang; not sent to upstream API.
pageNoPage number mapped to API page; default 1.
limitNoPage size mapped to API page_size; default 10, max 100.
queryNoNon-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_byNoe.g. time (default); similarity mode with top_total_score 0 may still apply MCP local time sort.
end_timeNoEnd time mapped to API to (Unix sec). Ignored when time_range is set. End-only defaults start to 24h before end.
platformNoSource platform name for API platform (e.g. panews, theblock).
start_timeNoStart 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_rangeNoOptional 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_typeNoLegacy: maps to API platform when platform is omitted; omit platform when value is all.
top_total_scoreNoOnly when query empty (0 or 1); non-empty query forces similarity mode.
similarity_scoreNoSimilarity threshold; default 0.6 when query set; when query empty only sent if explicitly set.

Output Schema

ParametersJSON Schema
NameRequiredDescription
toYes
coinNo
fromYes
langNo
pageNo
countYes
itemsYes
limitNo
queryNo
totalYes
sort_byNo
end_timeNo
platformNo
page_sizeNo
start_timeNo
time_rangeNo
duration_msYes
platform_typeNo
top_total_scoreYes
similarity_scoreNo

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_ugcA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinNoTicker filter; with query filters results; without query required with index for OpenSearch list mode.
limitNoMax items; default 10, max 50.
queryNoOptional NL query; non-empty uses vector search. May combine with coin; both empty is invalid.
domainNoUGC 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.
channelNoOptional source channel e.g. r/ethereum or handle.
sort_byNorelevance (default) / upvotes / recent.
platformNoreddit / discord / telegram / youtube / all (default all).
time_rangeNo1h / 24h / 7d (default) / 30d / all.
quality_tierNoA (default, high quality) / B / all.

Output Schema

ParametersJSON Schema
NameRequiredDescription
coinNo
countYes
itemsYes
limitNo
queryNo
totalYes
domainNo
channelNo
sort_byNo
platformNo
time_rangeNo
duration_msYes
quality_tierNo

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_xA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLookback days when time_range omitted; omitted or <=0 treated as 1 (24h); min 1 when explicitly set.
langNoAnswer language: zh (default) / en / auto.
modelNoOverride configured Grok model id.
queryNoX/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_rangeNoPreferred recency window for search_x: 1h / 24h (default) / 7d. Takes precedence over days when set.
allowed_handlesNoInclude these X handles without @, max 10; mutually exclusive with excluded_handles.
excluded_handlesNoExclude these handles, max 10.
enable_image_understandingNoAnalyze images in posts.
enable_video_understandingNoAnalyze video in posts.

Output Schema

ParametersJSON Schema
NameRequiredDescription
daysNo
langNo
countYes
itemsYes
modelNo
queryNo
totalYes
sourceNo
contentYesSame as summary for legacy clients; tweet-level X/Twitter evidence—not headline index (search_news).
summaryYesxAI: 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_dateNo
from_dateNo
disclaimerNoFixed disclaimer on successful xAI response.
key_pointsYesxAI: bullet points from cited posts; empty array if none. Not briefing-style platform news lists (search_news).
duration_msYes
cited_tweetsYesxAI: tweet-level evidence and cited posts; fields depend on model and citations.
allowed_handlesNo
sentiment_labelYesxAI: bullish / bearish / neutral for the discussion; empty if unknown. Not per-coin sentiment label KPIs (get_social_sentiment).
sentiment_scoreNoxAI: 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_handlesNo

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_prediction_get_event_signalA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
venueNoOptional; each non-empty value must equal event_ref venue or invalid_param.
windowNoRecency filter on part_hour; default 24h. Allowed: 1h, 24h, 7d (case-insensitive).
event_refYesRequired. venue:venue_event_id (split on first colon; id may contain more colons). Discover via search_events.
include_marketsNoOmitted or null defaults true. false omits markets[]; true parses embedded markets or enriches from predictionMarketIndex.
include_orderbook_summaryNoDeprecated and ignored; depth_summary is always null—use get_market_orderbook.

Output Schema

ParametersJSON Schema
NameRequiredDescription
windowNo
marketsNo
partialYes
duration_msYes
signal_timeYes
volume_flowYes
daily_rankingNonullable
depth_summaryYesnullable
event_identityYes
missing_sourcesYes
source_data_statusYes
directional_contextYes
outcome_probabilitiesYes
cross_venue_divergenceNonullable

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_rankingA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size; default 20, max 100.
venueNoOptional venue filter. Allowed: polymarket, predict_fun.
statusNoOptional status filter on rank index. Allowed: active, closed, resolved, all. Defaults to active.
categoryNoOptional category filter: exact term on rank index field category; omit or all to disable.
date_utcNoUTC date in YYYY-MM-DD. Defaults to today_utc.

Output Schema

ParametersJSON Schema
NameRequiredDescription
overallYes
partialYes
by_venueYes
duration_msYes
generated_atYes
rank_date_utcYes
missing_sourcesYes
excluded_reasonsYes
source_data_statusYes

TDQS

A4.3/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_orderbookA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoEmpty or current only (default current). history and other values rejected.
depthNoyes_bids/yes_asks top-N levels; default 20; allowed 1-20 inclusive; out of range invalid_param.
venueYesRequired. polymarket or predict_fun. polymarket needs predictionMarketIndex; predict_fun needs predictFunAPIKey (else partial_not_configured, not a tool error).
end_timeNoUnsupported; if set, request is rejected.
market_idYesRequired. 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_tokenNoUnsupported; if set, request is rejected.
start_timeNoUnsupported; if set, request is rejected.
granularityNoUnsupported; if set, request is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
modeYes
venueYes
partialYes
market_idYes
source_apiYes
book_levelsYesnullable
duration_msYes
snapshot_timeYesnullable
missing_sourcesYes
source_data_statusYes

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_rankingA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size; default 20, max 100.
venueNoOptional venue filter. Allowed: polymarket, predict_fun.
statusNoOptional status filter on rank index. Allowed: active, closed, resolved, all. Defaults to active.
categoryNoOptional category filter: exact term on rank index field category; omit or all to disable.
date_utcNoUTC date in YYYY-MM-DD. Defaults to today_utc.

Output Schema

ParametersJSON Schema
NameRequiredDescription
overallYes
partialYes
by_venueYes
duration_msYes
generated_atYes
rank_date_utcYes
missing_sourcesYes
excluded_reasonsYes
source_data_statusYes

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_eventsA
Read-onlyIdempotent
Inspect

[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.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinNoOptional coin ticker; cannot be used alone without query or category (unsupported_filter). With query/category expands text recall only (best_effort).
limitNoPage size; default 20, max 100.
queryNoOptional full-text query; all of query, coin, category are optional.
venueNoOptional venue filter. Allowed: polymarket, predict_fun.
statusNoFilter by ES event_status; default active. Allowed: active, closed, resolved, all. Response status_tags comes from status_json_array.
sort_byNoSort key; default attention. Allowed: attention, volume, liquidity, recently_listed, probability_change, volume_delta_today (maps to total_volume_usd_24h on signal index).
categoryNoOptional primary category enum (crypto_price, sports, elections, …). Matches event_category_primary or lead_market_category_primary.
page_tokenNoBase64URL page token from prior next_page_token; filters must match first page.
with_marketsNoWhen true, attach market summaries from source_markets_json or predictionMarketIndex.

Output Schema

ParametersJSON Schema
NameRequiredDescription
eventsYes
partialYes
duration_msYes
missing_sourcesNo
next_page_tokenNonullable
coin_filter_modeNo
effective_sort_byNoActual sort applied (equals sort_by unless ES sort fallback).

TDQS

A4.9/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 18 tool updates
    • Changednews_events_explain_market_move8 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data_status / additionalProperties
        Added value: +false
      • changedOutput schema / properties / data_status / properties / missing_sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / latest_news / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / latest_news / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / supporting_events / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / supporting_events / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_events_get_event_detail3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • changedOutput schema / properties / symbols / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_events_get_latest_events6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / items / items / properties / related_coins / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / items / items / properties / tags / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_events_get_market_move_report64 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / absolute_change_threshold / description
        Added value: +"nullable"
      • removedOutput schema / properties / absolute_change_threshold / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / absolute_change_threshold / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / created_at / description
        Added value: +"Report creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / created_at / oneOf
        Removed value: -[
        -  {
        -    "description": "Report creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / created_at / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / direction / description
        Added value: +"nullable"
      • removedOutput schema / properties / direction / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / direction / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / display_expire_time / description
        Added value: +"Report display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / display_expire_time / oneOf
        Removed value: -[
        -  {
        -    "description": "Report display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / display_expire_time / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / event_time / description
        Added value: +"Market-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / event_time / oneOf
        Removed value: -[
        -  {
        -    "description": "Market-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / event_time / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / evidence / additionalProperties
        Added value: +false
      • addedOutput schema / properties / evidence / description
        Added value: +"nullable"
      • removedOutput schema / properties / evidence / oneOf
        Removed 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"
        -  }
        -]
      • addedOutput schema / properties / evidence / properties
        Added 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"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / evidence / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / generated_at / description
        Added value: +"Report generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / generated_at / oneOf
        Removed value: -[
        -  {
        -    "description": "Report generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / generated_at / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / price_change_pct / description
        Added value: +"nullable"
      • removedOutput schema / properties / price_change_pct / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / price_change_pct / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / report_info / description
        Added value: +"Market-move attribution report in Markdown; null when unavailable or pending."
      • removedOutput schema / properties / report_info / oneOf
        Removed value: -[
        -  {
        -    "description": "Market-move attribution report in Markdown; null when unavailable or pending.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / report_info / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / source_type / description
        Added value: +"nullable"
      • removedOutput schema / properties / source_type / oneOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / source_type / type
        Added value: +[
        +  "null",
        +  "integer"
        +]
      • addedOutput schema / properties / summary / description
        Added value: +"nullable"
      • removedOutput schema / properties / summary / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / summary / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / title / description
        Added value: +"nullable"
      • removedOutput schema / properties / title / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / title / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / trigger_label / description
        Added value: +"nullable"
      • removedOutput schema / properties / trigger_label / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / trigger_label / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / updated_at / description
        Added 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."
      • removedOutput schema / properties / updated_at / oneOf
        Removed 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"
        -  }
        -]
      • addedOutput schema / properties / updated_at / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / window_end / description
        Added value: +"Analysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / window_end / oneOf
        Removed value: -[
        -  {
        -    "description": "Analysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / window_end / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / window_end_utc8 / description
        Added value: +"Analysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset."
      • removedOutput schema / properties / window_end_utc8 / oneOf
        Removed value: -[
        -  {
        -    "description": "Analysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / window_end_utc8 / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / window_start / description
        Added value: +"Analysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / window_start / oneOf
        Removed value: -[
        -  {
        -    "description": "Analysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / window_start / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / window_start_utc8 / description
        Added value: +"Analysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset."
      • removedOutput schema / properties / window_start_utc8 / oneOf
        Removed value: -[
        -  {
        -    "description": "Analysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / window_start_utc8 / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / z_price / description
        Added value: +"nullable"
      • removedOutput schema / properties / z_price / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / z_price / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / z_price_threshold / description
        Added value: +"nullable"
      • removedOutput schema / properties / z_price_threshold / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / z_price_threshold / type
        Added value: +[
        +  "null",
        +  "number"
        +]
    • Changednews_events_list_market_move_reports69 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / limit / default
        Removed value: -20
      • removedInput schema / properties / limit / maximum
        Removed value: -100
      • removedInput schema / properties / limit / minimum
        Removed value: -0
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / reports / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / reports / items / properties / absolute_change_threshold / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / absolute_change_threshold / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / absolute_change_threshold / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / reports / items / properties / created_at / description
        Added value: +"Report creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / reports / items / properties / created_at / oneOf
        Removed value: -[
        -  {
        -    "description": "Report creation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / created_at / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / direction / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / direction / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / direction / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / display_expire_time / description
        Added value: +"Report display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / reports / items / properties / display_expire_time / oneOf
        Removed value: -[
        -  {
        -    "description": "Report display-expiration time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / display_expire_time / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / event_time / description
        Added value: +"Market-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / reports / items / properties / event_time / oneOf
        Removed value: -[
        -  {
        -    "description": "Market-move event time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / event_time / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / evidence / additionalProperties
        Added value: +false
      • addedOutput schema / properties / reports / items / properties / evidence / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / evidence / oneOf
        Removed 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"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / evidence / properties
        Added 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"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / reports / items / properties / evidence / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / reports / items / properties / generated_at / description
        Added value: +"Report generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / reports / items / properties / generated_at / oneOf
        Removed value: -[
        -  {
        -    "description": "Report generation time in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / generated_at / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / price_change_pct / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / price_change_pct / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / price_change_pct / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / reports / items / properties / report_info / description
        Added value: +"Market-move attribution report in Markdown; null when unavailable or pending."
      • removedOutput schema / properties / reports / items / properties / report_info / oneOf
        Removed value: -[
        -  {
        -    "description": "Market-move attribution report in Markdown; null when unavailable or pending.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / report_info / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / source_type / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / source_type / oneOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / source_type / type
        Added value: +[
        +  "null",
        +  "integer"
        +]
      • addedOutput schema / properties / reports / items / properties / summary / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / summary / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / summary / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / title / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / title / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / title / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / trigger_label / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / trigger_label / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / trigger_label / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / updated_at / description
        Added 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."
      • removedOutput schema / properties / reports / items / properties / updated_at / oneOf
        Removed 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"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / updated_at / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / window_end / description
        Added value: +"Analysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / reports / items / properties / window_end / oneOf
        Removed value: -[
        -  {
        -    "description": "Analysis-window end in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / window_end / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / window_end_utc8 / description
        Added value: +"Analysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset."
      • removedOutput schema / properties / reports / items / properties / window_end_utc8 / oneOf
        Removed value: -[
        -  {
        -    "description": "Analysis-window end converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / window_end_utc8 / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / window_start / description
        Added value: +"Analysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix."
      • removedOutput schema / properties / reports / items / properties / window_start / oneOf
        Removed value: -[
        -  {
        -    "description": "Analysis-window start in UTC0, formatted as YYYY-MM-DD HH:MM:SS without a timezone suffix.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / window_start / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / window_start_utc8 / description
        Added value: +"Analysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset."
      • removedOutput schema / properties / reports / items / properties / window_start_utc8 / oneOf
        Removed value: -[
        -  {
        -    "description": "Analysis-window start converted from UTC0 to UTC+8, returned with an explicit +08:00 offset.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / window_start_utc8 / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / reports / items / properties / z_price / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / z_price / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / z_price / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / reports / items / properties / z_price_threshold / description
        Added value: +"nullable"
      • removedOutput schema / properties / reports / items / properties / z_price_threshold / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / reports / items / properties / z_price_threshold / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / reports / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_feed_get_exchange_announcements4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_feed_get_hot_topics14 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / hide_reason / description
        Added value: +"no_data or insufficient_evidence when topics should be hidden; null when displayable."
      • removedOutput schema / properties / hide_reason / oneOf
        Removed value: -[
        -  {
        -    "description": "no_data or insufficient_evidence when topics should be hidden; null when displayable.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hide_reason / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / topics / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / topics / items / properties / evidence_posts / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / topics / items / properties / evidence_posts / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / topics / items / properties / platforms / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / topics / items / properties / sentiment_score / description
        Added value: +"Average topic sentiment; null when unavailable."
      • removedOutput schema / properties / topics / items / properties / sentiment_score / oneOf
        Removed value: -[
        -  {
        -    "description": "Average topic sentiment; null when unavailable.",
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / topics / items / properties / sentiment_score / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / topics / items / properties / topic_titles / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / topics / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_feed_get_mention_burst19 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / evidence_summary / description
        Added value: +"Human-readable evidence summary; null when unavailable."
      • removedOutput schema / properties / evidence_summary / oneOf
        Removed value: -[
        -  {
        -    "description": "Human-readable evidence summary; null when unavailable.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / evidence_summary / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / growth_rate / description
        Added value: +"Weighted mention growth versus the previous 24h; null when no baseline exists."
      • removedOutput schema / properties / growth_rate / oneOf
        Removed value: -[
        -  {
        -    "description": "Weighted mention growth versus the previous 24h; null when no baseline exists.",
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / growth_rate / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / hide_reason / description
        Added value: +"Why the signal should be hidden: no_data, insufficient_baseline, insufficient_sample, or not_burst; null when displayable."
      • removedOutput schema / properties / hide_reason / oneOf
        Removed value: -[
        -  {
        -    "description": "Why the signal should be hidden: no_data, insufficient_baseline, insufficient_sample, or not_burst; null when displayable.",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / hide_reason / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / platform_breakdown / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / platform_breakdown / items / properties / growth_rate / description
        Added value: +"Weighted mention growth versus the previous window; null when no baseline exists."
      • removedOutput schema / properties / platform_breakdown / items / properties / growth_rate / oneOf
        Removed value: -[
        -  {
        -    "description": "Weighted mention growth versus the previous window; null when no baseline exists.",
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / platform_breakdown / items / properties / growth_rate / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / platform_breakdown / items / properties / sentiment_score / description
        Added value: +"Platform sentiment score; null when unavailable."
      • removedOutput schema / properties / platform_breakdown / items / properties / sentiment_score / oneOf
        Removed value: -[
        -  {
        -    "description": "Platform sentiment score; null when unavailable.",
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / platform_breakdown / items / properties / sentiment_score / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / platform_breakdown / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_feed_get_social_sentiment6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / sentiment_distribution / additionalProperties
        Added value: +false
      • changedOutput schema / properties / sentiment_distribution / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / top_tweets / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / top_tweets / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_feed_search_news5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / top_total_score / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_feed_search_ugc4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_feed_search_x14 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / allowed_handles / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedInput schema / properties / excluded_handles / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • changedOutput schema / properties / allowed_handles / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / cited_tweets / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / cited_tweets / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / excluded_handles / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / key_points / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / sentiment_score / description
        Added 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)."
      • removedOutput schema / properties / sentiment_score / oneOf
        Removed 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"
        -  }
        -]
      • addedOutput schema / properties / sentiment_score / type
        Added value: +[
        +  "null",
        +  "integer"
        +]
    • Changednews_feed_web_search7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / cited_sources / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / cited_sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / key_points / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_prediction_get_event_signal73 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / include_markets / type
        Previous value: -"boolean"New value: +[
        +  "null",
        +  "boolean"
        +]
      • changedInput schema / properties / venue / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / cross_venue_divergence / description
        Added value: +"nullable"
      • removedOutput schema / properties / cross_venue_divergence / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / cross_venue_divergence / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / daily_ranking / additionalProperties
        Added value: +false
      • addedOutput schema / properties / daily_ranking / description
        Added value: +"nullable"
      • removedOutput schema / properties / daily_ranking / oneOf
        Removed 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"
        -  }
        -]
      • addedOutput schema / properties / daily_ranking / properties
        Added 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"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / daily_ranking / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / depth_summary / additionalProperties
        Added value: +false
      • addedOutput schema / properties / depth_summary / description
        Added value: +"nullable"
      • removedOutput schema / properties / depth_summary / oneOf
        Removed 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"
        -  }
        -]
      • addedOutput schema / properties / depth_summary / properties
        Added 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"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / depth_summary / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / directional_context / additionalProperties
        Added value: +true
      • addedOutput schema / properties / event_identity / additionalProperties
        Added value: +false
      • addedOutput schema / properties / event_identity / properties / category_ai_primary / description
        Added value: +"nullable"
      • removedOutput schema / properties / event_identity / properties / category_ai_primary / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / event_identity / properties / category_ai_primary / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • changedOutput schema / properties / event_identity / properties / status_tags / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / markets / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / markets / items / properties / liquidity_usd / description
        Added value: +"nullable"
      • removedOutput schema / properties / markets / items / properties / liquidity_usd / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / markets / items / properties / liquidity_usd / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / markets / items / properties / market_category_ai_primary / description
        Added value: +"nullable"
      • removedOutput schema / properties / markets / items / properties / market_category_ai_primary / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / markets / items / properties / market_category_ai_primary / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / markets / items / properties / mid_yes_probability / description
        Added value: +"nullable"
      • removedOutput schema / properties / markets / items / properties / mid_yes_probability / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / markets / items / properties / mid_yes_probability / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / markets / items / properties / price_bar_time / description
        Added value: +"nullable"
      • removedOutput schema / properties / markets / items / properties / price_bar_time / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / markets / items / properties / price_bar_time / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / markets / items / properties / probability_change_6h / description
        Added value: +"nullable"
      • removedOutput schema / properties / markets / items / properties / probability_change_6h / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / markets / items / properties / probability_change_6h / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / markets / items / properties / volume_24h_usd / description
        Added value: +"nullable"
      • removedOutput schema / properties / markets / items / properties / volume_24h_usd / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / markets / items / properties / volume_24h_usd / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / markets / items / properties / volume_total_usd / description
        Added value: +"nullable"
      • removedOutput schema / properties / markets / items / properties / volume_total_usd / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / markets / items / properties / volume_total_usd / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / markets / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / missing_sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / outcome_probabilities / additionalProperties
        Added value: +false
      • addedOutput schema / properties / outcome_probabilities / properties / no_probability / description
        Added value: +"nullable"
      • removedOutput schema / properties / outcome_probabilities / properties / no_probability / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / outcome_probabilities / properties / no_probability / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / outcome_probabilities / properties / probability_change_1h / description
        Added value: +"nullable"
      • removedOutput schema / properties / outcome_probabilities / properties / probability_change_1h / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / outcome_probabilities / properties / probability_change_1h / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / outcome_probabilities / properties / probability_change_24h / description
        Added value: +"nullable"
      • removedOutput schema / properties / outcome_probabilities / properties / probability_change_24h / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / outcome_probabilities / properties / probability_change_24h / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / outcome_probabilities / properties / probability_change_6h / description
        Added value: +"nullable"
      • removedOutput schema / properties / outcome_probabilities / properties / probability_change_6h / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / outcome_probabilities / properties / probability_change_6h / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / outcome_probabilities / properties / yes_probability / description
        Added value: +"nullable"
      • removedOutput schema / properties / outcome_probabilities / properties / yes_probability / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / outcome_probabilities / properties / yes_probability / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / volume_flow / additionalProperties
        Added value: +false
      • addedOutput schema / properties / volume_flow / properties / total_liquidity_usd / description
        Added value: +"nullable"
      • removedOutput schema / properties / volume_flow / properties / total_liquidity_usd / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / volume_flow / properties / total_liquidity_usd / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / volume_flow / properties / total_volume_usd_24h / description
        Added value: +"nullable"
      • removedOutput schema / properties / volume_flow / properties / total_volume_usd_24h / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / volume_flow / properties / total_volume_usd_24h / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / volume_flow / properties / volume_delta_usd_today / description
        Added value: +"nullable"
      • removedOutput schema / properties / volume_flow / properties / volume_delta_usd_today / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / volume_flow / properties / volume_delta_usd_today / type
        Added value: +[
        +  "null",
        +  "number"
        +]
    • Changednews_prediction_get_fastest_rising_ranking48 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / limit / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedInput schema / properties / venue / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / by_venue / additionalProperties / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / by_venue / additionalProperties / items / properties / excluded_reasons / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / by_venue / additionalProperties / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / excluded_reasons / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / missing_sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / overall / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / overall / items / properties / excluded_reasons / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / overall / items / properties / latest_mid_probability / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / latest_mid_probability / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / latest_mid_probability / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / overall / items / properties / lead_market_id / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / lead_market_id / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / lead_market_id / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / overall / items / properties / market_name / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / market_name / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / market_name / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / overall / items / properties / open_mid_probability_utc / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / open_mid_probability_utc / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / open_mid_probability_utc / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / overall / items / properties / probability_delta_today / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / probability_delta_today / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / probability_delta_today / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / overall / items / properties / volume_delta_usd_today / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / volume_delta_usd_today / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / volume_delta_usd_today / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / overall / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_prediction_get_market_orderbook13 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / depth / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / book_levels / additionalProperties
        Added value: +false
      • addedOutput schema / properties / book_levels / description
        Added value: +"nullable"
      • removedOutput schema / properties / book_levels / oneOf
        Removed 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"
        -  }
        -]
      • addedOutput schema / properties / book_levels / properties
        Added 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"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / book_levels / required
        Added value: +[
        +  "yes_bids",
        +  "yes_asks"
        +]
      • addedOutput schema / properties / book_levels / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • changedOutput schema / properties / missing_sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / snapshot_time / description
        Added value: +"nullable"
      • removedOutput schema / properties / snapshot_time / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / snapshot_time / type
        Added value: +[
        +  "null",
        +  "string"
        +]
    • Changednews_prediction_get_volume_delta_ranking48 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / limit / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedInput schema / properties / venue / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / by_venue / additionalProperties / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / by_venue / additionalProperties / items / properties / excluded_reasons / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / description
        Added value: +"nullable"
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / by_venue / additionalProperties / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / excluded_reasons / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / missing_sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / overall / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / overall / items / properties / excluded_reasons / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / overall / items / properties / latest_mid_probability / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / latest_mid_probability / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / latest_mid_probability / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / overall / items / properties / lead_market_id / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / lead_market_id / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / lead_market_id / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / overall / items / properties / market_name / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / market_name / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / market_name / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / overall / items / properties / open_mid_probability_utc / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / open_mid_probability_utc / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / open_mid_probability_utc / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / overall / items / properties / probability_delta_today / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / probability_delta_today / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / probability_delta_today / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / overall / items / properties / volume_delta_usd_today / description
        Added value: +"nullable"
      • removedOutput schema / properties / overall / items / properties / volume_delta_usd_today / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / overall / items / properties / volume_delta_usd_today / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / overall / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changednews_prediction_search_events41 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / limit / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedInput schema / properties / venue / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / events / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / events / items / properties / attention_score / description
        Added value: +"nullable"
      • removedOutput schema / properties / events / items / properties / attention_score / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / events / items / properties / attention_score / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / events / items / properties / category_ai_primary / description
        Added value: +"nullable"
      • removedOutput schema / properties / events / items / properties / category_ai_primary / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / events / items / properties / category_ai_primary / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / events / items / properties / lead_market_id / description
        Added value: +"nullable"
      • removedOutput schema / properties / events / items / properties / lead_market_id / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / events / items / properties / lead_market_id / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / events / items / properties / lead_yes_probability / description
        Added value: +"nullable"
      • removedOutput schema / properties / events / items / properties / lead_yes_probability / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / events / items / properties / lead_yes_probability / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / events / items / properties / market_category_ai_primary / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / events / items / properties / markets / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / events / items / properties / markets / items / properties / liquidity_usd / description
        Added value: +"nullable"
      • removedOutput schema / properties / events / items / properties / markets / items / properties / liquidity_usd / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / events / items / properties / markets / items / properties / liquidity_usd / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / events / items / properties / markets / items / properties / market_category_primary / description
        Added value: +"nullable"
      • removedOutput schema / properties / events / items / properties / markets / items / properties / market_category_primary / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / events / items / properties / markets / items / properties / market_category_primary / type
        Added value: +[
        +  "null",
        +  "string"
        +]
      • addedOutput schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / description
        Added value: +"nullable"
      • removedOutput schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / events / items / properties / markets / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / events / items / properties / status_tags / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / events / items / properties / total_liquidity_usd / description
        Added value: +"nullable"
      • removedOutput schema / properties / events / items / properties / total_liquidity_usd / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / events / items / properties / total_liquidity_usd / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / properties / events / items / properties / total_volume_usd_24h / description
        Added value: +"nullable"
      • removedOutput schema / properties / events / items / properties / total_volume_usd_24h / oneOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / events / items / properties / total_volume_usd_24h / type
        Added value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / events / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / missing_sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / next_page_token / description
        Added value: +"nullable"
      • removedOutput schema / properties / next_page_token / oneOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / next_page_token / type
        Added value: +[
        +  "null",
        +  "string"
        +]
  2. 1 tool update
    • Changednews_feed_search_x22 fields changed
      • changedInput schema / properties / allowed_handles / description
        Previous 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."
      • removedInput schema / properties / coin
        Removed 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"
        -}
      • changedInput schema / properties / days / description
        Previous 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."
      • changedInput schema / properties / enable_image_understanding / description
        Previous value: -"xAI only: analyze images in posts."New value: +"Analyze images in posts."
      • changedInput schema / properties / enable_video_understanding / description
        Previous value: -"xAI only: analyze video in posts."New value: +"Analyze video in posts."
      • removedInput schema / properties / end_time
        Removed value: -{
        -  "description": "Platform fallback: maps to to.",
        -  "type": "string"
        -}
      • changedInput schema / properties / excluded_handles / description
        Previous value: -"xAI only: exclude these handles, max 10."New value: +"Exclude these handles, max 10."
      • changedInput schema / properties / lang / description
        Previous 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."
      • removedInput schema / properties / limit
        Removed value: -{
        -  "description": "Platform fallback: page_size, default 10.",
        -  "type": "integer"
        -}
      • changedInput schema / properties / model / description
        Previous value: -"xAI only: override configured Grok model id."New value: +"Override configured Grok model id."
      • removedInput schema / properties / page
        Removed value: -{
        -  "description": "Platform fallback: page number.",
        -  "type": "integer"
        -}
      • removedInput schema / properties / platform
        Removed value: -{
        -  "description": "Platform fallback: platform.",
        -  "type": "string"
        -}
      • removedInput schema / properties / platform_type
        Removed value: -{
        -  "description": "Platform fallback: maps when platform omitted.",
        -  "type": "string"
        -}
      • changedInput schema / properties / query / description
        Previous 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."
      • removedInput schema / properties / similarity_score
        Removed value: -{
        -  "description": "Platform fallback: similarity threshold.",
        -  "type": "string"
        -}
      • removedInput schema / properties / sort_by
        Removed value: -{
        -  "description": "Platform fallback: sort field.",
        -  "type": "string"
        -}
      • removedInput schema / properties / start_time
        Removed value: -{
        -  "description": "Platform fallback: maps to from (Unix sec).",
        -  "type": "string"
        -}
      • removedInput schema / properties / top_total_score
        Removed value: -{
        -  "description": "Platform fallback: heat vs similarity.",
        -  "type": "integer"
        -}
      • removedOutput schema / properties / coin
        Removed value: -{
        -  "type": "string"
        -}
      • changedOutput schema / properties / disclaimer / description
        Previous value: -"Fixed disclaimer on xAI success; empty on platform fallback."New value: +"Fixed disclaimer on successful xAI response."
      • removedOutput schema / properties / platform
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / platform_type
        Removed value: -{
        -  "type": "string"
        -}
  3. 2 tool updates
    • Changednews_events_get_event_detail2 fields changed
      • addedOutput schema / properties / impact_direction
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / impact_direction_reason
        Added value: +{
        +  "type": "string"
        +}
    • Changednews_events_get_latest_events4 fields changed
      • addedInput schema / properties / direction
        Added 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"
        +}
      • addedOutput schema / properties / direction
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / items / items / properties / impact_direction
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / items / items / properties / impact_direction_reason
        Added value: +{
        +  "type": "string"
        +}
  4. 4 tool updates
    • Addednews_events_get_market_move_report
    • Addednews_events_list_market_move_reports
    • Addednews_feed_get_hot_topics
    • Addednews_feed_get_mention_burst
  5. 1 tool update
    • Changednews_feed_get_exchange_announcements1 field changed
      • changedInput schema / properties / announcement_type / description
        Previous 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)."
  6. 4 tool updates
    • Changednews_feed_search_x1 field changed
      • changedInput schema / properties / days / description
        Previous 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."
    • Changednews_prediction_get_event_signal5 fields changed
      • changedInput schema / properties / event_ref / description
        Previous 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."
      • changedInput schema / properties / include_markets / description
        Previous 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."
      • changedInput schema / properties / include_orderbook_summary / description
        Previous value: -"Deprecated; depth_summary is always null in current version."New value: +"Deprecated and ignored; depth_summary is always null—use get_market_orderbook."
      • changedInput schema / properties / venue / description
        Previous 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."
      • changedInput schema / properties / window / description
        Previous value: -"Signal window; default 24h. Allowed: 1h, 24h, 7d."New value: +"Recency filter on part_hour; default 24h. Allowed: 1h, 24h, 7d (case-insensitive)."
    • Changednews_prediction_get_market_orderbook4 fields changed
      • changedInput schema / properties / depth / description
        Previous 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."
      • changedInput schema / properties / market_id / description
        Previous 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."
      • changedInput schema / properties / mode / description
        Previous 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."
      • changedInput schema / properties / venue / description
        Previous 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)."
    • Changednews_prediction_search_events9 fields changed
      • changedInput schema / properties / category / description
        Previous 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."
      • changedInput schema / properties / coin / description
        Previous 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)."
      • changedInput schema / properties / page_token / description
        Previous value: -"Opaque pagination token from next_page_token."New value: +"Base64URL page token from prior next_page_token; filters must match first page."
      • changedInput schema / properties / query / description
        Previous 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."
      • changedInput schema / properties / sort_by / description
        Previous 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)."
      • changedInput schema / properties / status / description
        Previous 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."
      • changedInput schema / properties / with_markets / description
        Previous value: -"When true, attach market summaries per event."New value: +"When true, attach market summaries from source_markets_json or predictionMarketIndex."
      • addedOutput schema / properties / coin_filter_mode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / effective_sort_by
        Added value: +{
        +  "description": "Actual sort applied (equals sort_by unless ES sort fallback).",
        +  "type": "string"
        +}
  7. 11 tool updates
    • Changednews_feed_get_exchange_announcements1 field changed
      • changedOutput schema / properties / items / items
        Previous value: -trueNew value: +{
        +  "type": "object"
        +}
    • Changednews_feed_get_social_sentiment1 field changed
      • changedOutput schema / properties / top_tweets / items
        Previous value: -trueNew value: +{
        +  "type": "object"
        +}
    • Changednews_feed_search_news1 field changed
      • changedOutput schema / properties / items / items
        Previous value: -trueNew value: +{
        +  "type": "object"
        +}
    • Changednews_feed_search_ugc1 field changed
      • changedOutput schema / properties / items / items
        Previous value: -trueNew value: +{
        +  "type": "object"
        +}
    • Changednews_feed_search_x5 fields changed
      • changedOutput schema / properties / items / items
        Previous value: -trueNew value: +{
        +  "type": "object"
        +}
      • removedOutput schema / properties / sentiment_score / description
        Removed 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)."
      • addedOutput schema / properties / sentiment_score / oneOf
        Added 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"
        +  }
        +]
      • removedOutput schema / properties / sentiment_score / type
        Removed value: -"integer"
      • changedOutput schema / required
        Previous 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"
        +]
    • Changednews_feed_web_search1 field changed
      • changedOutput schema / properties / items / items
        Previous value: -trueNew value: +{
        +  "type": "object"
        +}
    • Changednews_prediction_get_event_signal45 fields changed
      • addedOutput schema / properties / cross_venue_divergence / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / cross_venue_divergence / type
        Removed value: -"number"
      • addedOutput schema / properties / daily_ranking / oneOf
        Added 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"
        +  }
        +]
      • removedOutput schema / properties / daily_ranking / properties
        Removed 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"
        -  }
        -}
      • removedOutput schema / properties / daily_ranking / required
        Removed value: -[
        -  "volume_delta_usd_today",
        -  "probability_delta_today"
        -]
      • removedOutput schema / properties / daily_ranking / type
        Removed value: -"object"
      • addedOutput schema / properties / depth_summary / oneOf
        Added 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"
        +  }
        +]
      • removedOutput schema / properties / depth_summary / properties
        Removed 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"
        -  }
        -}
      • removedOutput schema / properties / depth_summary / type
        Removed value: -"object"
      • addedOutput schema / properties / event_identity / properties / category_ai_primary / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / event_identity / properties / category_ai_primary / type
        Removed value: -"string"
      • changedOutput schema / properties / event_identity / required
        Previous 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"
        +]
      • addedOutput schema / properties / markets / items / properties / liquidity_usd / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / markets / items / properties / liquidity_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / markets / items / properties / market_category_ai_primary / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / markets / items / properties / market_category_ai_primary / type
        Removed value: -"string"
      • addedOutput schema / properties / markets / items / properties / mid_yes_probability / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / markets / items / properties / mid_yes_probability / type
        Removed value: -"number"
      • addedOutput schema / properties / markets / items / properties / price_bar_time / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / markets / items / properties / price_bar_time / type
        Removed value: -"string"
      • addedOutput schema / properties / markets / items / properties / probability_change_6h / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / markets / items / properties / probability_change_6h / type
        Removed value: -"number"
      • addedOutput schema / properties / markets / items / properties / volume_24h_usd / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / markets / items / properties / volume_24h_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / markets / items / properties / volume_total_usd / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / markets / items / properties / volume_total_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / outcome_probabilities / properties / no_probability / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / outcome_probabilities / properties / no_probability / type
        Removed value: -"number"
      • addedOutput schema / properties / outcome_probabilities / properties / probability_change_1h / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / outcome_probabilities / properties / probability_change_1h / type
        Removed value: -"number"
      • addedOutput schema / properties / outcome_probabilities / properties / probability_change_24h / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / outcome_probabilities / properties / probability_change_24h / type
        Removed value: -"number"
      • addedOutput schema / properties / outcome_probabilities / properties / probability_change_6h / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / outcome_probabilities / properties / probability_change_6h / type
        Removed value: -"number"
      • addedOutput schema / properties / outcome_probabilities / properties / yes_probability / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / outcome_probabilities / properties / yes_probability / type
        Removed value: -"number"
      • removedOutput schema / properties / outcome_probabilities / required
        Removed value: -[
        -  "yes_probability",
        -  "no_probability",
        -  "probability_change_1h",
        -  "probability_change_6h",
        -  "probability_change_24h"
        -]
      • addedOutput schema / properties / volume_flow / properties / total_liquidity_usd / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / volume_flow / properties / total_liquidity_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / volume_flow / properties / total_volume_usd_24h / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / volume_flow / properties / total_volume_usd_24h / type
        Removed value: -"number"
      • addedOutput schema / properties / volume_flow / properties / volume_delta_usd_today / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / volume_flow / properties / volume_delta_usd_today / type
        Removed value: -"number"
      • changedOutput schema / properties / volume_flow / required
        Previous value: -[
        -  "total_volume_usd_24h",
        -  "total_liquidity_usd",
        -  "volume_delta_usd_today",
        -  "source"
        -]New value: +[
        +  "source"
        +]
      • changedOutput schema / required
        Previous 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"
        +]
    • Changednews_prediction_get_fastest_rising_ranking28 fields changed
      • changedInput schema / properties / category / description
        Previous 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."
      • changedInput schema / properties / status / description
        Previous 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."
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / type
        Removed value: -"number"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / type
        Removed value: -"string"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / type
        Removed value: -"string"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / type
        Removed value: -"number"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / type
        Removed value: -"number"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / type
        Removed value: -"number"
      • changedOutput schema / properties / by_venue / additionalProperties / items / required
        Previous 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"
        +]
      • addedOutput schema / properties / overall / items / properties / latest_mid_probability / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / latest_mid_probability / type
        Removed value: -"number"
      • addedOutput schema / properties / overall / items / properties / lead_market_id / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / lead_market_id / type
        Removed value: -"string"
      • addedOutput schema / properties / overall / items / properties / market_name / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / market_name / type
        Removed value: -"string"
      • addedOutput schema / properties / overall / items / properties / open_mid_probability_utc / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / open_mid_probability_utc / type
        Removed value: -"number"
      • addedOutput schema / properties / overall / items / properties / probability_delta_today / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / probability_delta_today / type
        Removed value: -"number"
      • addedOutput schema / properties / overall / items / properties / volume_delta_usd_today / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / volume_delta_usd_today / type
        Removed value: -"number"
      • changedOutput schema / properties / overall / items / required
        Previous 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"
        +]
    • Changednews_prediction_get_market_orderbook8 fields changed
      • changedInput schema / properties / depth / description
        Previous 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."
      • changedInput schema / properties / mode / description
        Previous value: -"Must be empty or current. history is rejected."New value: +"Must be empty or current (default current). history and other modes are rejected."
      • addedOutput schema / properties / book_levels / oneOf
        Added 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"
        +  }
        +]
      • removedOutput schema / properties / book_levels / properties
        Removed 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"
        -  }
        -}
      • removedOutput schema / properties / book_levels / required
        Removed 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"
        -]
      • removedOutput schema / properties / book_levels / type
        Removed value: -"object"
      • addedOutput schema / properties / snapshot_time / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / snapshot_time / type
        Removed value: -"string"
    • Changednews_prediction_get_volume_delta_ranking28 fields changed
      • changedInput schema / properties / category / description
        Previous 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."
      • changedInput schema / properties / status / description
        Previous 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."
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / latest_mid_probability / type
        Removed value: -"number"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / lead_market_id / type
        Removed value: -"string"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / market_name / type
        Removed value: -"string"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / open_mid_probability_utc / type
        Removed value: -"number"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / probability_delta_today / type
        Removed value: -"number"
      • addedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / by_venue / additionalProperties / items / properties / volume_delta_usd_today / type
        Removed value: -"number"
      • changedOutput schema / properties / by_venue / additionalProperties / items / required
        Previous 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"
        +]
      • addedOutput schema / properties / overall / items / properties / latest_mid_probability / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / latest_mid_probability / type
        Removed value: -"number"
      • addedOutput schema / properties / overall / items / properties / lead_market_id / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / lead_market_id / type
        Removed value: -"string"
      • addedOutput schema / properties / overall / items / properties / market_name / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / market_name / type
        Removed value: -"string"
      • addedOutput schema / properties / overall / items / properties / open_mid_probability_utc / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / open_mid_probability_utc / type
        Removed value: -"number"
      • addedOutput schema / properties / overall / items / properties / probability_delta_today / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / probability_delta_today / type
        Removed value: -"number"
      • addedOutput schema / properties / overall / items / properties / volume_delta_usd_today / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / overall / items / properties / volume_delta_usd_today / type
        Removed value: -"number"
      • changedOutput schema / properties / overall / items / required
        Previous 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"
        +]
    • Changednews_prediction_search_events26 fields changed
      • changedInput schema / properties / category / description
        Previous 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."
      • changedInput schema / properties / coin / description
        Previous 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."
      • changedInput schema / properties / sort_by / description
        Previous 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."
      • changedInput schema / properties / status / description
        Previous 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."
      • addedOutput schema / properties / events / items / properties / attention_score / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / events / items / properties / attention_score / type
        Removed value: -"number"
      • addedOutput schema / properties / events / items / properties / category_ai_primary / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / events / items / properties / category_ai_primary / type
        Removed value: -"string"
      • addedOutput schema / properties / events / items / properties / lead_market_id / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / events / items / properties / lead_market_id / type
        Removed value: -"string"
      • addedOutput schema / properties / events / items / properties / lead_yes_probability / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / events / items / properties / lead_yes_probability / type
        Removed value: -"number"
      • addedOutput schema / properties / events / items / properties / markets / items / properties / liquidity_usd / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / events / items / properties / markets / items / properties / liquidity_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / events / items / properties / markets / items / properties / market_category_primary / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / events / items / properties / markets / items / properties / market_category_primary / type
        Removed value: -"string"
      • addedOutput schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / events / items / properties / markets / items / properties / volume_24h_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / events / items / properties / total_liquidity_usd / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / events / items / properties / total_liquidity_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / events / items / properties / total_volume_usd_24h / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / events / items / properties / total_volume_usd_24h / type
        Removed value: -"number"
      • changedOutput schema / properties / events / items / required
        Previous 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"
        +]
      • addedOutput schema / properties / next_page_token / oneOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / next_page_token / type
        Removed value: -"string"
      • changedOutput schema / required
        Previous value: -[
        -  "partial",
        -  "next_page_token",
        -  "events",
        -  "duration_ms"
        -]New value: +[
        +  "partial",
        +  "events",
        +  "duration_ms"
        +]
  8. 3 tool updates
    • Addednews_prediction_get_event_signal
    • Addednews_prediction_get_market_orderbook
    • Addednews_prediction_search_events
  9. 1 tool update
    • Addednews_events_explain_market_move
  10. 2 tool updates
    • Changednews_prediction_get_fastest_rising_ranking1 field changed
      • changedInput schema / properties / venue / description
        Previous value: -"Optional venue filter. Allowed: polymarket, opinion, predict_fun."New value: +"Optional venue filter. Allowed: polymarket, predict_fun."
    • Changednews_prediction_get_volume_delta_ranking1 field changed
      • changedInput schema / properties / venue / description
        Previous value: -"Optional venue filter. Allowed: polymarket, opinion, predict_fun."New value: +"Optional venue filter. Allowed: polymarket, predict_fun."
  11. 2 tool updates
    • Addednews_prediction_get_fastest_rising_ranking
    • Addednews_prediction_get_volume_delta_ranking
  12. 3 tool updates
    • Changednews_events_get_event_detail1 field changed
      • changedInput schema / properties / event_id / description
        Previous 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."
    • Changednews_events_get_latest_events4 fields changed
      • changedInput schema / properties / coin / description
        Previous 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."
      • changedInput schema / properties / event_type / description
        Previous 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."
      • changedInput schema / properties / limit / description
        Previous value: -"Page size (spec §7.10: limit); default 20, max 100."New value: +"Page size; default 20, max 100."
      • changedInput schema / properties / time_range / description
        Previous 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."
    • Changednews_feed_get_exchange_announcements2 fields changed
      • changedInput schema / properties / coin / description
        Previous value: -"Comma-separated tickers (spec §7.6: coin); omit if empty."New value: +"Comma-separated tickers; omit if empty."
      • changedInput schema / properties / exchange / description
        Previous 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."
  13. 8 tool updates
    • First observednews_events_get_event_detail
    • First observednews_events_get_latest_events
    • First observednews_feed_get_exchange_announcements
    • First observednews_feed_get_social_sentiment
    • First observednews_feed_search_news
    • First observednews_feed_search_ugc
    • First observednews_feed_search_x
    • First observednews_feed_web_search

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Multi-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/.
    6
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Gloria AI curated crypto news. Provides curated, real-time cryptocurrency news digests, recaps, and search.
    7
    1
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Crypto news aggregation MCP server with AI ratings, trading signals, and real-time updates. Enables searching, filtering, and subscribing to news from various sources.
    11
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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.