# Gate News MCP (remote · api.gatemcp.ai)

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

- Trust score: 65/100 (medium)
- Change this week: +8
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.gatemcp.ai`: 65/100 (this document), [markdown](https://verifymcp.io/servers/gateio-dev-gate-news/mcp-news.md), [page](https://verifymcp.io/servers/gateio-dev-gate-news/mcp-news)

## Channel facts

- Endpoint: `https://api.gatemcp.ai/mcp/news`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 31/100
  - AI-judged instruction clarity (fair).
  - Context-footprint check failed: tool/resource definitions use about 4803 tokens (~266/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http gateio-dev-gate-news https://api.gatemcp.ai/mcp/news
```

### Codex

```toml
[mcp_servers.gateio-dev-gate-news]
url = "https://api.gatemcp.ai/mcp/news"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "gateio-dev-gate-news": {
      "type": "remote",
      "url": "https://api.gatemcp.ai/mcp/news",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add gateio-dev-gate-news --url https://api.gatemcp.ai/mcp/news --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  gateio-dev-gate-news:
    url: "https://api.gatemcp.ai/mcp/news"
```

### Other

```json
{
  "mcpServers": {
    "gateio-dev-gate-news": {
      "type": "http",
      "url": "https://api.gatemcp.ai/mcp/news"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 63, +4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 59, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 58, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 57, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 56)

First indexed and scored.

## MCP tools (18)

### `news_events_explain_market_move` (~186 tokens)

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

Input parameters:

- `coin` (string, required): Target coin, e.g. BTC, ETH. Required at the Tool layer.
- `lang` (string): zh / en. Default zh.
- `mode` (string): auto / price_move / event_impact. Default auto.
- `query` (string, required): User's original question, e.g. 'Why did BTC surge?'
- `time_range` (string): Time window: 30m/1h/2h/4h/24h. Default 2h.

Output parameters:

- `coin` (string)
- `data_status` (object)
- `duration_ms` (integer)
- `latest_news` (array)
- `query` (string)
- `summary` (string)
- `supporting_events` (array)
- `time_range` (string)

### `news_events_get_event_detail` (~77 tokens)

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

Input parameters:

- `event_id` (string, required): Required event_id from get_latest_events items—opaque digest id, not a trading pair slug or headline hash.

Output parameters:

- `community_reaction` (string)
- `content` (string)
- `direction` (string)
- `duration_ms` (integer)
- `event_id` (string)
- `impact_analysis` (string)
- `impact_direction` (string)
- `impact_direction_reason` (string)
- `news_coverage` (string)
- `occurred_at` (string)
- `strength` (string)
- `summary` (string)
- `symbols` (array)
- `title` (string)

### `news_events_get_latest_events` (~302 tokens)

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

Input parameters:

- `coin` (string): Optional comma-separated tickers e.g. BTC,ETH for digest items; not the same as search_news tickers-only heat mode.
- `cursor` (string): Optional pagination cursor.
- `direction` (string): Optional filter on persisted impact_direction: positive / negative / neutral / mixed / unknown / all (default all, no filter). MCP does not re-judge direction.
- `end_time` (string): Absolute end (ISO8601 or Unix sec/ms). Mutually exclusive with time_range.
- `event_type` (string): Optional filter on structured digest event_type. Not search_news headline similarity/heat.
- `limit` (integer): Page size; default 20, max 100.
- `start_time` (string): Absolute start (ISO8601 or Unix sec/ms). Mutually exclusive with time_range; pair with end_time or let server fill the other bound.
- `time_range` (string): 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 macr…

Output parameters:

- `coin` (string)
- `count` (integer)
- `direction` (string)
- `duration_ms` (integer)
- `end_time` (string)
- `event_type` (string)
- `items` (array)
- `limit` (integer)
- `start_time` (string)
- `time_range` (string)
- `total` (integer)

### `news_events_get_market_move_report` (~163 tokens)

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

Input parameters:

- `event_id` (string): Optional market-move event ID. When report_id and event_id are omitted, returns the latest report for symbol.
- `report_id` (string): Optional report ID for an exact lookup. Takes priority over event_id when both are provided.
- `symbol` (string, required): Required cryptocurrency symbol, for example BTC or TAIKO; 1-20 characters and normalized to uppercase.

Output parameters:

- `absolute_change_threshold`
- `candidate_type` (string)
- `created_at`
- `direction`
- `display_expire_time`
- `duration_ms` (integer): MCP-to-service-ai-pe call duration; populated by get_market_move_report.
- `event_id` (string)
- `event_time`
- `evidence`
- `generated_at`
- `price_change_pct`
- `report_id` (string)
- `report_info`
- `report_status` (string): completed, pending, failed, or not_found.
- `source_type`
- `storage_error` (string)
- `storage_status` (string)
- `summary`
- `symbol` (string)
- `title`
- `trigger_label`
- `updated_at`
- `window_end`
- `window_end_utc8`
- `window_start`
- `window_start_utc8`
- `z_price`
- `z_price_threshold`

### `news_events_list_market_move_reports` (~268 tokens)

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

Input parameters:

- `end_time` (string, required): Required inclusive upper bound for report updated_at in UTC0. Accepts ISO 8601 or YYYY-MM-DD HH:MM:SS; a value without a timezone is interpreted as UTC0, an explicit offset is converted to UTC0, and…
- `limit` (integer): Maximum reports to return; omitted or 0 defaults to 20, otherwise allowed range is 1-100.
- `start_time` (string, required): Required inclusive lower bound for report updated_at in UTC0. Accepts ISO 8601 or YYYY-MM-DD HH:MM:SS; a value without a timezone is interpreted as UTC0, and an explicit offset is converted to UTC0 b…
- `symbol` (string, required): Required cryptocurrency symbol, for example ETH; 1-20 characters and normalized to uppercase.

Output parameters:

- `duration_ms` (integer)
- `reports` (array): Reports whose updated_at is within the requested inclusive UTC0 range, sorted by event_time descending. updated_at may be later than event_time because a generated report can be updated again.
- `status` (string): ready, generating, not_found, or failed.
- `trace_id` (string)

### `news_feed_get_exchange_announcements` (~230 tokens)

[Read] Venue-published exchange notices: listings, delistings, maintenance. Media rumors or general crypto headlines -> search_news.

Input parameters:

- `announcement_type` (string): listing / delisting / maintenance / all. Omit or unknown value is treated as all (no type filter).
- `coin` (string): Comma-separated tickers; omit if empty.
- `exchange` (string): Venue id for API platform; used when platform is empty; not merged with query.
- `from` (integer): Window start Unix sec; omit if <= 0; MCP also filters locally after fetch.
- `limit` (integer): Max rows; omit if unset or <= 0; cap 100 when set.
- `platform` (string): URL param platform; wins over exchange; if empty falls back to exchange.
- `query` (string): Optional text filter on official venue notices; omit if empty. For general crypto media headlines use search_news—not a substitute for venue-published listing API.
- `to` (integer): Window end Unix sec inclusive; forwarded downstream and filtered locally.

Output parameters:

- `announcement_type` (string)
- `coin` (string)
- `count` (integer)
- `duration_ms` (integer)
- `exchange` (string)
- `from` (integer)
- `items` (array)
- `limit` (integer)
- `platform` (string)
- `query` (string)
- `to` (integer)
- `total` (integer)

### `news_feed_get_hot_topics` (~215 tokens)

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

Input parameters:

- `coin` (string, required): Required non-empty cryptocurrency ticker, for example ETH. Leading and trailing whitespace is removed and the value is normalized to uppercase. Unknown or no-data tickers may return an empty result w…
- `limit` (integer): Number of hot topics to return. Default 4; allowed range 2 to 4.
- `platforms` (string): Comma-separated social platforms; default all. Supported: all, gate_square, binance_square, twitter, telegram, youtube, reddit, discord. all cannot be combined with another platform.
- `window` (string): Aggregation window. Only 4h is currently supported; default 4h.

Output parameters:

- `coin` (string)
- `duration_ms` (integer)
- `generated_at` (integer): Upstream generation time as Unix seconds.
- `hide_reason`
- `topics` (array): Two to four qualified topics, or an empty array when evidence is insufficient.
- `trace_id` (string)
- `window` (string)

### `news_feed_get_mention_burst` (~186 tokens)

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

Input parameters:

- `coin` (string, required): Required non-empty cryptocurrency ticker, for example BTC. Leading and trailing whitespace is removed and the value is normalized to uppercase. Unknown or no-data tickers may return an empty result w…
- `platforms` (string): Comma-separated social platforms; default all. Supported: all, gate_square, binance_square, twitter, telegram, youtube, reddit, discord. all cannot be combined with another platform.
- `window` (string): Aggregation window. Only 24h is currently supported; default 24h.

Output parameters:

- `coin` (string)
- `current_mention_count` (integer)
- `current_weighted_mention_count` (number)
- `display_color` (string): Display color generated by the upstream service: red, green, or neutral.
- `duration_ms` (integer)
- `evidence_summary`
- `growth_rate`
- `hide_reason`
- `is_burst` (boolean): True when the upstream burst thresholds for baseline, sample size, and growth are all met.
- `platform_breakdown` (array)
- `previous_mention_count` (integer)
- `previous_weighted_mention_count` (number)
- `sentiment_direction` (string): bullish, bearish, or neutral.
- `trace_id` (string)
- `window` (string)

### `news_feed_get_social_sentiment` (~175 tokens)

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

Input parameters:

- `coin` (string): Tickers e.g. BTC or BTC,ETH for per-coin aggregates: overall sentiment, positive/negative split, mention count, sample tweets (top_tweets order); omit defaults to BTC server-side. X/Twitter post sear…
- `time_range` (string): 1h / 24h (default) / 7d window for per-coin sentiment aggregation (overall sentiment, positive/negative split, mention count).

Output parameters:

- `coin` (string)
- `duration_ms` (integer)
- `mention_count` (integer)
- `overall_sentiment` (number)
- `sentiment_distribution` (object)
- `sentiment_label` (string)
- `sentiment_label_raw` (string)
- `time_range` (string)
- `top_tweets` (array)

### `news_feed_search_news` (~540 tokens)

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

Input parameters:

- `coin` (string): Comma-separated tickers mapped to API tickers; sent only when query is empty (omitted when query is set). Heat mode supports news-item / briefing-style lists on the platform index—not open-web synthe…
- `end_time` (string): End time mapped to API to (Unix sec). Ignored when time_range is set. End-only defaults start to 24h before end.
- `lang` (string): MCP-only filter on metadata.lang or top-level lang; not sent to upstream API.
- `limit` (integer): Page size mapped to API page_size; default 10, max 100.
- `page` (integer): Page number mapped to API page; default 1.
- `platform` (string): Source platform name for API platform (e.g. panews, theblock).
- `platform_type` (string): Legacy: maps to API platform when platform is omitted; omit platform when value is all.
- `query` (string): Non-empty: similarity mode (no tickers; default similarity_score 0.6). Empty: heat mode (top_total_score 1; optional coin/tickers). Platform news index for headlines, news items, and briefing-style r…
- `similarity_score` (string): Similarity threshold; default 0.6 when query set; when query empty only sent if explicitly set.
- `sort_by` (string): e.g. time (default); similarity mode with top_total_score 0 may still apply MCP local time sort.
- `start_time` (string): Start time (ISO8601 or Unix sec/ms) mapped to API from. Ignored when time_range is set. Start-only defaults end to now; both empty defaults last 7d when time_range is also empty.
- `time_range` (string): Optional preset window: 1h / 24h (default when preset value invalid) / 7d / 30d. When non-empty, overrides start_time/end_time and maps to API from/to (Unix epoch seconds). Omit to use start_time/end…
- `top_total_score` (integer): Only when query empty (0 or 1); non-empty query forces similarity mode.

Output parameters:

- `coin` (string)
- `count` (integer)
- `duration_ms` (integer)
- `end_time` (string)
- `from` (integer)
- `items` (array)
- `lang` (string)
- `limit` (integer)
- `page` (integer)
- `page_size` (integer)
- `platform` (string)
- `platform_type` (string)
- `query` (string)
- `similarity_score` (string)
- `sort_by` (string)
- `start_time` (string)
- `time_range` (string)
- `to` (integer)
- `top_total_score` (integer)
- `total` (integer)

### `news_feed_search_ugc` (~299 tokens)

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

Input parameters:

- `channel` (string): Optional source channel e.g. r/ethereum or handle.
- `coin` (string): Ticker filter; with query filters results; without query required with index for OpenSearch list mode.
- `domain` (string): UGC topical bucket: crypto / defi / finance / macro / ai_agent / web3_dev / all (default all). macro = social discussion about macro themes, not CPI/Fed/unemployment statistics (use macro data tools)…
- `limit` (integer): Max items; default 10, max 50.
- `platform` (string): reddit / discord / telegram / youtube / all (default all).
- `quality_tier` (string): A (default, high quality) / B / all.
- `query` (string): Optional NL query; non-empty uses vector search. May combine with coin; both empty is invalid.
- `sort_by` (string): relevance (default) / upvotes / recent.
- `time_range` (string): 1h / 24h / 7d (default) / 30d / all.

Output parameters:

- `channel` (string)
- `coin` (string)
- `count` (integer)
- `domain` (string)
- `duration_ms` (integer)
- `items` (array)
- `limit` (integer)
- `platform` (string)
- `quality_tier` (string)
- `query` (string)
- `sort_by` (string)
- `time_range` (string)
- `total` (integer)

### `news_feed_search_x` (~512 tokens)

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

Input parameters:

- `allowed_handles` (array): xAI only: include these X handles without @, max 10; mutually exclusive with excluded_handles.
- `coin` (string): 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.
- `days` (integer): xAI only: lookback days when time_range omitted; omitted or <=0 treated as 1 (24h); min 1 when explicitly set.
- `enable_image_understanding` (boolean): xAI only: analyze images in posts.
- `enable_video_understanding` (boolean): xAI only: analyze video in posts.
- `end_time` (string): Platform fallback: maps to to.
- `excluded_handles` (array): xAI only: exclude these handles, max 10.
- `lang` (string): Answer language: zh (default) / en / auto. Also used by platform fallback as MCP local lang filter.
- `limit` (integer): Platform fallback: page_size, default 10.
- `model` (string): xAI only: override configured Grok model id.
- `page` (integer): Platform fallback: page number.
- `platform` (string): Platform fallback: platform.
- `platform_type` (string): Platform fallback: maps when platform omitted.
- `query` (string): 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_sentimen…
- `similarity_score` (string): Platform fallback: similarity threshold.
- `sort_by` (string): Platform fallback: sort field.
- `start_time` (string): Platform fallback: maps to from (Unix sec).
- `time_range` (string): Preferred recency window for search_x: 1h / 24h (default) / 7d. Takes precedence over days when set.
- `top_total_score` (integer): Platform fallback: heat vs similarity.

Output parameters:

- `allowed_handles` (array)
- `cited_tweets` (array): xAI: tweet-level evidence and cited posts; fields depend on model and citations.
- `coin` (string)
- `content` (string): Same as summary for legacy clients; tweet-level X/Twitter evidence—not headline index (search_news).
- `count` (integer)
- `days` (integer)
- `disclaimer` (string): Fixed disclaimer on xAI success; empty on platform fallback.
- `duration_ms` (integer)
- `excluded_handles` (array)
- `from_date` (string)
- `items` (array)
- `key_points` (array): xAI: bullet points from cited posts; empty array if none. Not briefing-style platform news lists (search_news).
- `lang` (string)
- `model` (string)
- `platform` (string)
- `platform_type` (string)
- `query` (string)
- `sentiment_label` (string): xAI: bullish / bearish / neutral for the discussion; empty if unknown. Not per-coin sentiment label KPIs (get_social_sentiment).
- `sentiment_score`
- `source` (string)
- `summary` (string): xAI: synthesized narrative from X/Twitter discussions with tweet-level evidence (same as content; always present). Not open-web synthesis with cited external pages (web_search). Not per-coin sentimen…
- `to_date` (string)
- `total` (integer)

### `news_feed_web_search` (~277 tokens)

[Read] Search the open web and return a synthesized answer with cited external pages. Built-in headline lookup, news-item search, or briefing-style news list -> search_news. X/Twitter-only discussion or tweet evidence -> search_x.

Input parameters:

- `coin` (string): Optional ticker or project (e.g. BTC, ETH) to focus the open-web synthesized answer—not platform news index tickers (search_news).
- `lang` (string): Answer language: zh (default) / en / auto.
- `limit` (integer): Max cited external pages in the answer; default 5, max 10.
- `mode` (string): Answer length: analysis (default, fuller synthesized text) or brief (~100 chars). Not chart/indicator technical analysis (RSI/MACD).
- `query` (string): Required NL question: search the open web and return a synthesized answer with cited external pages—not built-in headline lookup, news-item search, or briefing-style news list (search_news), nor X/Tw…
- `time_range` (string): Recency window for open-web synthesis with cited external pages: 1h / 24h (default) / 7d / 30d. Not DeFi/TVL dashboard metrics (use platform-metrics tools).

Output parameters:

- `cited_sources` (array)
- `coin` (string)
- `count` (integer)
- `disclaimer` (string)
- `duration_ms` (integer)
- `items` (array)
- `key_points` (array)
- `lang` (string)
- `mode` (string)
- `model` (string)
- `query` (string)
- `source` (string)
- `summary` (string)
- `time_range` (string)
- `total` (integer)

### `news_prediction_get_event_signal` (~254 tokens)

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

Input parameters:

- `event_ref` (string, required): Required. venue:venue_event_id (split on first colon; id may contain more colons). Discover via search_events.
- `include_markets` (boolean): Omitted or null defaults true. false omits markets[]; true parses embedded markets or enriches from predictionMarketIndex.
- `include_orderbook_summary` (boolean): Deprecated and ignored; depth_summary is always null—use get_market_orderbook.
- `venue` (array): Optional; each non-empty value must equal event_ref venue or invalid_param.
- `window` (string): Recency filter on part_hour; default 24h. Allowed: 1h, 24h, 7d (case-insensitive).

Output parameters:

- `cross_venue_divergence`
- `daily_ranking`
- `depth_summary`
- `directional_context` (object)
- `duration_ms` (integer)
- `event_identity` (object)
- `markets` (array)
- `missing_sources` (array)
- `outcome_probabilities` (object)
- `partial` (boolean)
- `signal_time` (string)
- `source_data_status` (string)
- `volume_flow` (object)
- `window` (string)

### `news_prediction_get_fastest_rising_ranking` (~169 tokens)

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

Input parameters:

- `category` (string): Optional category filter: exact term on rank index field category; omit or all to disable.
- `date_utc` (string): UTC date in YYYY-MM-DD. Defaults to today_utc.
- `limit` (integer): Page size; default 20, max 100.
- `status` (string): Optional status filter on rank index. Allowed: active, closed, resolved, all. Defaults to active.
- `venue` (array): Optional venue filter. Allowed: polymarket, predict_fun.

Output parameters:

- `by_venue` (object)
- `duration_ms` (integer)
- `excluded_reasons` (array)
- `generated_at` (string)
- `missing_sources` (array)
- `overall` (array)
- `partial` (boolean)
- `rank_date_utc` (string)
- `source_data_status` (string)

### `news_prediction_get_market_orderbook` (~371 tokens)

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

Input parameters:

- `depth` (integer): yes_bids/yes_asks top-N levels; default 20; allowed 1-20 inclusive; out of range invalid_param.
- `end_time` (string): Unsupported; if set, request is rejected.
- `granularity` (string): Unsupported; if set, request is rejected.
- `market_id` (string, required): 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.
- `mode` (string): Empty or current only (default current). history and other values rejected.
- `page_token` (string): Unsupported; if set, request is rejected.
- `start_time` (string): Unsupported; if set, request is rejected.
- `venue` (string, required): Required. polymarket or predict_fun. polymarket needs predictionMarketIndex; predict_fun needs predictFunAPIKey (else partial_not_configured, not a tool error).

Output parameters:

- `book_levels`
- `duration_ms` (integer)
- `market_id` (string)
- `missing_sources` (array)
- `mode` (string)
- `partial` (boolean)
- `snapshot_time`
- `source_api` (string)
- `source_data_status` (string)
- `venue` (string)

### `news_prediction_get_volume_delta_ranking` (~168 tokens)

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

Input parameters:

- `category` (string): Optional category filter: exact term on rank index field category; omit or all to disable.
- `date_utc` (string): UTC date in YYYY-MM-DD. Defaults to today_utc.
- `limit` (integer): Page size; default 20, max 100.
- `status` (string): Optional status filter on rank index. Allowed: active, closed, resolved, all. Defaults to active.
- `venue` (array): Optional venue filter. Allowed: polymarket, predict_fun.

Output parameters:

- `by_venue` (object)
- `duration_ms` (integer)
- `excluded_reasons` (array)
- `generated_at` (string)
- `missing_sources` (array)
- `overall` (array)
- `partial` (boolean)
- `rank_date_utc` (string)
- `source_data_status` (string)

### `news_prediction_search_events` (~396 tokens)

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

Input parameters:

- `category` (string): Optional primary category enum (crypto_price, sports, elections, …). Matches event_category_primary or lead_market_category_primary.
- `coin` (string): Optional coin ticker; cannot be used alone without query or category (unsupported_filter). With query/category expands text recall only (best_effort).
- `limit` (integer): Page size; default 20, max 100.
- `page_token` (string): Base64URL page token from prior next_page_token; filters must match first page.
- `query` (string): Optional full-text query; all of query, coin, category are optional.
- `sort_by` (string): Sort key; default attention. Allowed: attention, volume, liquidity, recently_listed, probability_change, volume_delta_today (maps to total_volume_usd_24h on signal index).
- `status` (string): Filter by ES event_status; default active. Allowed: active, closed, resolved, all. Response status_tags comes from status_json_array.
- `venue` (array): Optional venue filter. Allowed: polymarket, predict_fun.
- `with_markets` (boolean): When true, attach market summaries from source_markets_json or predictionMarketIndex.

Output parameters:

- `coin_filter_mode` (string)
- `duration_ms` (integer)
- `effective_sort_by` (string): Actual sort applied (equals sort_by unless ES sort fallback).
- `events` (array)
- `missing_sources` (array)
- `next_page_token`
- `partial` (boolean)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/gateio-dev-gate-news/mcp-news#diagnostics

## Score history

- 2026-08-03: 65
- 2026-08-02: 64
- 2026-08-01: 64
- 2026-07-31: 63
- 2026-07-30: 59
- 2026-07-29: 58
- 2026-07-28: 58
- 2026-07-27: 57
- 2026-07-26: 56

## Links

- Remote endpoint: https://api.gatemcp.ai/mcp/news
- Repository: https://github.com/gate/gate-mcp
- Changelog RSS feed: https://verifymcp.io/servers/gateio-dev-gate-news/mcp-news/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/gateio-dev-gate-news/mcp-news/changelog.json
- HTML version of this page: https://verifymcp.io/servers/gateio-dev-gate-news/mcp-news
