hindcast

MCP servers

MCP server for CFTC COT reports (positioning)

COT is a weekly rhythm: a Tuesday snapshot released the following Friday afternoon, in two overlapping formats, with categories that changed when the disaggregated report was introduced. Every one of those details is a chance to build something subtly wrong.

This server hands an agent the normalized version. Tools return positioning by trader category for a contract and week, or a series across weeks, with the report date and the release timestamp both present. The three-day gap between the position snapshot and its publication is preserved in the data rather than left to the caller to remember.

Contracts resolve through the same identifier graph as the rest of the catalog, so positioning in a commodity future can be asked about alongside the WASDE or EIA release that moved it, without a mapping table in the middle.

hindcast — session

preview

hindcast> how has net positioning moved over the last eight weeks?

→ tool: cot_positioning { contract:"...", weeks:8 }

weekly net positions by category with release timestamps

source: CFTC Commitments of Traders, legacy and disaggregated formats

Preview of the shape of an answer — endpoints open to the waitlist first.

What's covered

Join the waitlist — this page's dataset is already selected.

Need this one?votes for Positioning & Flows
Optional — helps us build in the right order. All skippable.

Role

Company

Datasets you need

Questions

Which format should an agent use?

Whichever matches the question, and the tool makes the choice explicit rather than picking silently. The disaggregated report separates producer and swap-dealer activity that the legacy format lumps together, so the right answer depends on what is being measured.

Does the tool prevent reading a report before its release?

An as-of query filters on the release timestamp, so a request dated before publication returns the previous week's report — which is what a trader would have had.

Join the waitlist. Vote the roadmap. First in, first served.

← Back to the data catalog