Current MCP tool reference¶
The current Research MCP exposes 28 tools: 14 data, analysis and help tools, and 14 focused display tools. It uses the same Research API as the browser product. The retired publication-oriented tool catalogue is not the current API.
Connect to https://mcp.thecoindaily.co/mcp using OAuth. Research and MCP access require a current subscription or an applicable complimentary pass.
Data, analysis and help¶
| Tool | Use it for | Inputs and follow-up |
|---|---|---|
research_capabilities |
Discover supported workflows and limits without fetching market data | Browse area, optionally filter short keywords; use returned case IDs and pagination |
research_discover |
Resolve canonical tickers and governed group membership | Asset query, exact returned group_id, offset, limit; inspect groups to resolve category labels |
research_markets |
Read the prepared market board in published Signal Book order | Optional ticker substring, offset and limit; rank is not a predicted return |
research_open_ticker |
Retrieve price candles and the available layer/study catalogue | Exact ticker, UTC window, candle timeframe 1h, 4h or 1d |
research_read_series |
Retrieve one selected metric or study | A request with ticker, series, dates and any required returned variant/indicator/venue IDs; follow its cursor |
research_market_context |
Read hourly model regime and observed volatility for one ticker window | Exact ticker and an explicit UTC window; readiness, gaps, source pair and historical percentiles stay explicit. See Market regime and volatility |
research_interpret_range |
Calculate prominent-move findings and selected supporting metrics | A request preserving the original A/B candle times, timeframe and enabled layers; deterministic Research calculation, not an LLM call |
research_prepare_cohorts |
Prepare governed comparison history | days: 1, 7 or 30; waits briefly for a cold build and returns the snapshot (no job id) with its initial comparison and facts.summary |
research_cohort_status |
Legacy compatibility: check a pre-existing preparation job | Exact job id only when already obtained from a pre-deploy response or a direct Research API call; prepare does not return one |
research_compare_cohorts |
Compare chosen groups on a pinned history | A request with returned snapshot/group IDs, bounds and comparison controls; preserve unchanged controls on refinements. Returns facts.summary headline returns, relative percentage points and charted/member counts |
research_briefing |
Read the latest published Market Update and chapters | No selection arguments; publication readings are not live prices |
research_ticker_videos |
Find ticker-primary videos by publication time | Exact ticker and UTC window |
research_news_context |
Retrieve linked stories and daily attention around a day | Exact ticker and explicit anchor day; use the actual window returned by the API |
research_read_evidence |
Inspect exact sections of an already captured result | evidence_id, JSON-pointer path, offset and limit; does not refresh the data |
Use the server's tools/list schemas for exact request fields, enums and bounds. Do not manufacture group IDs, study variants, job IDs or evidence IDs. research_capabilities explains workflows in machine-readable form.
Display tools¶
All display tools require the exact evidence_id from a compatible preceding result. Evidence belongs to the authenticated principal and is normally retained for up to 15 minutes. The released shared store is restart-safe: a routine service replacement does not by itself discard an unexpired capture. Retained old widget resources, current tool metadata and expiring market evidence are separate states; a published widget resource can remain usable while a new result still needs a fresh read.
| Display tool | Compatible retrieval |
|---|---|
research_show_markets |
research_markets |
research_show_directory |
research_discover |
research_show_price |
research_open_ticker |
research_show_funding |
research_read_series — funding |
research_show_open_interest |
research_read_series — open interest |
research_show_liquidations |
research_read_series — liquidations |
research_show_liquidity |
research_read_series — liquidity |
research_show_positioning |
research_read_series — positioning |
research_show_market_context |
research_market_context |
research_show_study |
research_read_series — a selected indicator |
research_show_cohorts |
research_prepare_cohorts / research_compare_cohorts |
research_show_briefing |
research_briefing |
research_show_videos |
research_ticker_videos |
research_show_news |
research_news_context |
Cohort display supports performance, relative, contributions, relationships and correlation views. Copy returned metric IDs when selecting relationship axes. Briefing display can select an exact returned chapter ID.
Selection and time¶
- Chart and video windows use an inclusive UTC start and exclusive end, bounded to 31 days.
- Range interpretation selects A and B by their original candle opening times and includes the whole B candle. Do not pass an exclusive chart end as B.
- Indicators default to
calculation=candleson the selected1h,4hor1dinterval. Use its exact catalogue code/variant and preserve warm-up/readiness/coverage. An explicitcalculation=nativekeeps the stored source clock; there is no native fallback. - Numeric funding/OI/liquidation/L2/account/whale reads default to
alignment=candlesat that same interval. Research selects snapshots or sums flow periods; retainobserved_at,available_at,usable,comparison_eligibleand bucket coverage. Partial flows are observed subtotals, not complete totals. Funding retains its percent-per-eight-hours basis; OI venue lines use the API's matching-cycle values without client sums. Explicitalignment=nativeretains raw source rows. Market context always uses its own hourly observation clock and has no candle-alignment mode. - Range selections use
selection.alignment=candlesfor the same snapshot/flow policy and include each study'sid,indicator,calculationandtimeframe. - Cohort comparison uses a pinned snapshot. Its selected time bounds are Unix seconds, not JavaScript milliseconds.
- A video's publication time is not necessarily the market period it discusses. News context supplies its own actual lookback window.
Response and evidence¶
The structured result uses schema_version: tcd.mcp-research/v2. It identifies the surface, status, selection, compact facts, evidence reference and Research link. Full widget payloads are carried separately from the compact model-facing summary. Use research_read_evidence for exact retained sections before citing numbers absent from that summary; retrieve the specific section a question needs rather than enumerating sections.
Cohort results add facts.summary, derived only from the returned payload: the selected window start/end and read time; each group's return_pct, benchmark-relative relative_pp and as_of taken from the last returned line point (not necessarily an exact window end), plus its returned charted_count/member_count; and a benchmark object with the returned ticker, label, return_pct and relative_pp. A value the payload does not provide is omitted, not defaulted. When research_prepare_cohorts returns the comparison the user asked for, this summary answers the headline question without another comparison or evidence read. A comparison re-issues only the API's busy 429 signal, once; the six-second bound covers retry waiting, not total request time.
| Status | Meaning |
|---|---|
available |
The requested result is available |
partial |
Some observations or coverage are incomplete; inspect the supplied detail |
empty |
No matching observations in the returned scope |
preparing |
An upstream preparation is still running; the requesting tool waits or returns retry guidance. A legacy cohort job id, if already known, can be checked with research_cohort_status |
unavailable |
A required source or service could not provide the result |
expired |
The retained reference is no longer usable; retrieve fresh evidence |
error |
The request or result could not satisfy the contract |
Missing readings are not zero. Preserve source units, contributor coverage, timestamps and the selected window. A newly fetched range can contain source corrections; do not silently replace an earlier captured table.
Errors and access¶
An unauthenticated request receives 401. An authenticated identity without current access completes the MCP handshake and can list tools, resources and prompts. A data method is refused at HTTP 200 with a neutral access explanation (access information only — no checkout or upgrade link) that the assistant can show in the conversation: tools/call returns an MCP tool error result (isError: true) so hosts surface the text to the model, while resources/read, prompts/get and completion/complete return a JSON-RPC error. The informational help tool research_capabilities (static, versioned guidance with no market-data read) stays available without access so an assistant can explain what the product offers. No research data is served without access. An unavailable subscription check receives 503 and should be retried—not treated as a request to buy another plan. Rate limits may return 429.
See pagination, authentication and troubleshooting. This is a research interface with no wallets, trade execution or order placement.