mcp

Price-action reads with measured accuracy: day-type odds, breakouts, public scoreboard

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~965Tokens (tool definitions)
~998 BTypical response size
Moderate attention impact (0.75% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://api.maddog.finance/mcp"
    }
  }
}

Remote endpoints

https://api.maddog.finance/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢price_action_read(symbol, window)

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 before the close. Works on US stocks and ETFs, futures (ES=F), FX, crypto, Hong Kong and China A-shares. Anonymous callers get one first-look response per UTC day; after that, pass an API key in the X-API-Key header (get a free one with the request_free_key tool). Historical frequencies, not forecasts.

Input Schema

{
  "type": "object",
  "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": {
      "type": "string",
      "enum": [
        "rth",
        "gap",
        "asia"
      ],
      "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."
    }
  },
  "required": [
    "symbol"
  ]
}
🟡close_curve(symbol, levels)

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; near the money the market was MORE accurate — use this for shape and tails, not direction. Available from 90 minutes into the day session. Same key and quota as price_action_read. Historical frequencies, not forecasts.

Input Schema

{
  "type": "object",
  "properties": {
    "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."
    },
    "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."
    }
  },
  "required": [
    "symbol"
  ]
}
🟢get_scoreboard(limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 250,
      "description": "Rows to return, newest first. Default 30."
    }
  }
}
🟡request_free_key(email, marketing_opt_in, source)

Request a free evaluation key (qd_...): no card, no account — the key is emailed to the address given, never returned in this response. It unlocks 10 successful calls per UTC day. Ask the human for their email address first and send marketing_opt_in=true only with their explicit consent. Full access is $99.90/month with a 3-day free trial, checkout link comes back in any quota-exhausted error.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Where the key is delivered."
    },
    "marketing_opt_in": {
      "type": "boolean",
      "description": "Only with explicit user consent."
    },
    "source": {
      "type": "string",
      "description": "Optional short origin tag, e.g. 'agent'."
    }
  },
  "required": [
    "email"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools