CFTC Commitments of Traders data for every CFTC futures market: positions, history, COT index.
Maintained by@wolf-lamb(verified)Also a maintainer?
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.
A short explanation of a COT concept — the trader groups, net positions, open interest, the four report families, the COT index, release timing — with a link to the full guide. Available at every level.
The concept to explain.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http cot https://mcp.cot-reports.com
A short explanation of a COT concept — the trader groups, net positions, open interest, the four report families, the COT index, release timing — with a link to the full guide. Available at every level.
| Argument | Type | Description |
|---|---|---|
| topic* | string | The concept to explain. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"topic"
],
"properties": {
"topic": {
"enum": [
"what_is_cot",
"trader_groups",
"net_position",
"open_interest",
"report_families",
"cot_index",
"release_timing"
],
"type": "string",
"description": "The concept to explain."
}
}
}The COT index (0–100: where the current net position sits between its lowest and highest of the lookback window) for large speculators and commercials, from the Legacy report. Without an account: the 26- and 52-week windows; a free account, COT Premium and a Data API key: every window. Both CFTC variants (Futures Only and Futures & Options Combined) with COT Premium and Data API keys; without an account and with a free account, each report's default variant.
| Argument | Type | Description |
|---|---|---|
| market* | string | A CFTC code (e.g. 099741), a ticker (e.g. 6E, GC) or a market name. |
| variant | string | CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only). |
| lookback_weeks | any | Lookback window in weeks: 26, 52, 156 or 260. Default: 156 (3 years) — 52 without an account. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"market"
],
"properties": {
"market": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "A CFTC code (e.g. 099741), a ticker (e.g. 6E, GC) or a market name."
},
"variant": {
"enum": [
"futonly",
"combined"
],
"type": "string",
"description": "CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only)."
},
"lookback_weeks": {
"anyOf": [
{
"type": "number",
"const": 26
},
{
"type": "number",
"const": 52
},
{
"type": "number",
"const": 156
},
{
"type": "number",
"const": 260
}
],
"description": "Lookback window in weeks: 26, 52, 156 or 260. Default: 156 (3 years) — 52 without an account."
}
}
}Weekly COT history for one market, newest first: open interest and the net position of every trader group (up to 260 reports per call; page back with "until"). Without an account: Legacy, the last 26 reports (6 months). Free account: Legacy, the last 520 reports (10 years). COT Premium and Data API keys: every report family and the full history; COT Premium also adds close prices. A new COT Premium subscription that can still be withdrawn from reads the last year of what Premium adds, until the date in its confirmation e-mail. Both CFTC variants (Futures Only and Futures & Options Combined) with COT Premium and Data API keys; without an account and with a free account, each report's default variant.
| Argument | Type | Description |
|---|---|---|
| from | string | Oldest report date to include, YYYY-MM-DD. |
| until | string | Newest report date to include, YYYY-MM-DD (for paging back). |
| market* | string | A CFTC code (e.g. 099741), a ticker (e.g. 6E, GC) or a market name. |
| report | string | Report family: legacy (default), disaggregated, tff or supplemental. |
| reports | integer | How many weekly reports (default 12). |
| variant | string | CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"market"
],
"properties": {
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Oldest report date to include, YYYY-MM-DD."
},
"until": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Newest report date to include, YYYY-MM-DD (for paging back)."
},
"market": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "A CFTC code (e.g. 099741), a ticker (e.g. 6E, GC) or a market name."
},
"report": {
"enum": [
"legacy",
"disaggregated",
"tff",
"supplemental"
],
"type": "string",
"description": "Report family: legacy (default), disaggregated, tff or supplemental."
},
"reports": {
"type": "integer",
"maximum": 260,
"minimum": 1,
"description": "How many weekly reports (default 12)."
},
"variant": {
"enum": [
"futonly",
"combined"
],
"type": "string",
"description": "CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only)."
}
}
}The latest COT report for one market: long, short and net positions of every trader group, the week-on-week change, % of open interest. Without an account and with a free account: the Legacy report. COT Premium and Data API keys: every report family (Legacy, Disaggregated, TFF, Supplemental); COT Premium also adds the close price. Both CFTC variants (Futures Only and Futures & Options Combined) with COT Premium and Data API keys; without an account and with a free account, each report's default variant.
| Argument | Type | Description |
|---|---|---|
| market* | string | A CFTC code (e.g. 099741), a ticker (e.g. 6E, GC) or a market name. |
| report | string | Report family: legacy (default), disaggregated, tff or supplemental. |
| variant | string | CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"market"
],
"properties": {
"market": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "A CFTC code (e.g. 099741), a ticker (e.g. 6E, GC) or a market name."
},
"report": {
"enum": [
"legacy",
"disaggregated",
"tff",
"supplemental"
],
"type": "string",
"description": "Report family: legacy (default), disaggregated, tff or supplemental."
},
"variant": {
"enum": [
"futonly",
"combined"
],
"type": "string",
"description": "CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only)."
}
}
}The latest Legacy COT report of every market, 100 markets per answer (use offset for the next page): net positions of large speculators and commercials, their week-on-week change, and open interest. Filter by category. Available at every level. Both CFTC variants (Futures Only and Futures & Options Combined) with COT Premium and Data API keys; without an account and with a free account, each report's default variant.
| Argument | Type | Description |
|---|---|---|
| offset | integer | Paging: skip this many markets (default 0). |
| variant | string | CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only). |
| category | string | A category or subcategory, e.g. "Energy", "Stock Indices". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"offset": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "Paging: skip this many markets (default 0)."
},
"variant": {
"enum": [
"futonly",
"combined"
],
"type": "string",
"description": "CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only)."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "A category or subcategory, e.g. \"Energy\", \"Stock Indices\"."
}
}
}Which COT report is the latest, when it was published, and when the next one is due (the CFTC publishes on Fridays at 3:30 pm Eastern for the Tuesday before; holidays move it). Available at every level.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}The weekly summary of the 35 main markets (currencies, crypto, metals, energy, agriculture, stock indices) from the latest Legacy report: net positions of speculators and commercials and their change. Available at every level. Both CFTC variants (Futures Only and Futures & Options Combined) with COT Premium and Data API keys; without an account and with a free account, each report's default variant.
| Argument | Type | Description |
|---|---|---|
| variant | string | CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"variant": {
"enum": [
"futonly",
"combined"
],
"type": "string",
"description": "CFTC variant: futonly = Futures Only, combined = Futures & Options Combined. Default: the report's own (Legacy: futonly; Disaggregated, TFF: combined; Supplemental is published combined only)."
}
}
}Lists the CFTC markets COT-Reports covers (350+): CFTC code, ticker, name, exchange, category and which report families exist for each. Filter by a search text, a category or a report family. Available at every level.
| Argument | Type | Description |
|---|---|---|
| limit | integer | At most 50 (default 25). |
| report | string | Report family: legacy (default), disaggregated, tff or supplemental. |
| search | string | Part of a name, ticker, alias or CFTC code. |
| category | string | A category or subcategory, e.g. "Metals", "Currencies & Forex". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "At most 50 (default 25)."
},
"report": {
"enum": [
"legacy",
"disaggregated",
"tff",
"supplemental"
],
"type": "string",
"description": "Report family: legacy (default), disaggregated, tff or supplemental."
},
"search": {
"type": "string",
"maxLength": 60,
"description": "Part of a name, ticker, alias or CFTC code."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "A category or subcategory, e.g. \"Metals\", \"Currencies & Forex\"."
}
}
}Markets where large speculators are crowded long or short this week (the Crowding score: a blend of the 26-, 52- and 156-week percentiles of their net position as % of open interest; crowded long from 80 until it falls below 75, crowded short from 20 until it rises above 25), from the Legacy Futures Only report. COT Premium only, as on the website.
| Argument | Type | Description |
|---|---|---|
| side | string | Crowded long, crowded short, or both (default). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"side": {
"enum": [
"long",
"short",
"both"
],
"type": "string",
"description": "Crowded long, crowded short, or both (default)."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.