_ registry / mcp streamable-http · checked 11m ago

com.theoddsgap/answers

https://theoddsgap.com

Registry code: f271e2cbf021a31e

api record

Ask The Odds Gap sports betting price questions from your AI assistant. Answers come from prices we collect from US sportsbooks and prediction-market exchanges: which book pays the most for a bet, hedge math, parlay prices, a game's full board, past results and line moves. Every answer shows when the prices were scanned and links to the matching page on theoddsgap.com. Prices are a snapshot and may have moved. Information only: it places no bets and gives no picks. 21+. Gambling problem? Call 1-800-GAMBLER.

endpoint
https://theoddsgap.com/assistant/v1/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 com.theoddsgap/answers live?
Yes — it answered the hub's last check (checked 11m ago). It answered 98% of checks over the last 30 days.
Is com.theoddsgap/answers free to use?
Yes — the hub reached it with no key and no payment.
What tools does com.theoddsgap/answers have?
11 tools: ask, player_prop, calc, site_info, slate, game_lines, past_game, arbs, ….
Is com.theoddsgap/answers 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
97.5%

90 days 98.4%· all time 98.4%

latency
227ms

last good check

priced tools
0

of 11 tools

_ answered our checks, 90 days 509 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • compare sportsbook odds for a bet
  • find arbitrage between sportsbooks
  • get a game's betting lines
  • calculate parlay payout
takes → gives
text → data
tools
11 reads
_ 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 11 tools
10 open 1 never probed 10 of 11 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.

  • player_prop reads open 4h ago

    One player's prop: the line the market is at and the highest price we saw on each side, with the scan time. The player must be on our props board. Prices may have moved since the scan.

    mcp-tool

    {
      "type": "object",
      "required": [
        "player"
      ],
      "properties": {
        "line": {
          "type": "number",
          "description": "The line the person named, if they named one."
        },
        "side": {
          "enum": [
            "over",
            "under",
            "yes",
            "no"
          ],
          "type": "string",
          "description": "over, under, yes or no."
        },
        "books": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The books this person actually has. Omit for the default set."
        },
        "market": {
          "type": "string",
          "description": "The prop market key, e.g. player_receptions or pitcher_strikeouts. Omit to be told what the board has for that player."
        },
        "player": {
          "type": "string",
          "description": "The player's name as the person typed it."
        }
      },
      "additionalProperties": false
    }
    arguments 38 lines
  • calc reads open 1h ago

    Runs a betting calculation on numbers you supply: convert odds between formats, implied probability, payout on a stake, the no-vig price of two sides, hold, breakeven, a parlay of typed odds, or an arb or hedge split on typed prices. Uses only the numbers given, no market data.

    mcp-tool

    {
      "type": "object",
      "required": [
        "text"
      ],
      "properties": {
        "text": {
          "type": "string",
          "description": "The reader's words, with their numbers."
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • site_info reads open 1h ago

    Explains a betting term or how The Odds Gap works (gap percent, matched lines, the exchange depth rule, Kalshi fees, why offshore books are left out, the site's tools), in the site's own words with a link to the page it comes from.

    mcp-tool

    {
      "type": "object",
      "required": [
        "text"
      ],
      "properties": {
        "text": {
          "type": "string",
          "description": "The reader's words."
        },
        "topic": {
          "type": "string",
          "description": "A topic key, or omit to read the words."
        }
      },
      "additionalProperties": false
    }
    arguments 17 lines
  • slate reads open 8h ago

    Lists the games in a window (tonight, tomorrow, a weekday or a date) for a league or one team, with the highest moneyline price we saw on each side and the time it was scanned. Prices may have moved since the scan.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "team": {
          "type": "string",
          "description": "One team: its upcoming games."
        },
        "text": {
          "type": "string",
          "description": "The reader's words, for the window."
        },
        "when": {
          "type": "string",
          "description": "today, tonight, tomorrow, a weekday, weekend, or YYYY-MM-DD. Default the next 24 hours."
        },
        "books": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The books this person actually has. Omit for the default set."
        },
        "limit": {
          "type": "integer",
          "description": "How many games. Default 8, max 8."
        },
        "sport": {
          "type": "string",
          "description": "League, e.g. nfl or college football."
        }
      },
      "additionalProperties": false
    }
    arguments 34 lines
  • game_lines reads open 8h ago

    One game's moneyline, spread or total: both sides on the consensus number, or which side the market has as the favorite. Name the game in plain words, for example Lions at Bears. Shows the scan time and a link to the game's page. Prices may have moved since the scan.

    mcp-tool

    {
      "type": "object",
      "required": [
        "game"
      ],
      "properties": {
        "game": {
          "type": "string",
          "description": "The game in plain words, for example 'Lions at Bears' or 'Yankees tonight'."
        },
        "line": {
          "type": "number",
          "description": "The spread or total the bet is at. Omit for a moneyline, or to use the consensus line."
        },
        "side": {
          "enum": [
            "home",
            "away",
            "over",
            "under"
          ],
          "type": "string",
          "description": "home or away for a moneyline or spread; over or under for a total."
        },
        "team": {
          "type": "string",
          "description": "A known team with no game on the board."
        },
        "books": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The books this person actually has. Omit for the default set."
        },
        "market": {
          "enum": [
            "ml",
            "spread",
            "total"
          ],
          "type": "string",
          "description": "ml, spread or total."
        },
        "favored": {
          "type": "boolean",
          "description": "Who the market favors, as a price."
        },
        "markets": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Game-line markets to show, both sides each."
        }
      },
      "additionalProperties": false
    }
    arguments 58 lines
  • past_game reads open 8h ago

    A finished game: the final score, the closing spread and total, and the earliest line we recorded, with a link to the game's page. Never an upcoming game.

    mcp-tool

    {
      "type": "object",
      "required": [
        "text"
      ],
      "properties": {
        "game": {
          "type": "string",
          "description": "The game in plain words, for example 'Lions at Bears' or 'Yankees tonight'."
        },
        "text": {
          "type": "string",
          "description": "The team or matchup, in the reader's words."
        },
        "list_all": {
          "type": "boolean",
          "description": "Every finished game in the window the words name."
        }
      },
      "additionalProperties": false
    }
    arguments 21 lines
  • arbs reads open 11m ago

    Spots where two books' prices on opposite sides of the same bet added up to less than 100 percent implied at the scan, with how a stake would split. Prices may have moved since the scan. An arb can close at any time.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "game": {
          "type": "string",
          "description": "The game in plain words, for example 'Lions at Bears' or 'Yankees tonight'."
        },
        "text": {
          "type": "string",
          "description": "The reader's words."
        },
        "books": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The books this person actually has. Omit for the default set."
        },
        "stake": {
          "type": "number",
          "description": "A total stake to split."
        }
      },
      "additionalProperties": false
    }
    arguments 26 lines
  • futures_odds reads open 11m ago

    Season-long futures such as the Super Bowl, World Series, Stanley Cup, NBA and college titles: the highest price we saw on a team, or the top of one futures market, with the scan time. Prices may have moved since the scan.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "team": {
          "type": "string",
          "description": "One entrant, if they named one."
        },
        "text": {
          "type": "string",
          "description": "The person's own words. This is what names the market, because a futures market has no id anybody would ever say out loud."
        },
        "books": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The books this person actually has. Omit for the default set."
        },
        "sport": {
          "type": "string",
          "description": "The league, if no market is named."
        },
        "stake": {
          "type": "number",
          "description": "A stake to pay out at the best price."
        },
        "teams": {
          "type": "array",
          "description": "Two or more entrants asked together."
        },
        "market": {
          "type": "string",
          "description": "A market phrase, if it is separable from the rest of the sentence."
        },
        "compare": {
          "type": "array",
          "description": "Books the person named, to say each one's price."
        }
      },
      "additionalProperties": false
    }
    arguments 42 lines
  • team_record reads open 4h ago

    A team's finished games tracked on The Odds Gap and its next game. Not an official league record.

    mcp-tool

    {
      "type": "object",
      "required": [
        "team"
      ],
      "properties": {
        "team": {
          "type": "string",
          "description": "The team as typed."
        },
        "text": {
          "type": "string",
          "description": "The reader's words, for an ATS, over/under or trends record."
        }
      },
      "additionalProperties": false
    }
    arguments 17 lines
  • middles reads open 11m ago

    Spread and total middles across sportsbooks at the scan: two numbers far enough apart that both bets could win. Prices may have moved since the scan.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "game": {
          "type": "string",
          "description": "The game in plain words, for example 'Lions at Bears' or 'Yankees tonight'."
        },
        "pick": {
          "type": "string",
          "description": "A number to put in place of one side of the last middle, for 'what if I took 144.5 instead' (prompt 194)."
        },
        "text": {
          "type": "string",
          "description": "The reader's words."
        },
        "books": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The books this person actually has. Omit for the default set."
        },
        "stake": {
          "type": "number",
          "description": "The stake on each ticket, for hit and miss dollars."
        }
      },
      "additionalProperties": false
    }
    arguments 30 lines
  • ask reads unknown 4h ago

    Ask one whole sports betting price question in plain English, the way a person would: which book pays the most for a bet, hedge math on a ticket, a parlay price, a game's board, a past result or how a line has moved. Returns a plain-sentence answer, the time the prices were scanned and a link to the matching page on theoddsgap.com. When a question could mean more than one game, it returns the choices as plain text to ask again with. Prices may have moved since the scan. Information only: it places no bets and gives no picks.

    mcp-tool

    {
      "type": "object",
      "required": [
        "question"
      ],
      "properties": {
        "question": {
          "type": "string",
          "maxLength": 400,
          "description": "One whole question, for example 'where is the best price on the Lions moneyline' or 'hedge my Ravens ticket at +240 for $50'."
        }
      },
      "additionalProperties": false
    }
    arguments 14 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 f271e2cbf021a31e.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/f271e2cbf021a31e/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/f271e2cbf021a31e/badge.svg)](https://brick.blue/agent/f271e2cbf021a31e?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.