Add futures_quote tool: CBOT price + change since open + on day
New futures_quote(commodity, delivery?) tool wraps the new /api/data/futures endpoint: reports latest price, today's session open, prior settle, and both moves (since open and on the day). With a delivery month it resolves the listed contract; without it, the continuous nearby. Adds client.futures(), fmt_futures(), tests, and a CHANGELOG entry. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,38 @@
|
||||
Notes for clients/agents that consume the ag-bids MCP tools and the underlying
|
||||
`ag-monitor` `/api/data/*` HTTP API. Newest first.
|
||||
|
||||
## 2026-05-29 — Futures price + change tool
|
||||
|
||||
### New MCP tool
|
||||
|
||||
- **`futures_quote(commodity, delivery?)`** — CBOT futures price and change for a
|
||||
grain. Reports the latest price, today's **session open**, the prior day's
|
||||
close, and **both** moves: **change since open** and **change on the day**
|
||||
(vs the previous settle). With `delivery` (e.g. `"Jul 2026"`) it resolves the
|
||||
listed contract that month prices against (e.g. `ZCN26`); without it, the
|
||||
continuous nearby.
|
||||
|
||||
### API changes (`ag-monitor`)
|
||||
|
||||
- **`GET /api/data/futures?commodity=<grain>&delivery=<label?>`** — new endpoint.
|
||||
Returns `{ commodity, delivery, contract, symbol, quote }` where `quote` is
|
||||
`{ settle_date, open_cents, last_cents, prev_close_cents,
|
||||
change_since_open_cents, change_on_day_cents, fetched_at }` (or `null` if no
|
||||
data yet for that contract). `commodity` must be `corn`/`soy`/`wheat`.
|
||||
- **`futures_quotes` table** gained an `open_cents` column; the futures scraper
|
||||
now stores the session **Open** alongside the close. Rows captured before this
|
||||
change have `open_cents = NULL`, so `change_since_open_cents` is `null` for
|
||||
those until the next session is scraped.
|
||||
- Futures now also pull at **:30 during the CBOT day session** (on top of the
|
||||
hourly :00), so `last` and the changes track the session every ~30 min.
|
||||
|
||||
### Example questions → tool calls
|
||||
|
||||
| Ask | Call |
|
||||
|---|---|
|
||||
| Corn Jul futures and how far it's moved today | `futures_quote(commodity="corn", delivery="Jul 2026")` |
|
||||
| Soy nearby futures, change on the day | `futures_quote(commodity="soy")` |
|
||||
|
||||
## 2026-05-29 — Flexible history + basis movement
|
||||
|
||||
### New MCP tools
|
||||
|
||||
Reference in New Issue
Block a user