{"serverId":"mcp-registry/finance.maddog/mcp","tools":[{"name":"close_curve","fixed":{"name":"close_curve","description":"The full probability curve of where today's US regular session closes: for any set of price levels, the probability that the session close prints above each one. Distances are measured in units of today's own volatility (ATR of the first 90 minutes) against 1,906 historical sessions grouped by day type. Validated against real-money prediction-market prices: on tail levels (>=0.5% from spot) this curve's log-loss beat Polymarket's own 'SPY closes above $K' ladder quotes in two independent windows","inputSchema":{"type":"object","required":["symbol"],"properties":{"levels":{"type":"array","items":{"type":"number"},"maxItems":40,"description":"Price levels to evaluate. Omit for an automatic grid at ±0.25/0.5/1/1.5/2/3 ATR18 around the anchor."},"symbol":{"type":"string","description":"Ticker: NVDA, SPY, ES=F, EURUSD, BTC-USD, 0700.HK. Index names like SPX do not resolve — use SPY or ES=F. Built and measured on ES; other symbols are descriptive."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"Close distribution curve (P(close above each level))"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":277,"tokensAfter":277},{"name":"get_scoreboard","fixed":{"name":"get_scoreboard","description":"The standing public record of this service's own calls — free, no key. Every US trading day at 11:00 ET the day-session read for ES=F, NQ=F and QQQ is snapshotted verbatim; after the close each row is scored on whether a new session high or low actually printed after the read. Ties score against the model, days with no live read stay visible as gaps, and no row is ever edited. Recording began 2026-08-25. Use this to verify the claims before trusting any read.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":250,"minimum":1,"description":"Rows to return, newest first. Default 30."}}},"annotations":{"readOnlyHint":true},"title":"Public forward record"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":185,"tokensAfter":185},{"name":"price_action_read","fixed":{"name":"price_action_read","description":"Read one instrument's current session the way a price action trader would, with measured statistics instead of opinions: a five-class day-type probability distribution (66% top-1 accuracy over a complete US day session against a 37% baseline, published confidence grades from 95% to 41% by grade), the window's first range breakout with its calibrated failure estimate (AUC 0.646 on held-out NQ), and — 90 minutes into the session — the measured odds that a new session high or low still prints befor","inputSchema":{"type":"object","required":["symbol"],"properties":{"symbol":{"type":"string","description":"Ticker: NVDA, SPY, ES=F, EURUSD, BTC-USD, 0700.HK, 600519. Index names like SPX do not resolve — use SPY or ES=F."},"window":{"enum":["rth","gap","asia"],"type":"string","description":"Omit to follow the freshest bars. rth = US day session; asia = 09:00-16:00 Beijing; gap = the Asia-close-to-US-open stretch. gap/asia are for 24-hour instruments only."}}},"annotations":{"readOnlyHint":true},"title":"Price action read (day type + range breakout)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":281,"tokensAfter":281}],"toolsChanged":3,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}