Integrations

MCP Server

Connect any AI assistant to GateData.ai's real-time financial data through our official remote MCP server.

Overview

GateData.ai ships a complete MCP server so your AI assistant can pull live market data, asset identity, fundamentals, estimates, events & news, and prediction markets — across crypto and public equities, under one object model.

Getting Started

Get started with the base URL: https://mcp.gatedata.ai/mcp

Codex CLI

Open Codex and paste in natural language

Help me auto install GateData MCP: https://github.com/gate/gate-data-ai-agent

On Team and Enterprise plans, a workspace owner must add the connector in admin settings first.

Need REST / OpenAPI instead?View the full OpenAPI spec

MCP Server Tools

Two HTTP surfaces exist: (1) **Streamable HTTP** POST/GET /mcp — standard MCP JSON-RPC (initialize, tools/list, tools/call). (2) **Tool invoke** POST /mcp/{endpoint} (e.g. /mcp/markets) — body { "tool", "arguments" } only; **not** JSON-RPC and does not speak initialize. Domain tool names and schemas stay identical across invoke prefixes; there are no per-endpoint aliases.

/mcp/assets

Tool-invoke prefix for assets, entities, fundamentals, estimates and equity ownership. Body: { tool, arguments }.

assets_resolvefundamentals_queryestimates_earnings_queryownership_flows_query
/mcp/markets

Tool-invoke prefix for market_data_query (snapshots, klines, top_of_book). Not MCP JSON-RPC — use POST /mcp for initialize/tools/list.

market_data_query
/mcp/onchain

Wallets, holders, flows, address/contract risk.

ownership_flows_queryrisk_compliance_query · Coming soonNot yet open
/mcp/signals

News, events, sentiment, and prediction markets.

events_news_queryprediction_markets_queryrisk_compliance_query · Coming soon
/mcp/all

Lists all catalogued domain tools (availability varies by tool).

assets_resolvemarket_data_queryfundamentals_queryestimates_earnings_queryownership_flows_queryevents_news_queryprediction_markets_queryrisk_compliance_query · Coming soon

Response status description

Beyond ok/ready/partial/not_ready, domain tools share no_data and ambiguous shapes. no_data is always HTTP 200 (object resolved, no rows). **Ambiguous:** assets / fundamentals / earnings / prediction name multi-matches return HTTP **200** with resolution_status=ambiguous and candidates or data[] (ask the user — not a hard transport failure). **Market listing** pin gaps still return HTTP **400** ambiguous_object_resolution with candidates + required_params. News/query disambiguation candidates pin with **ticker + market** (never invent us_equity:TICKER as a public id). Crypto fundamentals profile returns empty_reason=market_not_served with guidance to tokenomics/assets. Conflicting flat vs object_refs identity returns param_conflict. Closed prediction books return market_closed.

no_dataHTTP 200Markets no_data — market_data_query flat shapemarket_data_query · query="Meta", task="snapshot"
{
  "metadata": {  // Response metadata (data_status, limitations, object_refs)
    "data_status": "<string>",  // Data status — no_data means the asset resolved but no snapshot row
    "limitations": [  // Coverage / capability flags (e.g. ["no_data"])
      "<string>"
    ],
    "object_refs": [  // Unified object model resolution info (lightweight F0 refs)
      {
        "type": "<string>",  // Object type (asset / listing / …)
        "id": "<string>",  // Canonical object id for this ref
        "asset_id": "<string>",  // Related asset id (often equals id when type=asset)
        "resolved_from": "<string>",  // How the ref was resolved (e.g. asset, query)
        "resolution_confidence": "<string>"  // Resolver confidence (e.g. default)
      }
    ]
  },
  "next_action": "<string>",  // Human-readable guidance for the next retry
  "reason": "<string>",  // Why the domain returned no rows
  "request_id": "<string>",  // Request correlation id for support / logs
  "try_params": {  // Echo of resolved params used for this attempt
    "asset_id": "<string>",  // Resolved asset id from the query
    "query": "<string>"  // Original natural-language / ticker query
  }
}
Client rule: render an empty state from reason / next_action, optionally echo try_params. Never show a system error or invent price fields.
no_dataHTTP 200Assets / signals no_data — envelope shapedata_status=no_data · empty_reason=no_results
{
  "data": [],  // Domain payload; empty array [] or empty object {} when no rows
  "data_status": "<string>",  // Data status — no_data means the object resolved but this domain has no rows
  "empty_reason": "<string>",  // Empty-result reason code (e.g. no_results)
  "error": null,  // Error object; null for HTTP 200 empty / success envelopes
  "lineage_refs": [],  // Snapshot provenance; [] when none attached. source is a stable role (estimates / calendar / results / consensus), never an internal service name
  "metadata": {  // Response metadata (routing, limitations, object_refs)
    "actual_task": "<string>",  // Task after routing. Market MCP only on market bodies (pinned REST market paths omit). Estimates/fundamentals envelopes may include it on REST captures too.
    "limitations": null,  // Capability / coverage limitations; may be null when none
    "object_refs": [],  // Unified object model resolution info (lightweight F0 refs)
    "object_refs_validation_status": "<string>",  // Validation status of inbound object_refs (e.g. not_provided)
    "route_reason": "<string>",  // Why this task/route was selected
    "updated_at": "<date>"  // Metadata timestamp (ISO-8601)
  },
  "request_id": "<string>"  // Request correlation id for support / logs
}
Client rule: render the empty state and the empty_reason copy. Never render an error, insert a default object, or coerce the empty array to null.
ambiguousHTTP 200Assets name ambiguous — confirm from data[] candidatesresolution_status=ambiguous · data[] candidates
{
  "data": [  // Candidate list (array) for the user / agent to pick from
    {
      "asset_id": "<string>",  // Candidate asset id for a follow-up call
      "listing_id": "<string>",  // Candidate listing id when known
      "entity_id": "<string>",
      "display_name": "<string>",  // Human-readable company / asset name
      "display_symbol": "<string>",
      "market": "<string>",
      "match_confidence": "<number>",
      "matched_field": "<string>",
      "matched_value": "<string>",
      "disambiguation_hint": "<string>"  // Suggested params to narrow the next call
    }
  ],
  "data_status": "<string>",  // ok when candidates are returned
  "empty_reason": null,
  "error": null,  // Always null on this success path
  "resolution_status": "<string>",  // ambiguous — multiple assets matched; confirm with the user (not a tool failure)
  "lineage_refs": [],
  "source_refs": [],
  "metadata": {
    "actual_task": "<string>",
    "object_refs": [],  // Empty on ambiguous — no silent primary binding
    "object_refs_validation_status": "<string>",
    "route_reason": "<string>"  // Server routing reason (e.g. ambiguous_candidates)
  },
  "request_id": "<string>"  // Request correlation id for support / logs
}
Client / agent rule: HTTP 200 success with resolution_status=ambiguous (or ambiguous: true). Show data[] / candidates to the user; retry with ticker+market or listing_id / asset_id. Same pattern for fundamentals, earnings, and prediction where resolved. Do not invent or reuse legacy us_equity:TICKER ids.
ambiguousHTTP 400Market listing ambiguous — add venue / market_typeerror=ambiguous_object_resolution · next_action=retry_with_listing_id
{
  "error": "<string>",  // Error type id (ambiguous_object_resolution)
  "error_code": "<string>",  // Business error code (same string; maps to 40001 in legacy clients)
  "message": "<string>",  // Human-readable error summary
  "required_params": [  // Parameters required to disambiguate the next call
    "<string>",
    "<string>"
  ],
  "candidates": [  // Matched candidate objects — pick listing_id / venue / market_type
    {
      "listing_id": "<string>",  // Canonical listing id for an exact retry
      "asset_id": "<string>",  // Resolved asset id for the candidate
      "venue": "<string>",  // Exchange / venue code (e.g. gate, binance)
      "market_type": "<string>"  // Market type (e.g. spot, perp)
    }
  ],
  "next_action": "<string>",  // Suggested follow-up (e.g. retry_with_listing_id)
  "request_id": "<string>"  // Request correlation id for support / logs
}
Client / agent rule: treat as recoverable. Read candidates and required_params, then retry with listing_id or venue+market_type. Do not silently pick the first candidate.

Call patterns

Domain tools take a natural-language query by default. Use task=auto and let the server pick the in-domain task, or pass an explicit task when you already know what you need. Only when chaining across domains should you pass prior metadata.object_refs[]. Everyday business queries do not need a prior assets_resolve call.

autotask=auto (default)

The server picks an in-domain task (for example snapshot for a latest-price question). context.market only ranks fuzzy names; it never overrides an exact ticker or listing.

{
  "tool": "market_data_query",
  "arguments": {
    "query": "AAPL latest price",
    "task": "auto",
    "context": { "market": "us_equity" }
  }
}
taskExplicit task

Pass a supported task when you already know the route (snapshot / kline / content_search / …). The same tool name and schema apply on every install endpoint.

{
  "tool": "market_data_query",
  "arguments": {
    "query": "AAPL",
    "task": "snapshot",
    "context": { "market": "us_equity" }
  }
}
object_refsReuse metadata.object_refs across domains

Each tool returns only its own primary data plus lightweight metadata.object_refs[]. Pass those refs into the next tool when you need evidence in another domain.

  1. market_data_query("MU why did it jump yesterday?") → market anomaly facts + metadata.object_refs[]
  2. Pass the same object_refs into events_news_query with task=content_search or event_search
  3. Events returns news / event evidence — not a substitute for Market Data prices

The assistant may not always run a second step on its own. For reliable cross-domain attribution, use a later composite tool or workflow — do not overload a single domain tool.

Try it in MCP Playground — sign in to the console and run domain tools with a real key.

Tool Catalog

Production tools/list exposes 6 live tools: assets_resolve, market_data_query, fundamentals_query, estimates_earnings_query, events_news_query, and prediction_markets_query. Most domains default to task=auto; events_news_query public tasks are only content_search / event_search / social_search / sentiment. ownership_flows_query and risk_compliance_query are planned (not_ready) and must not be treated as working examples.

context.market standard codes: us_equity / hk_equity / kr_equity / uk_equity / jp_equity / crypto (never ks_equity). Standard market enum & serving notes →

/mcp/assetsAssets & fundamentals

assets_resolve · fundamentals_query · estimates_earnings_query

assets_resolveAsset & Entity
Live

User asks to resolve, search, or fetch asset object metadata: listings, deployments, ticker/contract/Gate symbol to asset_id. task=profile here returns object metadata only - not company fundamentals text.

Tasksautoresolvesearchprofilelistingsdeploymentscoverage
Example questionsResolve “Alibaba” to the corresponding Hong Kong listing.What is AAPL’s primary listing?
Related REST (7)
POST /v1/assets/resolvePOST /v1/assets/resolveGET /v1/assets/searchGET /v1/assets/{id}GET /v1/assets/{id}/listingsGET /v1/assets/{asset_id}/deploymentsPOST /v1/assets/resolve
Call Examples
readyResolve AAPL to Apple across the canonical Asset / Entity / Instrument / Listing / Venue objectsHTTP 200 · 770 ms
Trytaskquery / objectHTTPdata_statusLatency
1searchAAPL200ok770 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/assets
{
  "tool": "assets_resolve",
  "arguments": {
    "query": "AAPL",
    "task": "search",
    "context": {
      "market": "us_equity"
    }
  }
}
Real server response
{
  "data": [
    {
      "asset_id": "<string>",
      "disambiguation_hint": null,
      "display_name": "<string>",
      "display_symbol": "<string>",
      "entity_id": "<string>",
      "instrument_id": "<string>",
      "listing_id": "<string>",
      "market": "<string>",
      "match_confidence": "<number>",
      "matched_field": "<string>",
      "matched_value": "<string>",
      "venue_id": "<string>"
    }
  ],
  "data_status": "<string>",
  "empty_reason": null,
  "error": null,
  "lineage_refs": [],
  "metadata": {
    "actual_task": "<string>",
    "domain_bindings": {
      "events_news": {
        "entity_id": "<string>"
      },
      "fundamentals": {
        "entity_id": "<string>"
      },
      "market_data": {
        "listing_id": "<string>"
      },
      "news": {
        "asset_id": "<string>"
      }
    },
    "object_refs": [
      {
        "id": "<string>",
        "type": "<string>"
      }
    ],
    "object_refs_validation_status": "<string>",
    "route_reason": "<string>"
  },
  "resolution_status": "<string>",
  "source_refs": []
}
Conclusion:Response carries real business data — safe as a normal example. Time-variant fields must not be hardcoded.
Open in MCP Playground →
fundamentals_queryFundamentals
Live

User asks for company fundamentals content: profile/background (including CN company-profile phrasing), financial statements, segments, corporate actions, metrics/summary, or crypto tokenomics/supply. Use task=profile here for company fundamentals text - not assets_resolve.

Tasksautoprofilecompany_profilestatementsfinancial_statementsmetricsfinancial_metricssegmentscorporate_actionstokenomicssupplysignalssummary
Call Examples
partialQuery the Apple company profile, statements, and financial metricsHTTP 200 · 420 ms
Trytaskquery / objectHTTPdata_statusLatency
1profileAAPL200partial380 ms
2statementsAAPL200ok410 ms
3summaryAAPL200partial520 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/assets
{
  "tool": "fundamentals_query",
  "arguments": {
    "query": "AAPL",
    "task": "summary",
    "ticker": "AAPL",
    "context": {
      "market": "us_equity"
    }
  }
}
Real server response

limitations: serving_mvp, valuation_current_out_of_scope, summary_aggregates_profile_statements_metrics_actions

{
  "data": {
    "summary": {
      "actions": [
        {
          "acquiree_rate": null,
          "acquiree_symbol": null,
          "acquirer_rate": null,
          "acquirer_symbol": null,
          "action_sub_type": "<string>",
          "action_type": "<string>",
          "alternate_rate": null,
          "alternate_symbol": null,
          "amount": null,
          "announcement_date": null,
          "asset_id": null,
          "cash_per_share": null,
          "cash_rate": null,
          "corporate_action_id": "<string>",
          "currency": null,
          "data_status": "<string>",
          "effective_date": "<date>",
          "empty_reason": null,
          "entity_id": null,
          "ex_date": "<date>",
          "expiration_date": null,
          "instrument_id": null,
          "listing_id": null,
          "new_symbol": null,
          "old_symbol": null,
          "payment_date": "<date>",
          "price": null,
          "process_date": "<date>",
          "ratio": "<string>",
          "ratio_from": "<number>",
          "ratio_to": "<number>",
          "record_date": "<date>",
          "source_rate": null,
          "source_symbol": null,
          "target_rate": null,
          "target_symbol": null,
          "venue_id": null
        }
      ],
      "as_of": "<date>",
      "blocks": [
        {
          "block": "<string>",
          "data_status": "<string>",
          "empty_reason": "<string>"
        }
      ],
      "metrics": [
        {
          "as_of_utc": "<date>",
          "data_status": "<string>",
          "empty_reason": null,
          "entity_id": "<string>",
          "metric_name": "<string>",
          "metric_value": "<number>",
          "period_key": "<string>",
          "unit": null
        }
      ],
      "profile": {
        "business_scope": null,
        "company_name": "<string>",
        "data_status": "<string>",
        "description": "<string>",
        "employee_count": "<number>",
        "empty_fields": [
          {
            "empty_reason": "<string>",
            "field": "<string>"
          }
        ],
        "empty_reason": "<string>",
        "entity_id": "<string>",
        "headquarters_country": "<string>",
        "industry": null,
        "management": [
          {
            "management_name": "<string>",
            "management_position": "<string>"
          }
        ],
        "profile_as_of": "<date>",
        "profile_items": [
          {
            "field_type": "<string>",
            "profile_key": "<string>",
            "profile_name": "<string>",
            "profile_value": "<string>"
          }
        ],
        "reporting_currency": null,
        "sector": null,
        "website": "<string>"
      },
      "statements": [
        {
          "currency": "<string>",
          "data_status": "<string>",
          "empty_reason": null,
          "entity_id": "<string>",
          "line_items": {
            "accounts_payable": "<number>",
            "accounts_receivable": "<number>",
            "accrued_expenses": "<number>",
            "accumulated_depreciation": "<number>",
            "available_for_sale_securities": "<number>",
            "capital_stock": "<number>",
            "cash_and_cash_equivalents": "<number>",
            "cash_cash_equivalents_and_short_term_investments": "<number>",
            "common_stock": "<number>",
            "current_assets": "<number>",
            "current_deferred_liabilities": "<number>",
            "current_liabilities": "<number>",
            "gains_losses_not_affecting_retained_earnings": "<number>",
            "gross_p_p_e": "<number>",
            "inventory": "<number>",
            "long_term_debt": "<number>",
            "long_term_debt_and_capital_lease_obligation": "<number>",
            "net_p_p_e": "<number>",
            "non_current_assets": "<number>",
            "non_current_deferred_assets": "<number>",
            "non_current_liabilities": "<number>",
            "other_current_assets": "<number>",
            "other_current_liabilities": "<number>",
            "other_non_current_assets": "<number>",
            "other_non_current_liabilities": "<number>",
            "other_receivables": "<number>",
            "payables": "<number>",
            "receivables": "<number>",
            "retained_earnings": "<number>",
            "short_term_debt": "<number>",
            "short_term_debt_and_capital_lease_obligation": "<number>",
            "short_term_investments": "<number>",
            "stockholders_equity": "<number>",
            "stockholders_equity_attributable_to_parent": "<number>",
            "taxes_payable": "<number>",
            "total_assets": "<number>",
            "total_investments": "<number>",
            "total_liabilities": "<number>",
            "total_liabilities_net_minority_interest": "<number>"
          },
          "period_end": "<date>",
          "period_key": "<string>",
          "period_start": null,
          "period_type": "<string>",
          "statement_type": "<string>",
          "unit": "<string>"
        }
      ],
      "window": "<string>"
    }
  },
  "data_status": "<string>",
  "empty_reason": "<string>",
  "error": null,
  "external_refs": [
    {
      "citation_url": "<string>",
      "entity_id": "<string>",
      "external_ref_id": "<string>",
      "external_ref_type": "<string>",
      "external_source_domain": "<string>",
      "filing_form": "<string>"
    }
  ],
  "lineage_refs": [],
  "metadata": {
    "actual_task": "<string>",
    "data_status": "<string>",
    "limitations": [
      "<string>",
      "<string>",
      "<string>"
    ],
    "object_refs": [
      {
        "asset_id": "<string>",
        "entity_id": "<string>",
        "id": "<string>",
        "instrument_id": "<string>",
        "listing_id": "<string>",
        "type": "<string>",
        "venue_id": "<string>"
      }
    ],
    "partial": "<boolean>",
    "route_reason": "<string>",
    "updated_at": "<date>"
  },
  "source_refs": []
}
Conclusion:Honor data_status and empty_reason for each fundamentals task; do not fabricate missing fields on the client.
Open in MCP Playground →
estimates_earnings_queryEstimates & Earnings
Live

User asks for earnings dates, reported results/surprises, or analyst consensus estimates.

Tasksautocalendarresultsconsensus
Example questionsWhen is the next AAPL earnings date?What is the consensus EPS estimate for NVDA?
Related REST (3)
Call Examples
readyApple earnings calendar; fall back to reported results and consensusHTTP 200 · 210 ms
Trytaskquery / objectHTTPdata_statusLatency
1calendarAAPL200ok210 ms
2resultsAAPL200ok240 ms
3consensusAAPL200ok180 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/assets
{
  "tool": "estimates_earnings_query",
  "arguments": {
    "query": "AAPL",
    "task": "calendar",
    "context": {
      "market": "us_equity"
    }
  }
}
Real server response

limitations: source_refs_unavailable

{
  "data": {
    "events": [
      {
        "asset_id": "<string>",
        "data_status": "<string>",
        "date_confirmed": "<boolean>",
        "date_precision": "<string>",
        "earnings_event_id": "<string>",
        "empty_reason": null,
        "entity_id": "<string>",
        "event_status": "<string>",
        "fiscal_period": "<string>",
        "instrument_id": "<string>",
        "listing_id": "<string>",
        "period_type": "<string>",
        "report_date": "<date>",
        "report_time_type": "<string>",
        "timezone": "<string>",
        "venue_id": "<string>"
      }
    ]
  },
  "data_status": "<string>",
  "empty_reason": null,
  "error": null,
  "external_refs": [
    {
      "citation_url": "<string>",
      "entity_id": "<string>",
      "external_ref_id": "<string>",
      "external_ref_type": "<string>",
      "external_source_domain": "<string>"
    }
  ],
  "lineage_refs": [
    {
      "data_status": "<string>",
      "source": "<string>",
      "stage": "<string>"
    }
  ],
  "metadata": {
    "actual_task": "<string>",
    "limitations": [
      "<string>"
    ],
    "object_refs": [
      {
        "asset_id": "<string>",
        "entity_id": "<string>",
        "id": "<string>",
        "instrument_id": "<string>",
        "listing_id": "<string>",
        "resolved_from": "<string>",
        "type": "<string>",
        "venue_id": "<string>"
      }
    ],
    "route_reason": "<string>",
    "updated_at": "<date>"
  },
  "request_id": "<string>",
  "source_refs": []
}
Conclusion:calendar / results / consensus return live earnings data. Honor data_status and empty_reason; do not hardcode dates or surprise figures.
Open in MCP Playground →
ownership_flows_queryFlows & Wallets
Live

User asks for large on-chain transfers of a token, token transfers into or out of centralized-exchange wallets, exchange inflows/outflows, token holder distribution, wallet balances/PnL, or a wallet's transaction history.

Tasksautoexchange_flowsholderswallet_profilewallet_transactions
Example questionsWhat are this ETH address’s flows over the past week?Who are the top holders of USDT?
Related REST (4)
Call Examples
not_readyQuery institutional holders of Apple via the assets entryHTTP 200 · 159 ms
Trytaskquery / objectHTTPdata_statusLatency
1institutionalAAPL200not_ready159 ms
2fund_holdingsAAPL200not_ready159 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/assets
{
  "tool": "ownership_flows_query",
  "arguments": {
    "query": "AAPL",
    "task": "institutional",
    "context": {
      "market": "us_equity"
    }
  }
}
Real server response

limitations: data_not_ready

{
  "metadata": {
    "data_status": "<string>",
    "limitations": [
      "<string>"
    ],
    "object_refs": []
  }
}
Conclusion:institutional / fund_holdings both not_ready — cannot be labelled a working example.
Open in MCP Playground →
/mcp/marketsMarkets & kline

market_data_query

market_data_queryMarket & Liquidity
Live

User asks for price, kline, or order book (crypto or equity); TradFi/crypto AI / technical indicators (task=technical_indicators); or crypto-only trades, liquidity, CEX depth, derivatives metrics, perp DEX protocol volume/OI (task=dex_derivatives), Gate perp volume history, or Gate hold/pic open interest history.

Tasksautosnapshotklineanomalymovesummaryorderbooktradesliquiditydepthderivativescex_derivativesdex_derivativesliquidation_heatmapliquidationsliquidation_aggregatesderivatives_volume_historyopen_interest_historydex_tradesdex_liquidity_eventstechnical_indicatorstechnical_indicatorstechnical_indicators
Example questionsWhat is BTC’s current price and 24h volume?Show me ETH’s hourly candles for the last day.
Related REST (20)
Call Examples
readyMulti-venue live snapshot for BTCHTTP 200 · 344 ms
Trytaskquery / objectHTTPdata_statusLatency
1snapshotBTC200ready344 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/markets
{
  "tool": "market_data_query",
  "arguments": {
    "query": "BTC",
    "task": "snapshot",
    "context": {
      "market": "crypto"
    }
  }
}
Real server response
{
  "data_status": "<string>",
  "listing_id": "<string>",
  "metadata": {
    "object_refs": [
      {
        "type": "<string>",
        "id": "<string>",
        "asset_id": "<string>",
        "resolved_from": "<string>",
        "resolution_confidence": "<string>"
      }
    ],
    "updated_at": "<date>",
    "data_status": "<string>",
    "limitations": []
  },
  "price": "<number>",
  "price_change_24h": "<number>",
  "price_change_24h_absolute": "<number>",
  "price_change_24h_percent": "<number>",
  "updated_at": "<date>",
  "venue_id": "<string>",
  "volume_24h": "<number>",
  "volume_24h_unit": "<string>"
}
Conclusion:Real multi-venue snapshot is live. Pages MUST call in real time or stamp the timestamp — never hardcode the number.
Open in MCP Playground →
/mcp/onchainOn-chain & wallets

planned: ownership_flows_query · risk_compliance_query

ownership_flows_queryFlows & Wallets
Live

User asks for large on-chain transfers of a token, token transfers into or out of centralized-exchange wallets, exchange inflows/outflows, token holder distribution, wallet balances/PnL, or a wallet's transaction history.

Tasksautoexchange_flowsholderswallet_profilewallet_transactions
Example questionsWhat are this ETH address’s flows over the past week?Who are the top holders of USDT?
Related REST (4)
Call Examples
not_readyQuery BTC token holders via onchain; fall back to a public wallet profileHTTP 200 · 155 ms
Trytaskquery / objectHTTPdata_statusLatency
1token_holdersBTC200not_ready155 ms
2wallet0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045200not_ready160 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/onchain
{
  "tool": "ownership_flows_query",
  "arguments": {
    "query": "BTC",
    "task": "token_holders",
    "context": {
      "market": "crypto"
    }
  }
}
Real server response

limitations: data_not_ready

{
  "metadata": {
    "data_status": "<string>",
    "limitations": [
      "<string>"
    ],
    "object_refs": []
  }
}
Conclusion:token_holders / wallet both not_ready — onchain ownership is not shipped on MCP yet.
Open in MCP Playground →
risk_compliance_queryRisk & Compliance
Coming soon

Do not use in phase-1 - planned risk/compliance facade (address/contract risk, disclosures, SEC filings, regulatory events).

Tasksautopolitical
Example questionsScreen this token contract for risk.Are there recent SEC filings related to Coinbase?
Related REST (1)
Call Examples · Coming soon

This tool returns not_ready. The block below is not a working example.

not_readyCheck compliance risk for a public Ethereum address via onchainHTTP 200 · 159 ms
Trytaskquery / objectHTTPdata_statusLatency
1compliance0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045200not_ready159 ms
2risk_signalsBTC200not_ready150 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/onchain
{
  "tool": "risk_compliance_query",
  "arguments": {
    "query": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "task": "compliance",
    "context": {
      "market": "crypto",
      "chain": "ethereum"
    }
  }
}
Real server response

limitations: data_not_ready

{
  "metadata": {
    "data_status": "<string>",
    "limitations": [
      "<string>"
    ],
    "object_refs": []
  }
}
Conclusion:Onchain compliance not_ready — cannot be presented as a working case.
/mcp/signalsSignals & news

events_news_query · prediction_markets_query

events_news_queryEvents, News, Sentiment & Signals
Live

User asks for news headlines, events calendar feed, social posts, or social/news sentiment for equities or crypto.

Taskscontent_searchevent_searchsocial_searchsentiment
Example questionsWhy did SOL move today? Give evidence.What’s happening in crypto markets today?
Related REST (4)
Call Examples
partialBTC news; on aggregate limits, fall back to event_search with detail=trueHTTP 200 · 280 ms
Trytaskquery / objectHTTPdata_statusLatency
1content_searchBTC200no_data322 ms
2event_searchBitcoin ETF200partial280 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/signals
{
  "tool": "events_news_query",
  "arguments": {
    "task": "event_search",
    "query": "Bitcoin ETF",
    "market": "crypto",
    "limit": 5,
    "detail": true
  }
}
Real server response
{
  "data": {
    "events": [
      {
        "asset_ids": [
          "<string>",
          "<string>"
        ],
        "chain": [
          "<string>",
          "<string>"
        ],
        "entity_ids": [],
        "event_category": "<string>",
        "event_id": "<string>",
        "impact_direction": "<string>",
        "importance_level": "<string>",
        "industry": [],
        "institution_codes": [],
        "instrument_ids": [],
        "listing_ids": [],
        "macro_indicator_codes": [],
        "market": "<string>",
        "mentions": [
          "<string>",
          "<string>"
        ],
        "sector": [
          "<string>",
          "<string>"
        ],
        "summary": "<string>",
        "title": "<string>"
      }
    ]
  },
  "data_status": "<string>",
  "empty_reason": null,
  "error": null,
  "external_refs": [],
  "lineage_refs": [],
  "metadata": {
    "data_status": "<string>",
    "entitlements": {
      "endpoint": "<string>",
      "evidence_fanout_level": "<string>",
      "field_level": "<string>",
      "object_resolution_level": "<string>"
    },
    "limitations": [],
    "object_refs": [
      {
        "asset_id": "<string>",
        "entity_id": "<string>",
        "id": "<string>",
        "resolution_confidence": "<string>",
        "resolved_from": "<string>",
        "type": "<string>"
      }
    ],
    "resolution_status": "<string>",
    "resolved_market": "<string>",
    "resolved_ticker": "<string>",
    "updated_at": "<date>"
  },
  "source_refs": []
}
Conclusion:Real event_search may be partial with limitations — the UI MUST render limitations and source_refs alongside, not as a full success.
Open in MCP Playground →
prediction_markets_queryPrediction
Live

User asks about prediction market events, rankings, signals, probabilities, or order books.

Tasksautosearchrankingsevent_signalorder_bookevent_detailmarketsummary
Call Examples
readyPolymarket 24h volume rankingsHTTP 200 · 361 ms
Trytaskquery / objectHTTPdata_statusLatency
1rankings—(榜单)200ready361 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/signals
{
  "tool": "prediction_markets_query",
  "arguments": {
    "task": "rankings",
    "ranking_type": "volume_24h",
    "venue": "polymarket",
    "limit": 5
  }
}
Real server response
{
  "metadata": {
    "data_status": "<string>",
    "limitations": [],
    "object_refs": [
      {
        "event_ref": "<string>",
        "id": "<string>",
        "type": "<string>",
        "venue": "<string>"
      }
    ],
    "pagination": {
      "limit": "<number>",
      "row_count": "<number>"
    },
    "updated_at": "<date>"
  },
  "rankings": [
    {
      "event_ref": "<string>",
      "excluded_reasons": [],
      "liquidity_usd": "<number>",
      "rank_date_utc": "<date>",
      "rank_no": "<number>",
      "rank_type": "<string>",
      "ranking_value": "<number>",
      "title": "<string>",
      "venue": "<string>",
      "venue_event_id": "<string>",
      "volume_24h_usd": "<number>"
    }
  ]
}
Conclusion:Rankings are real; stamp the call time or refresh live — never hardcode amounts or titles.
Open in MCP Playground →
risk_compliance_queryRisk & Compliance
Coming soon

Do not use in phase-1 - planned risk/compliance facade (address/contract risk, disclosures, SEC filings, regulatory events).

Tasksautopolitical
Example questionsScreen this token contract for risk.Are there recent SEC filings related to Coinbase?
Related REST (1)
Call Examples · Coming soon

This tool returns not_ready. The block below is not a working example.

not_readyApple disclosures via signals; fall back to risk_signalsHTTP 200 · 143 ms
Trytaskquery / objectHTTPdata_statusLatency
1disclosuresAAPL200not_ready143 ms
2risk_signalsBTC200not_ready145 ms
Selected request (Bearer redacted)
POST https://mcp.gatedata.ai/mcp/signals
{
  "tool": "risk_compliance_query",
  "arguments": {
    "query": "AAPL",
    "task": "disclosures",
    "context": {
      "market": "us_equity"
    }
  }
}
Real server response

limitations: data_not_ready

{
  "metadata": {
    "data_status": "<string>",
    "limitations": [
      "<string>"
    ],
    "object_refs": []
  }
}
Conclusion:disclosures / risk_signals both not_ready — the Pro/Enterprise domain is not shipped on MCP yet.

Troubleshooting

Hitting an error during setup? Filter by client to find the cause and the fix.