latest_report
Pack: cftc-cot · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/latest_report for the schema, then POST the same URL with its arguments for the data.
Most recent weekly COT positioning for one futures market. Pass the exact market_and_exchange_names from search_markets, e.g. “CRUDE OIL, LIGHT SWEET-WTI - NEW YORK MERCANTILE EXCHANGE” or “GOLD - COMMODITY EXCHANGE INC.”. Returns open interest plus long/short/net for non-commercial (≈ speculators: managed money / large traders), commercial (≈ hedgers / producers), and non-reportable (small traders), with this week’s changes. Keyless.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
market_name | string | yes | Exact market_and_exchange_names from search_markets, e.g. “CRUDE OIL, LIGHT SWEET-WTI - NEW YORK MERCANTILE EXCHANGE”. |
Example call
Arguments
{
"market_name": "CRUDE OIL, LIGHT SWEET - NEW YORK MERCANTILE EXCHANGE"
}
curl
curl -X POST https://gateway.pipeworx.io/cftc-cot/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"latest_report","arguments":{"market_name":"CRUDE OIL, LIGHT SWEET - NEW YORK MERCANTILE EXCHANGE"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('latest_report', {
"market_name": "CRUDE OIL, LIGHT SWEET - NEW YORK MERCANTILE EXCHANGE"
});
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the cftc-cot pack
{
"mcpServers": {
"cftc-cot": {
"url": "https://gateway.pipeworx.io/cftc-cot/mcp"
}
}
}
See Getting Started for client-specific install steps.