# Prediction Markets Quant (remote · predictionmarketspicks.com)

Free, no key: NFL + NBA prop boards, NHL model, Kalshi vs Polymarket gaps, Fed odds, EV/Kelly.

- Trust score: 83/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `predictionmarketspicks.com`: 83/100 (this document), [markdown](https://verifymcp.io/servers/com-predictionmarketspicks-quant/api-mcp-mcp-2.md), [page](https://verifymcp.io/servers/com-predictionmarketspicks-quant/api-mcp-mcp-2)

## Channel facts

- Endpoint: `https://predictionmarketspicks.com/api/mcp/mcp?via=registry`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.30.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 66/100
  - 69% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 7705 tokens (~171/item across 45 items; 40 tools + 5 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 76/100
  - Stability check failed: schema churn in the 28 days we've observed: 6 tool removals, 0 breaking changes, 0 auth/transport breaks, 12 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (30% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 40 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 42 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).
  - Supports UI / widget rendering.

## Install

### How do I install the Prediction Markets Quant MCP server?

Prediction Markets Quant is a hosted endpoint at https://predictionmarketspicks.com/api/mcp/mcp?via=registry, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-predictionmarketspicks-quant 'https://predictionmarketspicks.com/api/mcp/mcp?via=registry'
```

### Cursor

```json
{
  "mcpServers": {
    "com-predictionmarketspicks-quant": {
      "url": "https://predictionmarketspicks.com/api/mcp/mcp?via=registry"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-predictionmarketspicks-quant": {
      "type": "http",
      "url": "https://predictionmarketspicks.com/api/mcp/mcp?via=registry"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-predictionmarketspicks-quant]
url = "https://predictionmarketspicks.com/api/mcp/mcp?via=registry"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-predictionmarketspicks-quant": {
      "type": "remote",
      "url": "https://predictionmarketspicks.com/api/mcp/mcp?via=registry",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-predictionmarketspicks-quant --url 'https://predictionmarketspicks.com/api/mcp/mcp?via=registry' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-predictionmarketspicks-quant:
    url: "https://predictionmarketspicks.com/api/mcp/mcp?via=registry"
```

### Netclaw

```json
{
  "McpServers": {
    "com-predictionmarketspicks-quant": {
      "Transport": "http",
      "Url": "https://predictionmarketspicks.com/api/mcp/mcp?via=registry"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-predictionmarketspicks-quant -t streamable-http -u 'https://predictionmarketspicks.com/api/mcp/mcp?via=registry'
```

### Other

```json
{
  "mcpServers": {
    "com-predictionmarketspicks-quant": {
      "type": "http",
      "url": "https://predictionmarketspicks.com/api/mcp/mcp?via=registry"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 83, +1)

- [cosmetic] “fed_rate_odds” added an optional parameter “horizon”
- [cosmetic] “kelly_size” reworded the description of “marketPrice”
- [cosmetic] “kelly_size” reworded the description of “winProbability”
- [cosmetic] “race_odds” reworded the description of “race”
- [cosmetic] “weather_board” reworded the description of “day”
- [cosmetic] “kelly_size” made “marketPrice” optional
- [cosmetic] “kelly_size” made “winProbability” optional
- [cosmetic] “race_odds” made “race” optional

### 2026-11-03 (score 82, +1)

- [functional] Server version: 1.29.0 → 1.30.0
- [functional] New tool “stress_test_strategy”

### 2026-11-01 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 59 to 62.

### 2026-10-30 (score 80, +1)

No change was recorded against any check on this day. Stability & Change Management went from 52 to 56.

### 2026-10-28 (score 79, 0)

- [cosmetic] “fifteen_min_board” added an optional parameter “horizon”

### 2026-10-27 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 42 to 46.

### 2026-10-25 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 36 to 39.

### 2026-10-24 (score 77, −2)

- [security regression] Stability: 0.50 → fail
- [security regression] Tool “best_available” was removed
- [security regression] Tool “who_do_i_draft” was removed
- [security regression] Tool “scan_mispricings” was removed
- [security regression] Tool “compare_players” was removed
- [security regression] Tool “draft_board” was removed
- [security regression] Tool “adp_market_gaps” was removed
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “explain_game” rewrote its description, which is the text the model reads
- [security] Tool “explain_ladder” rewrote its description, which is the text the model reads
- [security] Tool “explain_player” rewrote its description, which is the text the model reads
- [security] Tool “explain_prop” rewrote its description, which is the text the model reads
- [security] Tool “fifteen_min_board” rewrote its description, which is the text the model reads
- [security] Tool “find_arbitrage” rewrote its description, which is the text the model reads
- [security] Tool “track_record” rewrote its description, which is the text the model reads
- [security] Tool “sleepers_and_busts” rewrote its description, which is the text the model reads
- [security] Tool “edge_alerts” rewrote its description, which is the text the model reads
- [functional improvement] Schema quality: 9027 → 7223
- [functional] Server version: 1.28.0 → 1.29.0
- [cosmetic] “nfl_prop_board” added an optional parameter “position”
- [cosmetic] “edge_alerts” reworded the description of “limit”
- [cosmetic] “fifteen_min_board” reworded the description of “limit”
- [cosmetic] “find_arbitrage” reworded the description of “minGap”
- [cosmetic] “kelly_size” reworded the description of “bankroll”
- [cosmetic] “ladder_arb” reworded the description of “limit”
- [cosmetic] “ladder_arb” reworded the description of “min_edge”
- [cosmetic] “ladder_arb” reworded the description of “min_volume”
- [cosmetic] “nba_game_board” reworded the description of “limit”
- [cosmetic] “nba_prop_board” reworded the description of “limit”
- [cosmetic] “nfl_edge” reworded the description of “limit”
- [cosmetic] “nfl_edge” reworded the description of “market”
- [cosmetic] “nfl_edge” reworded the description of “minEdge”
- [cosmetic] “nfl_edge” reworded the description of “tickers”
- [cosmetic] “nfl_ladder” reworded the description of “limit”
- [cosmetic] “nfl_power_ratings” reworded the description of “limit”
- [cosmetic] “nfl_power_ratings” reworded the description of “tier”
- [cosmetic] “nfl_prop_board” reworded the description of “limit”
- [cosmetic] “nfl_prop_edge” reworded the description of “limit”
- [cosmetic] “nfl_prop_edge” reworded the description of “minEdge”
- [cosmetic] “nfl_win_probability” reworded the description of “total”
- [cosmetic] “nhl_edge” reworded the description of “limit”
- [cosmetic] “nhl_edge” reworded the description of “market”
- [cosmetic] “perp_liquidation” reworded the description of “asset”
- [cosmetic] “perp_liquidation” reworded the description of “entry”
- [cosmetic] “perp_liquidation” reworded the description of “margin”
- [cosmetic] “waiver_targets” reworded the description of “limit”
- [cosmetic] “perps_board” reworded the description of “limit”
- [cosmetic] “combo_edge” reworded the description of “offeredOdds”
- [cosmetic] “combo_edge” reworded the description of “trueWinProbability”
- [cosmetic] “commodity_edge” reworded the description of “tickers”
- [cosmetic] “convert_probability” reworded the description of “value”
- [cosmetic] “base_rate_gap” reworded the description of “baseRateId”
- [cosmetic] “combo_edge” reworded the description of “legIds”
- [cosmetic] “combo_edge” reworded the description of “legPrices”
- [cosmetic] “combo_edge” reworded the description of “offeredAmerican”

## MCP tools (40)

### `fed_rate_odds` (~109 tokens)

Fed Rate Odds (FOMC)

Use for "will the Fed cut, hold or hike" and "next FOMC meeting odds". Live Kalshi odds for each remaining 2026 FOMC meeting: the next meeting's full strike breakdown and days-until, the rate path, the current fed funds rate, and a next-meeting cross-venue check against Polymarket and CME futures, with the gap in pp.

Input parameters:

- `horizon` (number|string|null): Meetings in the rate path (default 3).

Output parameters:

- `by_venue`: Next-meeting odds by venue (Kalshi, Polymarket, CME futures).
- `current_target_range`: Current fed funds target range.
- `data_freshness`
- `divergence_pp`: Headline cross-venue gap for the next meeting, pp.
- `example_call`
- `needs_input`
- `next_meeting`: Next FOMC meeting: date, days until, strike breakdown.
- `rate_path_2026`: Implied outcome at each remaining 2026 meeting.
- `sources`
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)

### `calculate_ev` (~194 tokens)

Calculate EV Edge

Use for "is this contract mispriced" and "what is my edge". Give a Kalshi or Polymarket price in cents and your own probability; returns the % expected-value edge and a BUY / SELL / SKIP read.

Input parameters:

- `marketPrice` (number|string): Current contract price in cents (1–99), equal to the implied probability in %. Required for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%.
- `yourProbability` (number|string): Your own estimate of the true probability the contract resolves YES, in % (0–100). Required for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%.

Output parameters:

- `data_freshness`
- `edge_pct`: Expected-value edge, %.
- `edge_pp`: Your probability minus the price, pp.
- `example_call`
- `interpretation`: Plain-English read.
- `market_price_cents`: Price used, cents.
- `needs_input`
- `signal`: BUY / SELL / SKIP.
- `sources`
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)
- `your_probability_pct`: Probability used, %.

### `kelly_size` (~300 tokens)

Kelly Position Size

Compute the optimal Kelly position size for a prediction-market contract. Given your win probability, the market price (which sets the payout), your bankroll, and a Kelly fraction (full / half / quarter / eighth), returns the dollar stake and a risk rating. Use for "how much should I stake", "what is my position size", "Kelly sizing for this trade".

Input parameters:

- `bankroll` (number|string): Total bankroll in dollars (e.g. 1000). Optional — omit it and the result is the % of bankroll to stake, without a dollar figure.
- `fraction`: Kelly fraction to apply. Half-Kelly is the common sharp-money default. One of: full · half · quarter · eighth.
- `marketPrice` (number|string): Contract price in cents (1–99). Sets the payout ratio. Omit both this and winProbability for the inputs and a worked example. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) —…
- `winProbability` (number|string): Your probability the contract resolves YES, in % (0–100). Omit both this and marketPrice for the inputs and a worked example. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) —…

Output parameters:

- `applied_fraction_pct`: The fraction applied, %.
- `data_freshness`
- `example_call`
- `full_kelly_pct`: Full-Kelly fraction of bankroll, %.
- `needs_input`
- `rating`: Qualitative read of the sizing.
- `sources`
- `stake_dollars`: Suggested stake in dollars (when a bankroll was given).
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)

### `bayes_update` (~205 tokens)

Bayesian Probability Update

Update a prior probability with one or more pieces of evidence using Bayes theorem. Given a prior and a list of evidence items (each with P(evidence | true) and P(evidence | false)), returns the posterior probability and the per-step chain. Use for "update my estimate with new information", "posterior probability", "how does this news change the odds".

Input parameters:

- `evidence` (array): One or more evidence items, applied in order. Each item needs likelihoodIfTrue and likelihoodIfFalse on the 0–100 scale, e.g. [{ "likelihoodIfTrue": 80, "likelihoodIfFalse": 20 }].
- `prior` (number|string): Prior probability the hypothesis is true, in % (0–100). Needed for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%.

### `convert_probability` (~142 tokens)

Convert Probability / Odds

Convert between implied probability, American odds, and decimal odds. Give one value and its format and get all three back (American odds carry no commas, e.g. +441 or -200). Use for "what is +150 as a probability", "convert 62% to American odds", "decimal to implied odds".

Input parameters:

- `format`: Format of `value`: probability (0–100 %), american (e.g. -200 / +150), or decimal (e.g. 2.5). One of: probability · american · decimal.
- `value` (number|string): The numeric value to convert. Needed for a real answer, with format.

Output parameters:

- `american_odds`: American odds, no commas.
- `data_freshness`
- `decimal_odds`: Decimal odds.
- `example_call`
- `needs_input`
- `probability_pct`: Implied probability, %.
- `sources`
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)

### `stress_test_strategy` (~379 tokens)

Strategy Stress Test

Paste a prediction-market trade history (or just trades, wins and average price) and get whether the edge is statistically real, how many trades would prove it, and where it leaks. The verdict reads net per dollar staked after fees, never a pooled win rate, with the bar raised for every strategy version tried. Accepts positions, a CSV, or Kalshi's realized P&L export (lots are grouped into positions). Nothing you paste is stored.

Input parameters:

- `avg_price_c` (number|string): Quick check: average price paid per contract, ¢ (1–99).
- `csv` (string): CSV text instead of trades: header price_c,contracts,won,fee_c,at,venue,maker (one row per position), or Kalshi's realized P&L export. Up to 10,000 lines.
- `maker` (boolean): Quick check: maker fills (Kalshi maker fee).
- `strategies_tried` (number|string): How many versions you tried before this one (default 1). More tries raise the bar (Bonferroni).
- `trades`: EITHER an array of positions [{ price_c (1–99, price paid per contract), contracts?, won (true | false | null = closed before settlement, then give net_c), fee_c? (total fee, ¢), net_c?, at? (ISO), v…
- `venue`: Venue for fees when none are given: kalshi (fee computed), polymarket or other (fee 0, flagged). One of: kalshi · polymarket · other.
- `wins` (number|string): Quick check: how many of the trades won.

Output parameters:

- `buckets`: Per price bucket: n, win %, break-even %, net ¢/contract.
- `data_freshness`
- `example_call`
- `headline`: One plain sentence: the verdict.
- `needs_input`
- `sources`
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)
- `trades_needed`: Trades that would settle it, or null.
- `verdict`: edge_confirmed / losing / not_proven_yet (net per dollar staked).

### `base_rate_gap` (~191 tokens)

Base Rate Gap

Use for "how does this price compare to history" and "is the market ignoring the base rate". Compares a market price with the historical base rate for a class of events: the gap in pp, a signal, and sample-size quality. Pass a known baseRateId (the parameter lists them) or your own baseRateValue.

Input parameters:

- `baseRateId`: Known base-rate id to look up (includes sample size + source).
- `baseRateValue` (number): Your own base rate in % (0–100), used when no baseRateId is given.
- `marketPrice` (number|string): Current market price in cents / implied probability % (0–100). Needed for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%.

### `combo_edge` (~408 tokens)

Combo Edge Verdict

Use for "price a same-game NFL combo" and "is this combo worth it". Pass nflGame ("NYG-LAR", "Giants vs Rams") to list that game's Kalshi legs — moneyline, spreads, totals, player props — then legIds to price your pick with the correlation done for you. Or pass legPrices + trueWinProbability for a fair band; add offeredOdds for EV and a verdict. Free.

Input parameters:

- `kind`: With nflGame: "game" = all game lines, "prop" = props only. One of: game · prop.
- `legIds`: 2–6 leg ids from a previous nflGame call (array or comma-separated string).
- `legPrices` (array): Each leg's YES price in cents (1–99). Omit with nflGame + legIds.
- `limit` (number|string|null): With nflGame: max props listed (default 40, max 200).
- `nflGame` (string): An NFL game on the live board, as "AWAY-HOME" (e.g. "NYG-LAR"). Alone: lists its legs with ids, trimmed (narrow with player/stat/kind/limit). With legIds: prices that exact combo.
- `offeredAmerican` (number): Alias for offeredOdds; offeredOdds wins if both are sent.
- `offeredOdds` (number): The combo price you are quoted — American odds (-150, 988) or a decimal multiplier (10.7). Omit for fair value only.
- `player` (string): With nflGame: every strike for a player whose name contains this (e.g. "Mariota").
- `stat` (string): With nflGame: props of one stat (e.g. "rec_yds").
- `trueWinProbability` (number): Your estimate that all legs hit, in % (0–100). Omit with nflGame + legIds — we compute it.

### `nfl_power_ratings` (~201 tokens)

NFL Power Ratings (PWR)

The PredictionMarketsPicks NFL power ratings — PWR for all 32 teams: points per game above an average team on a neutral field, where PWR = Off PR + Def PR + ST PR. Includes each team's rank and tier. Use for "best NFL teams by power rating", "NFL power rankings 2026", "is Baltimore overrated", "how good is Kansas City", "NFL team ratings".

Input parameters:

- `limit` (number|string|null): Max teams to return, best rating first (default 32 = full board).
- `team` (string): Optional team abbreviation (e.g. "KC", "SF", "LAR") — returns just that team's rating + rank.
- `tier` (string): Optional tier: Elite (PWR ≥+7), Contender (≥+4), Playoff (≥+1), Average (≥−2), Below Avg (≥−5), Rebuild (<−5).

Output parameters:

- `as_of`: When the ratings were generated.
- `count`: Teams returned.
- `data_freshness`
- `example_call`
- `needs_input`
- `season`: Season.
- `sources`
- `teams`: Rank, team, PWR (points per game above average, neutral field) and tier.
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)

### `nfl_win_probability` (~285 tokens)

NFL Win Probability Calculator

Use for "who wins Chiefs vs 49ers" and "what does a -7 spread mean". Pass homeTeam + awayTeam (or game, or one team) for our QB-gated model line (raw power ratings if unscheduled), or a spread (home favored negative). Returns win, cover and over/under probability, the projected score and our own total; neutral-site games get no home edge.

Input parameters:

- `awayTeam` (string): Away team — same formats as homeTeam (SF, 49ers, San Francisco 49ers). Used with homeTeam.
- `game` (string): Or name the game in one string — "Bills vs Chiefs", "BUF@KC", "Buffalo at Kansas City". The schedule decides which side is home.
- `homeTeam` (string): Home team — abbrev (KC), nickname (Chiefs), full name (Kansas City Chiefs) or city (Kansas City) all work. Auto-derives the spread from PMP power ratings.
- `spread` (number): Point spread from the home team's perspective — home favored is NEGATIVE (e.g. -6.5). Provide this OR homeTeam+awayTeam.
- `total` (number): Game total (over/under) you want tested, not our projection; defaults to the league average. Ours comes back as `model_total`.

Output parameters:

- `away_win_pct`: Away win probability, %.
- `basis`: How the spread was derived.
- `data_freshness`
- `example_call`
- `expected_home_margin`: Expected home margin in points — positive = home favored.
- `home_cover_pct`: Home cover probability, %.
- `home_win_pct`: Home win probability, %.
- `interpreted_as`: Which teams the inputs were read as.
- `model_total`: Our own projected total (teams mode).
- `needs_input`
- `over_pct`: Probability the game goes over `total`, %.
- `qb_gate`: PASS/ADJUSTED/FORK (quote both fork_lines)/HOLD (no number).
- `sources`
- `spread_home`: Expected home margin in points — positive = home favored (the input `spread` uses the opposite sign). Same value as expected_home_margin.
- `tell_user` (string): Show this sentence to the user first.
- `this_week`: This week's games as { homeTeam, awayTeam } (when no game was named).
- `timestamp` (string)

### `find_arbitrage` (~131 tokens)

Find Sports Arbitrage Gaps

Use for "where is the arbitrage" and "Kalshi vs Polymarket price gaps". Cross-venue gaps on the same NFL, NBA, NHL or MLB game: Kalshi against Polymarket US (the exchange US traders use, fees included), Polymarket international as a reference. Gap in pp, WATCH/ARB signal, cheaper venue, settlement_match; near misses when nothing clears. Free: the top 3 gaps in full; Pro returns the whole board.

Input parameters:

- `minGap` (number|string): Minimum gap in percentage points to include (default 3 = WATCH threshold).

### `market_pulse` (~110 tokens)

Market Pulse — Macro

The US macro-health composite (0–100) and regime plus the six category scores (growth, labor, inflation, rates, liquidity, sentiment). Returns the composite, the regime call and 2 category scores without an account, 4 to a signed-in account, and all six with Pro. Use for "how is the US economy", "macro regime", "risk-on or risk-off".

Input parameters:

- `topic`: macro = the US macro-health composite (the only topic). One of: macro.

### `commodity_edge` (~159 tokens)

Commodity Edge (Gold / Silver / Oil / Bitcoin)

Use for "gold edge today" and "oil or bitcoin trade signal". The Kalshi daily gold, silver or WTI strike, or hourly bitcoin strike, with the largest PMP model edge, as a ticket: side, entry price, resolve criterion, model probability, edge, tier and quarter-Kelly size. Pass tickers[] to check a watchlist. Pro — sign in with PredictionMarketsPicks, or a Pro API key.

Input parameters:

- `commodity`: Which commodity edge to read (needed for a real answer). One of: silver · bitcoin · gold · oil.
- `tickers` (array): Optional Kalshi ticker watchlist (up to 25), market or event tickers. Unmodeled tickers return not_covered.

### `edge_alerts` (~207 tokens)

Edge Alerts (weather / commodity / mispricing)

Use for "any edge on Kalshi", "where is the edge today" and "weather trade signals". Our model alerts on Kalshi — weather, bitcoin/silver/gold/oil, mispricings — with feed, tier, side, price, model probability, edge and link. Real time with Pro; free is delayed 24h without the thesis. One identical, impersonal feed for every subscriber; filters only select. Informational, not investment advice.

Input parameters:

- `feed` (string): Comma-separated feeds to include: weather, bitcoin, silver, gold, oil, mispricing, sports_arb, nfl. Omit for all.
- `limit` (number|string|null): Max alerts to return (default 25).
- `min_tier`: Minimum confidence tier (returns that tier and above). One of: SPECULATIVE · MODERATE · STRONG.
- `since` (string): ISO-8601 timestamp — only alerts created after it.

### `nfl_edge` (~210 tokens)

NFL Edge (model vs Kalshi)

Use for "which NFL games are mispriced on Kalshi" and "NFL win total, MVP or Super Bowl edges". Our NFL model vs live Kalshi prices — this week's game positions, season win totals, MVP and championship odds: model probability, price, edge and side. tickers[] checks a watchlist (futures, mvp, championship). Pro — sign in with PredictionMarketsPicks, or a Pro API key.

Input parameters:

- `limit` (number|string|null): Max rows (default 10).
- `market`: game = this week; futures = win totals; mvp; championship = playoffs to Super Bowl. One of: game · futures · mvp · championship.
- `minEdge` (number|string): Min |edge| in pp (default 4), futures/mvp/championship only.
- `tickers` (array): Optional Kalshi ticker watchlist (up to 25), market or event tickers. Unmodeled tickers return not_covered.

### `nfl_prop_edge` (~161 tokens)

NFL Player Prop Edge (model vs Kalshi)

Use for "best NFL props today" and "receiving yards prop value". Our projection vs the Kalshi "X or more" prop line: the contract, the YES/NO call, our odds and Kalshi's price for that side, the projection and the edge, with WATCH rows labelled. Live in season. Pro — sign in with PredictionMarketsPicks, or a Pro API key.

Input parameters:

- `limit` (number|string|null): Max rows (default 10).
- `minEdge` (number|string): Min absolute edge in pp (default 5).
- `propType`: Optional filter by prop type. One of: pass_yds · pass_tds · rush_yds · rec_yds · receptions · anytime_td.

### `nhl_edge` (~187 tokens)

NHL Edge — Goal Light model vs Kalshi

Use for "NHL predictions tonight" and "Stanley Cup odds". Tonight's NHL games on Kalshi — moneyline, puck line, totals, period markets — as Market · Model · Fair, starting goalies checked first. market=goals: anytime and first-goal contracts; market=futures: Cup, conference and division markets on Kalshi and Polymarket (international book) vs a 10,000-season sim. Free.

Input parameters:

- `limit` (number|string|null): Max rows (default 16).
- `market`: game = tonight's board; goals = player goals; futures = Stanley Cup and season markets. One of: game · goals · futures.
- `team` (string): Optional NHL club to filter — code (CAR, EDM, LAK), Kalshi code (LA, TB), nickname ("Oilers") or city ("Edmonton").

### `nfl_prop_board` (~290 tokens)

NFL Prop Market Board (Kalshi vs the books vs exchanges)

Use for "where is the best price on <player> receiving yards" and "is Kalshi cheaper than the books". Best price on every NFL prop this week: Kalshi (fee included) vs five books (DraftKings, FanDuel, BetRivers, Fanatics, ESPN) and the Novig and ProphetX exchanges — the best price per side, how much cheaper Kalshi is than the books, the consensus gap, and the Kalshi close once a strike settles. Filter by team, game, player or stat.

Input parameters:

- `game` (string): Game anchor away-home, e.g. "ne-sea" — rows for that game only.
- `gapsOnly` (boolean): Only strikes where Kalshi and the consensus are 5¢+ apart (default false).
- `limit` (number|string|null): Max rows (default 15).
- `player` (string): Player name (partial, case-insensitive), e.g. "Nacua".
- `position`: Optional position filter. One of: QB · RB · WR · TE.
- `statType`: Optional prop type filter. One of: pass_yds · pass_tds · rush_yds · rec_yds · receptions · anytime_td.
- `team` (string): Team abbrev (SEA, NE, LAR, JAX) — rows for that club only.

Output parameters:

- `count`: Rows returned.
- `data_freshness`
- `example_call`
- `needs_input`
- `rows`: Priced Kalshi prop strikes: player, stat, strike, Kalshi book, consensus, venue quotes, gap, best price per side.
- `sources`
- `summary`: Board counts: listed, booked, consensus-priced, gaps, arbs, games.
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)
- `week`: NFL week.

### `nba_prop_board` (~165 tokens)

NBA Prop Price Board (Kalshi vs the books)

Use for "where is LeBron's points line cheapest tonight". Every Kalshi NBA player-prop strike (points, rebounds, assists, threes) beside DraftKings, FanDuel, BetRivers, Fanatics, ESPN, Novig and ProphetX at the same strike: the cheapest venue per side, Kalshi fee included. Market prices only, no model.

Input parameters:

- `game` (string): Two teams, e.g. "BOS @ DET".
- `limit` (number|string|null): Max rows (default 15).
- `player` (string): Player name (partial).
- `statType`: Optional stat. One of: pts · reb · ast · threes.
- `team` (string): Team code or name (LAL, Lakers).

### `nba_game_board` (~154 tokens)

NBA Game Line Board (Kalshi vs the books)

Use for "Knicks moneyline on Kalshi vs the books" and "cheapest place for the Celtics spread tonight". Kalshi NBA moneyline, spread and total beside DraftKings, FanDuel, BetRivers, Fanatics, ESPN, Novig and ProphetX at the same line: the cheapest venue per side, Kalshi fee included. Market prices only, no model.

Input parameters:

- `game` (string): Two teams, e.g. "BOS @ DET".
- `limit` (number|string|null): Max games (default 5).
- `market`: Optional market. One of: moneyline · spread · total.
- `team` (string): Team code or name (NYK, Knicks).

### `nba_injury_impact` (~196 tokens)

NBA Injury Report + Who Benefits (with/without splits)

Use for "Embiid's out tonight — who benefits?" and "who's out in the NBA today". Today's NBA absences from the official injury report, and for each absent star the teammates whose minutes, points, rebounds, assists and usage rose in past games without him (last two seasons, sample size on every row), beside today's Kalshi prop prices. Questionable players fork into plays/sits branches until ruled. Historical splits only, no projection.

Input parameters:

- `game` (string): Two teams, e.g. "BOS @ NYK".
- `player` (string): The absent player, or a teammate to look up (partial name).
- `stat`: Stat to rank beneficiaries by (default points). One of: pts · reb · ast · min · usg · fg3m · stl · blk.
- `team` (string): Team code or name (PHI, Sixers).

### `nfl_ladder` (~191 tokens)

The Ladder — NFL strike ladders: every Kalshi strike vs the PMP distribution

Use for "where does the model disagree with Kalshi on the Rams spread" and "biggest ladder gaps this week". Every NFL strike ladder — spreads, season win totals, player props — with Kalshi's price at each strike beside our distribution and a SHAPE / LOCATION / PRICED / PARTIAL verdict. Our number is published only between 30% and 70%.

Input parameters:

- `family`: Ladder family. Omit for all three. One of: spread · season_wins · props.
- `kind`: Verdict filter. One of: shape · location · agree · partial.
- `limit` (number|string|null): Max ladders (default 8).
- `player` (string): Player name (partial, case-insensitive) — prop ladders only.
- `team` (string): Team abbrev (SEA, LAR, JAX) — ladders involving that club.

Output parameters:

- `count`: Ladders returned.
- `data_freshness`
- `example_call`
- `needs_input`
- `published_band`: { lo, hi } — our probability is published only inside this band.
- `rows`: Ladders: subject, stat, verdict, and each rung with market and model (model only inside the published band).
- `sources`
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)
- `week`: NFL week.

### `ladder_arb` (~204 tokens)

Ladder Arb Scanner — Kalshi CFB + NFL spread/total ladders priced out of order

Use for "is any CFB ladder mispriced" and "where can I make a market on Kalshi". Kalshi college football and NFL spread/total strikes priced out of order: locked arbitrage, crossed-mid inversions and wide books worth making a market in, with both tickers and books, gross edge, volume and tier. Pro adds the resting orders, net-of-fee edge and quarter-Kelly size.

Input parameters:

- `limit` (number|string|null): Max rows (default 20, max 100).
- `min_edge` (number|string): Minimum NET edge in cents (default 1). Accepts 2, "2c", "2".
- `min_volume` (number|string): Minimum per-leg volume in dollars (default 20000). Accepts 20000, "$20,000".
- `signal`: locked · inverted · wide · all (default all).
- `sport`: cfb · nfl · both (default both).

### `fifteen_min_board` (~231 tokens)

Kalshi 15-Minute Markets — every series, live

Use for "what is the ETH 15-minute market doing" and "which Kalshi 15-minute markets are open". Every Kalshi 15-minute up-or-down series (crypto, metals, energy, FX): window status, YES price, close time, target, settlement source and the up rate over the last 96 windows; the same window on Polymarket international for BTC/ETH/SOL/XRP; and our live Bitcoin top-of-hour strategy with its record.

Input parameters:

- `asset_class`: crypto · commodity · currency · all (default all).
- `horizon`: 15m (Kalshi, default) or 5m (Polymarket US BTC/ETH/SOL/XRP; Kalshi lists none). One of: 15m · 5m.
- `limit` (number|string|null): Max rows (default 30).
- `open_only` (boolean): Only series with a window open right now (default false).
- `series` (string): One series: ticker (KXETH15M) or asset ("eth", "gold", "euro").

Output parameters:

- `as_of`: When the board was read.
- `data_freshness`
- `example_call`
- `needs_input`
- `our_model`: Bitcoin only: our published top-of-hour strategy — version and status ("current version": it stays until it breaks), live_record (our own Kalshi account, after fees), paper record, last_call (the bot…
- `rows`: Kalshi 15-minute series: window status, YES price, close time, target, settlement source, up rate; for BTC/ETH/SOL/XRP the same window on Polymarket (international, live book: price_source, as_of), a…
- `sources`
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)

### `weather_board` (~112 tokens)

Kalshi Weather Board — daily-high strikes vs the NWS forecast

Use for "Kalshi NYC high temperature odds". Every open Kalshi daily-high strike in 13 cities: YES price, settlement station and source, the strict-comparison rule, close time, and the NWS forecast high beside it. Pass city ("nyc", "KXHIGHCHI"). Market data only.

Input parameters:

- `city` (string): City name or series ("nyc", "KXHIGHTBOS"). Omit for all.
- `day`: today (default) · tomorrow · all.

Output parameters:

- `as_of`: When the board was read.
- `cities`: Per city and settlement day: NWS high, close time, strikes with two-sided YES mids.
- `data_freshness`
- `example_call`
- `needs_input`
- `rule`: The strict comparison Kalshi settles on.
- `sources`
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)

### `track_record` (~145 tokens)

Track Record — our graded signals, winners and losers

Use for "how accurate is your model" and "what's your track record". Every graded PredictionMarketsPicks signal per engine (bitcoin, gold, silver, oil, weather, NHL) and the daily editorial call (POTD): W-L, net P/L, a 95% win-rate range and the current model era, and the NFL model's 2026 live record (published game positions and prop PLAYs) beside its backtest. WATCH calls are reported apart.

Input parameters:

- `lane` (string): Optional lane: bitcoin, gold, silver, oil, weather, nhl, potd, nfl — or an engine slug. Omit for every lane.

### `my_league` (~130 tokens)

My Sleeper League — your starters beside their Kalshi markets

Use for "show my fantasy team" and "what is Kalshi pricing my starters at". Give a Sleeper username (and a league name if you have several): your roster, each starter's opponent and kickoff, OUT and QB-gate flags, and every Kalshi prop strike on him this week with the best price per side. Market data; Pro adds our weekly projection.

Input parameters:

- `league` (string): League name (partial) or Sleeper league id, when the user is in several.
- `sleeper_username` (string): Sleeper username (profile → username, not the display name).

### `start_sit` (~118 tokens)

Start/Sit by the Market — what Kalshi prices each player at

Use for "should I start Nacua or Adams" and "who does the market like more this week". For 2–4 players: the median Kalshi is pricing for each stat (read off his own strike ladder) and his anytime-TD price, compared on the stats they share. Market prices only — the call stays yours; Pro adds our weekly projection.

Input parameters:

- `players`: Two to four player names, e.g. ["Puka Nacua", "Davante Adams"] or "Nacua, Adams".

### `waiver_targets` (~152 tokens)

Waiver Targets — Sleeper trending adds with their Kalshi markets

Use for "who is everyone adding off waivers" and "trending waiver adds this week". Sleeper's most-added players in the last 24 hours with what Kalshi is pricing each at this week; pass position, and a Sleeper username + league to see only players still available. Market data only.

Input parameters:

- `league` (string): League name (partial) or id, when the user is in several.
- `limit` (number|string|null): Max players (default 10).
- `position`: Optional position filter. One of: QB · RB · WR · TE.
- `sleeper_username` (string): Sleeper username — with it, players already rostered in your league are left out.

### `perps_board` (~114 tokens)

Kalshi Perps Board — price, leverage and funding for every perp

Use for "Kalshi perps funding rate" and "how much leverage on Kalshi gold perps". Every Kalshi perpetual future: price, 24h volume, open interest, max leverage long and short, funding cadence, and what funding has cost a long since launch. Pass asset ("btc", "gold") for one.

Input parameters:

- `asset` (string): One perp: symbol or name ("btc", "gold", "XAG").
- `limit` (number|string|null): Max rows (default 25).

Output parameters:

- `as_of`: When the board was read.
- `data_freshness`
- `example_call`
- `needs_input`
- `rows`: Kalshi perps: price, 24h volume, open interest, max leverage, funding.
- `sources`
- `tell_user` (string): Show this sentence to the user first.
- `timestamp` (string)

### `perp_liquidation` (~226 tokens)

Kalshi Perp Liquidation — where a leveraged position gets closed out

Use for "where does a 5x bitcoin long liquidate on Kalshi". Estimates a Kalshi perp's liquidation price and the % move to it from Kalshi's risk parameters (a 5x BTC long is about 8% away, not the 20% the 100÷leverage rule implies), plus fees and expected funding. An estimate; Kalshi's app shows the exact one. Assets: btc, eth, sol, xrp, doge, hype, link, gold, silver, platinum, palladium. Free.

Input parameters:

- `asset`: The perp.
- `entry` (number|string): Entry price (default: the live price).
- `hold_days` (number): Days held, for the funding estimate (default 7).
- `leverage` (number|string): Leverage, e.g. 5 or "5x". Capped at Kalshi’s maximum for the size and side.
- `margin` (number|string): Margin in dollars (default 1000).
- `side`: Direction. One of: long · short.

### `senate_map` (~83 tokens)

2026 Senate Map — every seat, market price vs structure rating vs forecasters

Use for "2026 Senate map" and "which Senate seats are toss-ups". Every 2026 Senate seat: holder and role, structure rating, forecaster bands where tracked, and the live Kalshi price (Democrat win probability where provable), closest race first, with a page URL per seat. Prices are never estimated — an unpriced seat returns null.

### `race_odds` (~133 tokens)

2026 Race Odds — one Senate, governor or House race with every Kalshi leg

Use for "who wins the Kansas Senate race" and "Michigan governor odds". Live Kalshi odds for one 2026 Senate, governor or competitive House race, by state, code, slug or district ("TX-34"): every leg's price, volume and link, the seat holder and rating, forecaster bands, and the race page. Prices are never estimated.

Input parameters:

- `race` (string): State name or code, a race slug (kansas-senate, michigan-governor, tx-34-house), or a House district (TX-34). Omit to list the races available.

### `best_price` (~217 tokens)

Best Price After Fees — Kalshi vs Polymarket US vs Novig

Use for "where is it cheapest to buy", "Kalshi or Polymarket US for the Bears game" and "cheapest venue for the Georgia Senate race". The same contract on Kalshi, Polymarket US and Novig as the cost to buy one contract including each venue's taker fee, with the cheapest named. Sports games (team, league or matchup), 2026 midterm races (state, slug or district) or the next FOMC meeting. Ranked by price only.

Input parameters:

- `league` (string): NBA, NHL, NFL or MLB.
- `meeting` (string): Any value asks for the next FOMC meeting.
- `q` (string): Free text: a team, matchup, race or "next Fed meeting".
- `race` (string): A 2026 race: state, slug (georgia-senate) or district (AZ-01).
- `teams` (string): One or two teams, e.g. "Bears" or "NE @ CHI".

### `player_outlook` (~198 tokens)

Player This Week — Kalshi prop lines

One NFL player this week — every Kalshi prop line, the best price across venues, and our probability at each strike. Free. Use for "is <player> a good play this week", "<player> props".

Input parameters:

- `platform`: League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs…
- `player` (string): Player name, full or partial (e.g. "Puka Nacua", "Bijan").
- `scoring`: Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr.

### `explain_player` (~133 tokens)

Explain This Price — why we price a player’s strikes there

Why our model prices an NFL player's Kalshi prop strikes where it does this week: the projection, The Ladder's verdict, the widest published gap, and what the model does not account for (our number only where calibrated, 30–70%). Use for "why do you price <player> there", "explain <player>'s prop".

Input parameters:

- `player` (string): Player name, full or partial (e.g. "Puka Nacua").
- `stat` (string): Optional stat to narrow to, e.g. "rec_yds", "receptions", "rush_yds".

### `explain_game` (~153 tokens)

Explain This Game — why we price an NFL game there

Why our model prices one NFL game where it does: Kalshi price and market line, our win probability and its anchor, the model's lean in points, each team's offense/defense/special-teams rating, the QB gate, and the published position or why none. Use for "why do you price <team> vs <team> there", "explain the <team> game line".

Input parameters:

- `game` (string): The matchup — two teams in any form ("Bills vs Chiefs", "BUF@KC", "Buffalo at Kansas City"), or one team for its game that week.
- `week` (number|string): Optional NFL week (e.g. 6). Defaults to the current week.

### `explain_prop` (~185 tokens)

Explain This Prop — why a player prop is a call

Why we publish a call on one NFL player prop this week: the contract, the YES/NO call and Kalshi's price, our tier (and calibrated odds where measured), our projection vs the threshold, published or held at WATCH and why, and what the model does not account for. Use for "why do you like <player>'s over", "explain the <player> prop".

Input parameters:

- `line` (number|string): Optional contract threshold or line (e.g. 60 or 59.5) to pick one strike.
- `player` (string): Player name, full or partial (e.g. "Josh Allen").
- `stat` (string): Optional stat, e.g. "rec_yds", "receptions", "rush_yds", "pass_tds" or "receiving yards". Defaults to the player's strongest published call.

### `explain_ladder` (~202 tokens)

Explain This Ladder — why The Ladder reads one NFL market the way it does

Why The Ladder reads one NFL strike ladder (a game spread, a season win total or a player prop) the way it does: the read in words, where Kalshi's ladder centres beside our projection, the widest published gap, and each strike with Kalshi's price and our number (30–70% only). Use for "explain the Chiefs win total ladder", "why does the ladder lean Browns".

Input parameters:

- `family`: Ladder family. Omit to take the team's spread first. One of: spread · season_wins · props.
- `player` (string): Player name, full or partial — his prop ladder.
- `stat` (string): Prop stat for a player, e.g. "receptions" or "rec_yds". Defaults to his widest ladder.
- `team` (string): Team code or nickname (KC, Chiefs) — its game spread ladder, or its season-win ladder with family "season_wins".

### `sleepers_and_busts` (~111 tokens)

Overpriced & Underpriced This Week

Every NFL player whose Kalshi prop price our model disagrees with this week, ranked, marked underpriced or overpriced with the stat driving it. Free, the complete list. The strike, price and size are in Pro nfl_prop_edge. Use for "undervalued players this week", "who is the market overpricing", "sleepers this week", "busts to avoid this week".

Input parameters:

- `position`: Optional position filter. One of: QB · RB · WR · TE.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-predictionmarketspicks-quant/api-mcp-mcp-2#diagnostics

## Score history

- 2026-11-05: 83
- 2026-11-04: 82
- 2026-11-03: 82
- 2026-11-02: 81
- 2026-11-01: 81
- 2026-10-31: 80
- 2026-10-30: 80
- 2026-10-29: 79
- 2026-10-28: 79
- 2026-10-27: 79
- 2026-10-26: 78
- 2026-10-25: 78
- 2026-10-24: 77
- 2026-10-23: 79
- 2026-10-22: 78
- 2026-10-21: 77
- 2026-10-20: 77
- 2026-10-19: 77
- 2026-10-18: 76
- 2026-10-17: 76
- 2026-10-16: 75
- 2026-10-15: 75
- 2026-10-14: 74
- 2026-10-13: 74
- 2026-10-12: 73
- 2026-10-10: 73
- 2026-10-09: 73

## Common questions

### What is the Prediction Markets Quant MCP server?

Prediction Markets Quant is an MCP server listed in the public MCP registry as com.predictionmarketspicks/quant. Free, no key: NFL + NBA prop boards, NHL model, Kalshi vs Polymarket gaps, Fed odds, EV/Kelly. This page covers its hosted endpoint (https://predictionmarketspicks.com/api/mcp/mcp?via=registry).

### Is the Prediction Markets Quant MCP server safe to use?

Prediction Markets Quant scores 83 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Prediction Markets Quant MCP server expose?

Prediction Markets Quant exposes 40 tools: fed_rate_odds, calculate_ev, kelly_size, bayes_update, convert_probability, and 35 more. Their descriptions and schemas cost roughly 7,422 tokens of context every time the server is loaded.

### Does the Prediction Markets Quant MCP server require authentication?

No. We connected to Prediction Markets Quant without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Prediction Markets Quant MCP server still maintained?

Prediction Markets Quant is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://predictionmarketspicks.com/api/mcp/mcp?via=registry
- Repository: https://github.com/predictionmarketspicks/mcp
- Website: https://predictionmarketspicks.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-predictionmarketspicks-quant/api-mcp-mcp-2.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-predictionmarketspicks-quant/api-mcp-mcp-2.json
- HTML version of this page: https://verifymcp.io/servers/com-predictionmarketspicks-quant/api-mcp-mcp-2
