refactor(V2): get_instruments common-only on /mcp (enriched with Deribit filters)
Move get_instruments off the per-exchange Deribit router and onto the
unified interface, without losing the advanced Deribit filtering.
- /mcp/tools/get_instruments now accepts the Deribit-specific filters
(currency, kind, expiry_from/to, strike_min/max, min_open_interest) and
pagination (offset/limit). Venues that list everything (Hyperliquid)
ignore them. Response adds `meta: {deribit: {total, offset, limit,
has_more}}` surfacing per-source pagination.
- Remove /mcp-deribit/tools/get_instruments (endpoint + tool wrapper +
GetInstrumentsReq schema). The DeribitClient.get_instruments METHOD
stays — it's what the unified normalizer calls.
Tests: cover the enriched filters + meta passthrough; app-boot asserts
/mcp-deribit/tools/get_instruments is gone. Docs (API_REFERENCE/README/
CLAUDE) and smoke updated; also fixed the stale Hyperliquid tool count
(14 → 15) found during the doc check.
325 passed, ruff clean. Verified live: kind=option limit=5 → 5/940
has_more=true; /mcp-deribit/tools/get_instruments → 404.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -181,11 +181,12 @@ DVOL, GEX, P/C ratio, skew_25d, term_structure, iv_rank, realized_vol,
|
||||
find_by_delta, calculate_spread_payoff, get_dealer_gamma_profile,
|
||||
get_vanna_charm, get_oi_weighted_skew, get_smile_asymmetry,
|
||||
get_atm_vs_wings_vol, get_orderbook_imbalance, run_backtest, place_combo_order.
|
||||
(Storico/indicatori → `/mcp`.)
|
||||
(Strumenti/storico/indicatori → `/mcp`.)
|
||||
|
||||
### Hyperliquid
|
||||
Account summary, positions, orderbook, funding rate, basis spot/perp,
|
||||
place_order, set_stop_loss, set_take_profit. (Storico/indicatori → `/mcp`.)
|
||||
place_order, set_stop_loss, set_take_profit.
|
||||
(Strumenti/storico/indicatori → `/mcp`.)
|
||||
|
||||
### IBKR (Interactive Brokers)
|
||||
Account, positions, activities, ticker, bars, snapshot, option chain,
|
||||
@@ -213,7 +214,9 @@ ancora integrato — usa `/mcp-ibkr`).
|
||||
sé `exchange`, `fees` (maker/taker, live da Deribit, `null` dove l'exchange
|
||||
non li espone), `history_start` (data inizio storico, live da Deribit),
|
||||
`type`, `tick_size` e un blocco `native` lossless. `exchange` opzionale →
|
||||
filtra una sorgente; se omesso fan-out su tutti.
|
||||
filtra una sorgente; se omesso fan-out su tutti. Filtri avanzati Deribit
|
||||
(`kind`, `expiry_*`, `strike_*`, `min_open_interest`) e paginazione
|
||||
(`offset`/`limit`, con `meta.deribit.has_more`).
|
||||
- **`get_historical`** — `{exchange?, instrument, interval, start_date,
|
||||
end_date}`. Con `exchange` ritorna il **singolo** exchange; **omettendolo**
|
||||
fa il **consenso** multi-exchange (mediana OHLC, `sources`,
|
||||
|
||||
Reference in New Issue
Block a user