Paid trader skills MCP. Coil scanner with dated 252d forward-return evidence. x402 USDC.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WHEN: Use when you already have a capability id and need schema, price, and when-to-use before paying. NOT for: Do not use to execute the scan. Returns: The full manifest — input and output schema, support envelope, limitations — plus the price and access class on THIS endpoint, and the routing block.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Tool list last changed Oct 25, 2026.
WHEN: Use when you already have a capability id and need schema, price, and when-to-use before paying. NOT for: Do not use to execute the scan. Returns: The full manifest — input and output schema, support envelope, limitations — plus the price and access class on THIS endpoint, and the routing block.
| Argument | Type | Description |
|---|---|---|
| id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
},
"additionalProperties": false
}WHEN: Use when you need the dated forward-return pack for a listed skill (n, window, as-of). NOT for: Do not use as a live scan and do not treat evidence as today’s hits. Returns: Semantic evidence (does it do what it says) kept strictly separate from historical economic evidence (what was measured about the population it describes) — never combined into a score. Universe-relative and vs-benchmark figures appear only where they were actually measured; a capability with no economic measurement returns NOT_MEASURED rather than a borrowed figure.
| Argument | Type | Description |
|---|---|---|
| id* | string | Capability id |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Capability id"
}
},
"additionalProperties": false
}WHEN: Use when your user asks what Dantes rates a NAMED stock, why, or for the analyst’s written report — "what does Dantes say about WING", "is NVDA a Strong Buy", "read me the Dantes report on PRLB". Up to 20 names; the written report is inlined for up to 3 names at a time. NOT for: Do not use it to rate a market or a screen’s survivors wholesale — Dantes grades only names that reached a desk through a setup, so most names are blank; a blank is UNRATED, never Hold. It is not Street consensus (that is analyst-actions) and it is not investment advice. Returns: { ok, rows: [{ symbol, grade, as_of, rated_at, written_as, confidence, setup, capability, report_page, essay | essay_note | why_blank }] } — grade is one of Strong Buy, Buy, Speculative, Hold, Trim, Sell or null; "Buy or better" means the first two only.
| Argument | Type | Description |
|---|---|---|
| symbols* | array | |
| include_essay | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"symbols"
],
"properties": {
"symbols": {
"type": "array",
"items": {
"type": "string",
"maxLength": 12,
"minLength": 1
},
"maxItems": 20,
"minItems": 1
},
"include_essay": {
"type": "boolean"
}
},
"additionalProperties": false
}WHEN: Use when your user asks about THEIR Dantes Desk, watchlist or locked setups — "what is on my desk", "which of my desk names are Strong Buy", "what did my setups land tonight", "what am I watching". Returns the seat your token is bound to; pass include_archive:true for cards no longer live. NOT for: Not a market screen and not another person’s desk — a token sees only its own seat; without a bound seat it answers no_seat, and then you say so rather than guessing. A card is a dated scan result, never a recommendation; do not present a Desk card as advice to buy. Returns: { ok, desk: { name, cards_live, cards_archived, cards[] ({ symbol, company_name, setup, as_of, live, dantes_grade, grade_as_of, fields[], levels[], note, landed_by, report_page }) , archive? }, watchlist[], setups[] ({ kind, name, armed, grade_filter }) } or { ok: false, reason: no_seat | no_desk }.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| include_archive | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 400,
"minimum": 1
},
"include_archive": {
"type": "boolean"
}
},
"additionalProperties": false
}WHEN: Use when your user asks whether Dantes grades work — "do Strong Buys beat SPY", "how have Dantes Buy grades done", "is the grade monotone". Returns the forward log of grades Dantes issued live, measured beside SPY over identical windows. NOT for: Not a backtest and not evidence until its own completed-63 Buy-or-better count reaches the threshold it states — quote the as-of date and the n with every number. Not a grade for a name (that is get_dantes_rating). Needs a token; the anonymous endpoint answers token_required. Returns: { ok, as_of, units, scopes: { dantes | storystocks | combined: { label, plain_line, completed_63 { rows, buy_or_better, ended_early, needed_buy_or_better }, by_grade[] ({ grade, rows, horizons { 5|21|63|126|252: { measured, pending, mean_excess, mean_excess_95, median_excess, hit_rate_vs_spy, … } } }), books_vs_spy { strong_buy, buy_or_better: { book, spy: { total_return, cagr, sharpe, sortino, max_drawdown, mar } } }, monotonicity_63 } } } or { ok: false, reason: token_required | no_report | report_unreadable }. Total return, dividends included; say which scope a number is from.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}WHEN: Use when you have chosen a listed skill, the user wants names that match it now, and you are ready to pay. NOT for: Do not use for quotes, news, or a chart pattern nowhere on this endpoint (head-and-shoulders — say we don’t have that). Do not refuse a NAMED indicator before get_capability ta-primitives has been read, and do not rebuild a held recipe from memory: the composing rules in the routing guide apply to every call here. Returns: { ok, result } or { ok: false, error }. A priced capability answers an unpaid call with an x402 PaymentRequired naming the exact amount, asset, network and recipient; nothing executes and nothing is charged until a payment verifies. A scan that ran and returned zero names is a completed billable run, not an error.
| Argument | Type | Description |
|---|---|---|
| id* | string | Capability id |
| input* | object | Input conforming to the capability's input_schema |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"input"
],
"properties": {
"id": {
"type": "string",
"description": "Capability id"
},
"input": {
"type": "object",
"description": "Input conforming to the capability's input_schema",
"additionalProperties": {}
}
},
"additionalProperties": false
}WHEN: Use when you need what universes / as-of books a skill can run on. NOT for: Do not use to fetch prices or news. Returns: The published datasets with their as-of dates and the universes they enumerate; with a `universe` argument, the member ticker list itself. Raw dataset files are never returned.
| Argument | Type | Description |
|---|---|---|
| limit | number | Members per page for format "full" (default 250, max 1000). |
| theme | string | SECULAR_TREND only — restrict to one secular theme id. |
| format | string | "full" (default) returns member records with metadata, paged. "symbols" returns the complete ticker list in one cheap response. |
| offset | number | Page offset for format "full". |
| dataset | string | Dataset name, when the endpoint publishes more than one. |
| universe | string | Enumerate the members of one universe. Omit to list datasets and see which universes are available. |
| eligible_only | boolean | SECULAR_TREND only — restrict to members that also pass the LIQUID_VOLATILE mechanical gates. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "number",
"description": "Members per page for format \"full\" (default 250, max 1000)."
},
"theme": {
"type": "string",
"description": "SECULAR_TREND only — restrict to one secular theme id."
},
"format": {
"enum": [
"full",
"symbols"
],
"type": "string",
"description": "\"full\" (default) returns member records with metadata, paged. \"symbols\" returns the complete ticker list in one cheap response."
},
"offset": {
"type": "number",
"description": "Page offset for format \"full\"."
},
"dataset": {
"type": "string",
"description": "Dataset name, when the endpoint publishes more than one."
},
"universe": {
"enum": [
"LIQUID_VOLATILE",
"SECULAR_TREND"
],
"type": "string",
"description": "Enumerate the members of one universe. Omit to list datasets and see which universes are available."
},
"eligible_only": {
"type": "boolean",
"description": "SECULAR_TREND only — restrict to members that also pass the LIQUID_VOLATILE mechanical gates."
}
},
"additionalProperties": false
}WHEN: Use when you concluded, after search_capabilities and get_capability, that Dantes cannot do part of what your user asked — name the missing data column, indicator, history or composition in buildable terms, and what Dantes CAN do of the ask. NOT for: Do not use for a capability that exists and refused your input shape (read its schema and retry), and do not tell your user the gap will be built or when — it is recorded for the operators, never promised. Returns: { ok, recorded } — the missing pieces as written to the operators’ gaps board, free, or { ok: false } with the reason.
| Argument | Type | Description |
|---|---|---|
| missing* | array | |
| could_do | string | |
| question* | string | |
| capabilities_tried | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"question",
"missing"
],
"properties": {
"missing": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 3
},
"maxItems": 6,
"minItems": 1
},
"could_do": {
"type": "string",
"maxLength": 400
},
"question": {
"type": "string",
"maxLength": 400,
"minLength": 8
},
"capabilities_tried": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 10
}
},
"additionalProperties": false
}WHEN: Use when the user named a setup in trader language and you need to know which Dantes skill matches. NOT for: Do not use to run a scan or to invent a skill we do not list. Returns: Matching capability ids, each with its price, what it takes to run it, and its own when / not_for / returns — plus `not_encoded`, the setups this endpoint does not have.
| Argument | Type | Description |
|---|---|---|
| query* | string | |
| category | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string"
},
"category": {
"type": "string"
}
},
"additionalProperties": false
}