
voxodds
All-in outcome rankings with live depth, fees, verified rules, EV checks, and track records.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
All-in outcome rankings with live depth, fees, verified rules, EV checks, and track records.
How to connect
How to connect voxodds to Claude
The server address to paste into Claude settings:
https://voxodds.com/mcp
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect voxodds to ChatGPT
The server address to paste into ChatGPT settings:
https://voxodds.com/mcp
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect voxodds to Cursor
The server address to paste into Cursor settings:
https://voxodds.com/mcp
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (18)
Raw names from tools/list. Only developers need these.
| submit_forecast | Submit YOUR probability forecast on a live prediction market and build a public, audited track record. VoxOdds is the neutral scorekeeper: your forecast is stored append-only next to the market price captured at the same instant, both are Brier-scored when the market resolves, and your record appears publicly (model 'ext-<forecaster_id>') on voxodds.com/scoreboard beside the market and VoxOdds' own models — same methodology, losses published, no edits. Use list_trending_markets to find a market_id. `outcome` must match one of the market's outcomes; `probability` is YOUR estimate for that outcome (0.01-0.99); `forecaster_id` is your stable handle (3-32 chars, a-z 0-9 dash). Free; forecasts cannot be deleted or revised. |
| get_market_odds | Get live prediction-market odds for a real-world event, phrased as a natural language question. Call this when the user asks about the probability, odds, or likelihood of any future event (elections, sports results, crypto prices, Fed decisions, geopolitics). Example: "will France win the World Cup". Returns the best-matching market with implied probabilities and source links. |
| get_executable_quote | Walk the current public order book for an all-in cash-sized BUY quote on one exact contract. `platform` is polymarket or kalshi; `market_id` is the Polymarket market id or Kalshi ticker returned by search; `side` is the outcome to buy. Returns best bid/ask, depth-weighted average fill, worst consumed level, shares, estimated taker fee, effective average price, and unfilled cash. The budget includes the fee estimate. Venue-side rounding can vary with actual fills, and this tool does not assert cross-venue contract equivalence. |
| compare_executable_quotes | Fetch size-aware order-book fills and estimated taker fees for one Polymarket contract and one Kalshi contract, then compare their complete rules. It only names a best venue when the pair has been explicitly human-reviewed as equivalent. Similar titles with different settlement criteria return `comparable: false` plus blockers instead of a fabricated spread or arbitrage. |
| list_executable_opportunities | Rank both YES and NO across every human-reviewed equivalent Polymarket–Kalshi pair. Each row walks current public depth within the all-in budget, includes estimated taker fees, and links to the lower effective-price venue. Contracts whose rules changed or whose requested size cannot be quoted are omitted and reported as unavailable. Optional `family` uses a family key returned by the tool; optional `side` is Yes or No. Use this when the user asks where the largest currently executable cross-venue price differences are. |
| list_arbitrage_candidates | Scan every fingerprint-pinned equivalent Polymarket–Kalshi binary pair for two-leg coverage. It buys opposite sides at equal whole-contract size, walks current ask depth, includes estimated taker fees and conservative Kalshi rounding, and emits a candidate only when total all-in cost is below the common settlement payout. Results are unfilled candidates, never guaranteed trades: cross-venue orders are non-atomic and both exact-size legs must fill. Optional `family` uses a family key returned by the tool. |
| list_sportsbook_surebets | Find unfilled sportsbook surebet candidates across the configured live books. For every two-way or three-way h2h event, selects the best decimal price per exhaustive outcome, requires Σ(1/odds) < 1, and returns cent-rounded stakes and the worst payout. Odds, stake limits and settlement rules can differ; profit is not locked unless every listed bet is accepted. Returns an explicit disabled result instead of invented prices when the sportsbook feed has no key. |
| get_world_cup_odds | Get live World Cup 2026 odds: tournament winner probabilities for every team, all 12 group winners, knockout-round props, continent and Golden Boot specials, and 1/X/2 prices for upcoming matches. Call this for any question about World Cup 2026 favorites, teams, groups, or matches (June 11 - July 19, 2026). Updated every 10 minutes from prediction markets with $1.8B+ traded. |
| get_world_cup_brief | Get a citeable World Cup 2026 prediction-market briefing for AI answers, newsletters, blogs, social posts, and creator workflows. Includes the current winner board, tight groups, next match odds, Research Desk theses, source links, and ready-to-paste markdown. Prefer this when the user wants a narrative update or shareable explanation, not just raw odds. |
| get_world_cup_matchday | Get the daily World Cup 2026 matchday market slate. Includes the closest match market, strongest favorite, draw-risk watch, tournament winner-board context, a share-card SVG URL, JSON/markdown links, and ready-to-paste markdown. Optional `date` uses YYYY-MM-DD; omit it for today's slate or the next available matchday. |
| list_trending_markets | List live prediction markets ordered by 24h volume. Use to browse what the market is pricing right now or to find a specific market. `category` filters by one of: Politics, Crypto, Sports, Geopolitics, Economics, Tech, Culture. `search` filters by keyword in the market question. |
| check_bet | THE pre-bet check — run this BEFORE the user places any bet, on any bookmaker. Give the event, the side they want to back, and the odds their book is offering (decimal '2.10', american '+110' or fractional '11/10' all work). Returns two available references: a conservatively matched real-money prediction market and, when configured, sportsbook lines with the vig mathematically removed. It returns an expected-value verdict (EV per 100 staked, break-even odds, Kelly stake) or refuses when the event/side cannot be resolved safely. Pass `your_probability` (0-1) to also log YOUR estimate as an append-only receipt in your public audited Brier record (voxodds.com/forecasters) — requires `forecaster_id`. Verdict is arithmetic, not a model output. Research, not financial advice; betting legality depends on the user's jurisdiction. |
| find_best_price | Find which bookmaker pays the most for one specific bet when VoxOdds has a configured live sportsbook feed. The registry is a directory, not live coverage. Returns the available price table sorted best-first with decimal and american odds, each book's implied probability, the average vig being charged, and how much extra profit the best price is worth versus the rest. Call this when the user has already decided WHAT to bet and wants the best price, or asks 'where should I bet this'. Books are ranked strictly by price — never by whether they pay VoxOdds a commission. Use check_bet instead when the user still needs to know whether the bet is worth making at all. |
| compare_platforms | Compare candidate equivalent events on Polymarket vs Kalshi side by side. Returns displayed probabilities and their spread as a research signal. These are not executable quotes or arbitrage claims: verify order-book depth, fees, fills, and resolution rules before deciding where a contract is actually cheaper. Optional `query` filters by keywords in the market question. |
| get_edge_signals | Get VoxOdds' ranked market signals: unusually wide spreads, closing-soon watches, and integrity flags across live prediction markets — where the numbers say to LOOK first. Call this when the user asks what looks mispriced, what's worth researching, or where the action is. Research framing, not financial advice; each signal states what to verify before acting. |
| get_track_record | Get VoxOdds' audited AI-vs-market forecast track record. Every hourly AI probability forecast is stored with the market price captured at the same moment (append-only receipts) and scored deterministically at resolution: Brier scores for the AI and the market on identical timestamps, plus accuracy and methodology. Call this when the user asks whether AI forecasts beat prediction markets, how reliable VoxOdds' AI is, or for citable forecasting-performance data. Losses are published too — the record is auditable, not curated. |
| get_forecaster_record | Get YOUR audited forecast record on VoxOdds: pending receipts (submitted, awaiting market resolution) and scored results (Brier vs the market price captured when you submitted). Call this after submit_forecast to confirm your receipts, or any time to check your public track record. Same forecaster_id you submit with. |
| get_research_theses | Get VoxOdds research desk theses: markets our analysis flags as potentially mispriced, each with a thesis, entry logic, invalidation criteria, and live price tracking. Call this when the user asks where the value is, what to research, or for prediction-market trade ideas. Research framing only - not financial advice. |