_ registry / mcp streamable-http · checked 13h ago

voxodds

https://voxodds.com

Registry code: 6ca502f5e74dd8c2

api record

VoxOdds provides Polymarket odds, independent executable quotes, research

and an audited forecasting track record. Kalshi data and derived comparisons are

endpoint
https://voxodds.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is voxodds live?
Yes — it answered the hub's last check (checked 13h ago). It answered 99% of checks over the last 30 days.
Is voxodds free to use?
Yes — the hub reached it with no key and no payment.
What tools does voxodds have?
18 tools: submit_forecast, compare_executable_quotes, get_forecaster_record, get_market_odds, get_executable_quote, get_edge_signals, list_sportsbook_surebets, check_bet, ….
Is voxodds safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.4%

90 days 98.9%· all time 98.9%

latency
97ms

last good check

priced tools
0

of 18 tools

_ answered our checks, 90 days 276 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • down → live
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • get prediction market odds for an event
  • compare polymarket and kalshi prices
  • find arbitrage between prediction markets
  • check a bet before placing it
takes → gives
text → data
tools
16 reads2 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 18 tools
9 open 9 never probed 9 of 18 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • compare_platforms reads open 10d ago

    Return independent Polymarket odds and a link to human venue comparisons. Kalshi prices and derived spreads are not available via API or MCP. View comparisons at https://voxodds.com/polymarket-vs-kalshi. For Polymarket order-book quotes use list_executable_opportunities.

    mcp-tool

    {
      "type": "object",
      "title": "compare_platformsArguments",
      "properties": {
        "limit": {
          "type": "integer",
          "title": "Limit",
          "default": 10,
          "description": "Maximum number of Polymarket markets to return"
        },
        "query": {
          "type": "string",
          "title": "Query",
          "default": "",
          "description": "Optional keywords to filter Polymarket questions"
        }
      }
    }
    arguments 18 lines
  • list_executable_opportunities reads open 10d ago

    List independent Polymarket quotes from the static pair directory, in market-id order. Optional family and side filters apply to that directory. Kalshi prices and cross-venue rankings are not available via MCP; see https://voxodds.com/polymarket-vs-kalshi for human comparisons.

    mcp-tool

    {
      "type": "object",
      "title": "list_executable_opportunitiesArguments",
      "properties": {
        "side": {
          "type": "string",
          "title": "Side",
          "default": "",
          "description": "Optional 'Yes' or 'No' to restrict the side"
        },
        "family": {
          "type": "string",
          "title": "Family",
          "default": "",
          "description": "Optional market family key returned by this tool, e.g. 'democratic_nominee_2028'"
        },
        "amount_usd": {
          "type": "number",
          "title": "Amount Usd",
          "default": 100,
          "description": "All-in budget in USD, estimated taker fees included"
        }
      }
    }
    arguments 24 lines
  • get_world_cup_matchday reads open 9d ago

    ARCHIVED: World Cup 2026 ended 2026-07-19; returns an archive notice. 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.

    mcp-tool

    {
      "type": "object",
      "title": "get_world_cup_matchdayArguments",
      "properties": {
        "date": {
          "type": "string",
          "title": "Date",
          "default": "",
          "description": "Archived tool; optional YYYY-MM-DD"
        }
      }
    }
    arguments 12 lines
  • get_world_cup_odds reads open 9d ago

    ARCHIVED: World Cup 2026 ended 2026-07-19; returns an archive notice. 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.

    mcp-tool

    {
      "type": "object",
      "title": "get_world_cup_oddsArguments",
      "properties": {}
    }
    arguments 5 lines
  • list_arbitrage_candidates reads open 9d ago

    Return independent Polymarket quotes and the website notice only. Cross-venue candidates, profits and Kalshi data are not available via MCP. Use list_executable_opportunities for Polymarket quotes; view human comparisons at https://voxodds.com/polymarket-vs-kalshi.

    mcp-tool

    {
      "type": "object",
      "title": "list_arbitrage_candidatesArguments",
      "properties": {
        "family": {
          "type": "string",
          "title": "Family",
          "default": "",
          "description": "Optional market family key returned by this tool"
        },
        "max_capital_usd": {
          "type": "number",
          "title": "Max Capital Usd",
          "default": 100,
          "description": "Maximum capital in USD across both legs"
        }
      }
    }
    arguments 18 lines
  • get_track_record reads open 10d ago

    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.

    mcp-tool

    {
      "type": "object",
      "title": "get_track_recordArguments",
      "properties": {}
    }
    arguments 5 lines
  • get_world_cup_brief reads open 10d ago

    ARCHIVED: World Cup 2026 ended 2026-07-19; returns an archive notice. 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.

    mcp-tool

    {
      "type": "object",
      "title": "get_world_cup_briefArguments",
      "properties": {}
    }
    arguments 5 lines
  • list_trending_markets reads open 10d ago

    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. Browsing tool; to answer a specific question about one event use get_market_odds.

    mcp-tool

    {
      "type": "object",
      "title": "list_trending_marketsArguments",
      "properties": {
        "limit": {
          "type": "integer",
          "title": "Limit",
          "default": 20,
          "description": "Maximum number of markets to return"
        },
        "search": {
          "type": "string",
          "title": "Search",
          "default": "",
          "description": "Optional keyword that must appear in the market question"
        },
        "category": {
          "type": "string",
          "title": "Category",
          "default": "",
          "description": "Optional category: Politics, Crypto, Sports, Geopolitics, Economics, Tech or Culture"
        }
      }
    }
    arguments 24 lines
  • get_research_theses reads open 10d ago

    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. Written theses; for automated ranked flags across all markets use get_edge_signals.

    mcp-tool

    {
      "type": "object",
      "title": "get_research_thesesArguments",
      "properties": {}
    }
    arguments 5 lines
  • submit_forecast changes data unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "title": "submit_forecastArguments",
      "required": [
        "market_id",
        "outcome",
        "probability",
        "forecaster_id"
      ],
      "properties": {
        "outcome": {
          "type": "string",
          "title": "Outcome",
          "description": "Exact outcome name of that market, e.g. 'Yes'"
        },
        "market_id": {
          "type": "string",
          "title": "Market Id",
          "description": "Market id from list_trending_markets or get_market_odds"
        },
        "probability": {
          "type": "number",
          "title": "Probability",
          "description": "Your probability for that outcome, 0.01-0.99"
        },
        "forecaster_id": {
          "type": "string",
          "title": "Forecaster Id",
          "description": "Your stable public handle: 3-32 chars, a-z, 0-9 and dashes"
        }
      }
    }
    arguments 32 lines
  • compare_executable_quotes reads unknown 9d ago

    Return the Polymarket quote for one pair plus the Kalshi ticker and notice. No Kalshi prices, fees, depth, venue ranking or savings are exposed. Comparisons are on https://voxodds.com/polymarket-vs-kalshi only.

    mcp-tool

    {
      "type": "object",
      "title": "compare_executable_quotesArguments",
      "required": [
        "polymarket_id",
        "kalshi_ticker"
      ],
      "properties": {
        "side": {
          "type": "string",
          "title": "Side",
          "default": "Yes",
          "description": "Outcome to buy on both venues, usually 'Yes' or 'No'"
        },
        "amount_usd": {
          "type": "number",
          "title": "Amount Usd",
          "default": 100,
          "description": "All-in budget in USD per venue, estimated taker fees included"
        },
        "kalshi_ticker": {
          "type": "string",
          "title": "Kalshi Ticker",
          "description": "Kalshi market ticker"
        },
        "polymarket_id": {
          "type": "string",
          "title": "Polymarket Id",
          "description": "Polymarket market id"
        }
      }
    }
    arguments 32 lines
  • get_forecaster_record reads unknown 9d ago

    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.

    mcp-tool

    {
      "type": "object",
      "title": "get_forecaster_recordArguments",
      "required": [
        "forecaster_id"
      ],
      "properties": {
        "forecaster_id": {
          "type": "string",
          "title": "Forecaster Id",
          "description": "The handle you used with submit_forecast"
        }
      }
    }
    arguments 14 lines
  • get_market_odds reads unknown 9d ago

    Get current Polymarket probabilities for a natural-language event question. Returns a conservatively matched market and source links. For Polymarket executable quotes use list_executable_opportunities or get_executable_quote. Kalshi comparisons are available on https://voxodds.com/polymarket-vs-kalshi only.

    mcp-tool

    {
      "type": "object",
      "title": "get_market_oddsArguments",
      "required": [
        "question"
      ],
      "properties": {
        "question": {
          "type": "string",
          "title": "Question",
          "description": "Natural-language question about a future event, e.g. 'Will the Fed cut rates in December?'"
        }
      }
    }
    arguments 14 lines
  • get_executable_quote reads unknown 10d ago

    Get an independent Polymarket all-in order-book quote, including estimated taker fees and depth. Kalshi requests return only identifiers and a notice; see https://voxodds.com/polymarket-vs-kalshi for human comparisons.

    mcp-tool

    {
      "type": "object",
      "title": "get_executable_quoteArguments",
      "required": [
        "platform",
        "market_id"
      ],
      "properties": {
        "side": {
          "type": "string",
          "title": "Side",
          "default": "Yes",
          "description": "Outcome to buy, usually 'Yes' or 'No'"
        },
        "platform": {
          "type": "string",
          "title": "Platform",
          "description": "'polymarket' or 'kalshi'"
        },
        "market_id": {
          "type": "string",
          "title": "Market Id",
          "description": "Polymarket market id or Kalshi ticker"
        },
        "amount_usd": {
          "type": "number",
          "title": "Amount Usd",
          "default": 100,
          "description": "All-in budget in USD, estimated taker fees included"
        }
      }
    }
    arguments 32 lines
  • get_edge_signals reads unknown never probed

    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. Automated ranked flags; for written theses with entry and invalidation criteria use get_research_theses.

    mcp-tool

    {
      "type": "object",
      "title": "get_edge_signalsArguments",
      "properties": {
        "limit": {
          "type": "integer",
          "title": "Limit",
          "default": 10,
          "description": "Maximum number of signals to return"
        }
      }
    }
    arguments 12 lines
  • list_sportsbook_surebets reads unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "title": "list_sportsbook_surebetsArguments",
      "properties": {
        "sport_key": {
          "type": "string",
          "title": "Sport Key",
          "default": "upcoming",
          "description": "Sport key such as 'basketball_nba', or 'upcoming' for all"
        },
        "capital_usd": {
          "type": "number",
          "title": "Capital Usd",
          "default": 100,
          "description": "Total stake in USD split across the outcomes"
        }
      }
    }
    arguments 18 lines
  • check_bet changes data unknown 42d ago

    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.

    mcp-tool

    {
      "type": "object",
      "title": "check_betArguments",
      "required": [
        "event",
        "side"
      ],
      "properties": {
        "side": {
          "type": "string",
          "title": "Side",
          "description": "The side the user wants to back, e.g. 'Lakers'"
        },
        "event": {
          "type": "string",
          "title": "Event",
          "description": "The event in plain words, e.g. 'Lakers vs Celtics tonight'"
        },
        "sport": {
          "type": "string",
          "title": "Sport",
          "default": "upcoming",
          "description": "Sport key such as 'basketball_nba', or 'upcoming'"
        },
        "odds_offered": {
          "type": "string",
          "title": "Odds Offered",
          "default": "",
          "description": "Odds offered by the user's book: decimal '2.10', american '+110' or fractional '11/10'"
        },
        "forecaster_id": {
          "type": "string",
          "title": "Forecaster Id",
          "default": "",
          "description": "Optional public handle for that receipt"
        },
        "your_probability": {
          "type": "number",
          "title": "Your Probability",
          "default": 0,
          "description": "Optional: your own probability 0-1 to log as an audited receipt (needs forecaster_id)"
        }
      }
    }
    arguments 44 lines
  • find_best_price reads unknown 10d ago

    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.

    mcp-tool

    {
      "type": "object",
      "title": "find_best_priceArguments",
      "required": [
        "event",
        "side"
      ],
      "properties": {
        "side": {
          "type": "string",
          "title": "Side",
          "description": "The side the user has decided to back"
        },
        "event": {
          "type": "string",
          "title": "Event",
          "description": "The event in plain words"
        },
        "sport": {
          "type": "string",
          "title": "Sport",
          "default": "upcoming",
          "description": "Sport key such as 'basketball_nba', or 'upcoming'"
        }
      }
    }
    arguments 26 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 6ca502f5e74dd8c2.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/6ca502f5e74dd8c2/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/6ca502f5e74dd8c2/badge.svg)](https://brick.blue/agent/6ca502f5e74dd8c2?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.