betbetter-data
Registry code: fd15875ce1c49a0a
Bet Better Data: our model's numbers and checked sport stats for 29 competitions. Use list_leagues first to see the league codes and what this connection covers; get_products for every product, price and page. get_free_picks, get_predicted_scores, get_line_moves_sample, get_storylines_games, get_storylines_facts and get_storylines_on_sale work for everyone (free tier, CC BY 4.0: credit 'Bet Better, betbetter.world'). get_predictions (every game and player), get_line_moves, get_bets_feed and the full Storylines facts need a Bet Better Data licence (https://betbetter.world/data/catalogue).…
- endpoint
- https://betbetter.world/mcp/free
- 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 betbetter-data live?
- Yes — it answered the hub's last check (checked 9h ago). It answered 100% of checks over the last 30 days.
- Is betbetter-data free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does betbetter-data have?
- 12 tools: list_leagues, get_line_moves, get_free_picks, get_predicted_scores, get_predictions, get_line_moves_sample, get_storylines_on_sale, get_storylines_games, ….
- Is betbetter-data 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.
90 days 100%· all time 100%
last good check
of 12 tools
- unknown → live
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.
through this hub
successful
what callers paid
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.
get_products open 9h ago
Every Bet Better Data product with its live price (US$), what it contains, coverage (leagues, Line Moves sports, Storylines competitions on sale) and the page to buy or read more, plus the free CC BY 4.0 API. Use it to answer 'what does it cost' or 'which plan do I need'.
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesget_my_plan open 9h ago
What this connection is signed in as: the leagues the Predictions licence covers, the Storylines plan and today's facts calls left, and where to add more.
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 lineslist_leagues unknown never probed
Lists every league Bet Better covers (code, name, season, in season now), which free feeds exist for each, and what this connection's licence covers. Call this first.
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesget_line_moves unknown never probed
The licensed Line Moves feed: our open calls on which way a game or player line will move before the start (call, strength, line now, predicted close, our number), newest first. graded=true returns the last 30 days of graded calls instead. Needs Line Moves for the sport.
{ "type": "object", "properties": { "limit": { "type": "integer", "maximum": 200, "minimum": 1, "description": "Most calls to return (default 50)." }, "sport": { "enum": [ "nfl", "nba", "soccer", "mlb", "nhl", "tennis", "all" ], "type": "string", "description": "nfl, nba, soccer, mlb, nhl, tennis or all (default = every sport your plan covers)." }, "graded": { "type": "boolean", "description": "true = graded calls of the last 30 days." } }, "additionalProperties": false }arguments 29 linesget_free_picks unknown never probed
The free public picks for one league: game, start time (UTC), market, selection, line, the model's chance (percent), fair decimal odds and a confidence word (HIGH, LEAN, LONG-SHOT). Members-only picks are counted, not shown. Free tier, CC BY 4.0.
{ "type": "object", "required": [ "league" ], "properties": { "league": { "enum": [ "afl", "mlb", "nba", "nfl", "nhl", "ncaaf", "nrl", "ufc", "wnba", "cricket", "tennis/atp", "tennis/wta", "soccer/epl", "soccer/la-liga", "soccer/serie-a", "soccer/bundesliga", "soccer/ligue-1" ], "type": "string", "description": "League path as the public API spells it." } }, "additionalProperties": false }arguments 32 linesget_predicted_scores unknown never probed
The model's projected final score, margin and total for every upcoming game in a league. Free tier: the public feed (home win chance for the next 3 games only). With a Predictions licence for the league: every game with home, away and draw chances. League codes: nfl, cfb, nba, cbb, wnba, nhl, mlb, afl, nrl, epl, laliga, bundesliga, seriea, ligue1, mls, eflchamp, brasileirao, aleague, worldcup, tennis, ufc, cricket (also ncaaf, ncaab, soccer).
{ "type": "object", "required": [ "league" ], "properties": { "limit": { "type": "integer", "maximum": 100, "minimum": 1, "description": "Most games to return (default 40)." }, "league": { "type": "string", "description": "League code, for example nfl, nba, epl, cfb. 'soccer' = every soccer league (free feed)." } }, "additionalProperties": false }arguments 19 linesget_predictions unknown never probed
The licensed Predictions feed for one league: kind=games (our line, total, win chances and fair prices for every game), kind=props (player projections with over and under chances) or kind=markets (team totals, halves, quarters and other game markets). Needs a Predictions licence covering the league. League codes: nfl, cfb, nba, cbb, wnba, nhl, mlb, afl, nrl, epl, laliga, bundesliga, seriea, ligue1, mls, eflchamp, brasileirao, aleague, worldcup, tennis, ufc, cricket.
{ "type": "object", "required": [ "league" ], "properties": { "kind": { "enum": [ "games", "props", "markets" ], "type": "string", "description": "games (default), props or markets." }, "team": { "type": "string", "description": "Optional: only rows whose teams (or player's team or name) contain this text." }, "limit": { "type": "integer", "maximum": 200, "minimum": 1, "description": "Most rows to return (default 50)." }, "league": { "type": "string", "description": "League code, for example nfl, nba, epl." } }, "additionalProperties": false }arguments 32 linesget_line_moves_sample unknown never probed
A delayed free sample of Line Moves: our calls on which way a line would move, for games that started 3+ hours ago (last 30 days). Shows the call, the line when we called it and our predicted closing line. Free tier.
{ "type": "object", "properties": { "limit": { "type": "integer", "maximum": 100, "minimum": 1, "description": "Most calls to return (default 25)." }, "sport": { "enum": [ "nfl", "nba", "soccer", "mlb", "nhl", "tennis", "all" ], "type": "string", "description": "nfl, nba, soccer, mlb, nhl, tennis or all (default)." } }, "additionalProperties": false }arguments 25 linesget_storylines_on_sale unknown never probed
The competitions Storylines covers right now (each one is on sale only while it passes our accuracy checks).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesget_storylines_games unknown never probed
Upcoming games Storylines has checked stats for, for one sport and day (US Eastern date). Use the team names exactly as returned when you ask for facts.
{ "type": "object", "required": [ "sport" ], "properties": { "date": { "type": "string", "description": "Optional YYYY-MM-DD; default = the next day with games (up to 4 days ahead)." }, "sport": { "type": "string", "description": "Sport key, for example nfl, nba, nhl, mlb, ncaaf, soccer, cricket." } }, "additionalProperties": false }arguments 17 linesget_storylines_facts unknown never probed
Checked sport-stat facts (plain sentences with the stat, value and as-of date) for one game (home + away), or with Storylines Pro or Publisher for one player or team. Stats only: no prices, picks or chances. Free: 3 facts a game; Creator 12; Pro and Publisher 30.
{ "type": "object", "required": [ "sport" ], "properties": { "away": { "type": "string", "description": "Away team (for a game)." }, "home": { "type": "string", "description": "Home team, as get_storylines_games lists it (for a game)." }, "kind": { "enum": [ "matchup", "player", "team" ], "type": "string", "description": "matchup (default), player or team. player and team need Storylines Pro or Publisher." }, "team": { "type": "string", "description": "Soccer player only: his club, so we can check the competition is covered." }, "sport": { "type": "string", "description": "Sport key, for example nfl, nba, nhl, mlb, ncaaf, soccer, cricket." }, "entity": { "type": "string", "description": "The player or team name (kind player or team)." } }, "additionalProperties": false }arguments 38 linesget_bets_feed unknown 9h ago
The licensed Bets feed: the model's selections that fit a proven group, sent before the start, with our chance, the minimum price that still fits, the confidence word and the group in words. graded=true returns the last 30 days graded. Needs the Bets feed.
{ "type": "object", "properties": { "limit": { "type": "integer", "maximum": 200, "minimum": 1, "description": "Most rows to return (default 50)." }, "graded": { "type": "boolean", "description": "true = graded selections of the last 30 days." }, "league": { "type": "string", "description": "Optional league or board filter, for example nfl or epl." } }, "additionalProperties": false }arguments 20 lines
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.
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.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - 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. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idfd15875ce1c49a0a.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/fd15875ce1c49a0a/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/fd15875ce1c49a0a?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.
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.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- 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.