{"service":"GA10 Pricing MCP","version":"1.2.0","endpoints":["GET  /health","GET  /prices/latest","GET  /prices/latest/{isin}","GET  /prices/by-date?date=YYYY-MM-DD  (all bonds for a specific date)","GET  /prices/history/{isin}?days=30","POST /prices/refresh","GET    /watchlist                   (cbonds only)","POST   /watchlist/check              { isins: [...] } → bulk check with summary","GET    /watchlist/check/{isin}        → { on_cbonds_watchlist, on_etf_watchlist, on_global_watchlist }","GET    /watchlist/check/cbonds/{isin} → { on_cbonds_watchlist: bool }","GET    /watchlist/check/etf/{isin}    → { on_etf_watchlist: bool }","POST   /watchlist                   { isin, portfolio_name?, added_by? }","POST   /prices/store                { prices: [{isin, source, price_date, clean_price, ...}] }","POST   /prices/migrate              (one-time: copy bond_analytics → bond_prices)","GET    /prices/raw?isin=X&source=Y  (raw multi-source prices)","POST   /prices/calculate             { isins?: [], source?, price_date? }","DELETE /watchlist/{isin}","GET    /global-watchlist             (cbonds + etf combined)","GET    /etf-watchlist                (etf only)","POST   /etf-watchlist/sync           { bonds: [{isin, name, ...}] }","POST   /etf-watchlist/analyze        { country?, limit? }  → run GA10 RVM on ETF prices","POST   /sync-static                  → push pending bond_identity changes to D1 + bond_reference","POST   /recalc-history               { isins?: [...] } → recompute all historical analytics for changed static","POST   /analytics/enrich             { limit?, from?, to?, isins? } → fill RVM on price-only rows (cbonds_backfill + null expected_return)","POST   /watchlist/deactivate         { isins: [...], reason? } → mark ISINs is_active=0 in watchlist_cache + etf_watchlist (unblocks stuck cron)","POST   /watchlist/deactivate-matured → auto-deactivate bonds with maturity_date <(today-5d) from bond_identity","GET    /spread-changes/mtd            → MTD spread changes (current vs month-open)","GET    /spread-changes/monthly?month=YYYY-MM  → full month change (month-end vs prior month-end)"]}