Bet Better Data MCP
An MCP server providing AI agents with access to sports betting predictions, win chances, player projections, line moves, and checked statistics for 29 competitions. It supports both free and licensed tiers, allowing agents to retrieve public picks, predicted scores, and detailed market data via read-only tools.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://betbetter.world/mcp/freeWhat you can do with it
- Retrieve predicted scores and win chances for upcoming games
- Access player projections and team totals for various sports
- Get delayed line moves samples or licensed open calls
- Fetch free public picks with confidence levels and odds
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- betbetter-data 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 12 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- 3 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
12 advertised
list_leagues — List leagues and coverage
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
}{
"title": "List leagues and coverage",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_products — Products and prices
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
}{
"title": "Products and prices",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_free_picks — Free picks for a league
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
}{
"title": "Free picks for a league",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_predicted_scores — Predicted scores
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
}{
"title": "Predicted scores",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_predictions — Predictions feed (licensed)
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
}{
"title": "Predictions feed (licensed)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_line_moves_sample — Line Moves free sample
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
}{
"title": "Line Moves free sample",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_line_moves — Line Moves (licensed)
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
}{
"title": "Line Moves (licensed)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_bets_feed — Bets feed (licensed)
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
}{
"title": "Bets feed (licensed)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_storylines_on_sale — Storylines competitions
The competitions Storylines covers right now (each one is on sale only while it passes our accuracy checks).
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Storylines competitions",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_storylines_games — Storylines games for a day
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
}{
"title": "Storylines games for a day",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_storylines_facts — Storylines stat facts
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
}{
"title": "Storylines stat facts",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_my_plan — Your plan
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
}{
"title": "Your plan",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
3 advertised
week_preview — This week's predicted scores
Predicted scores for a league's upcoming games, and the games the model is most sure about.
- league
- League code, for example nfl (required)
game_preview — Game preview from checked stats
A short preview of one game written only from Bet Better Storylines facts.
- sport
- nfl, nba, nhl, mlb, soccer ... (required)
- home
- Home team (required)
- away
- Away team (required)
league_board — Model board for a league
Every game in a league with our projected score and win chance, sorted by start time.
- league
- League code, for example nba (required)
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 700 ms
- 95th percentile latency
- 700 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 700 ms · metadata changed · 12 tool(s), 3 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http bet-better-data-mcp https://betbetter.world/mcp/freeCodex
codex mcp add bet-better-data-mcp --url https://betbetter.world/mcp/freeCursor
{
"mcpServers": {
"bet-better-data-mcp": {
"url": "https://betbetter.world/mcp/free"
}
}
}Cline
{
"mcpServers": {
"bet-better-data-mcp": {
"type": "streamableHttp",
"url": "https://betbetter.world/mcp/free",
"disabled": false
}
}
}VS Code
{
"servers": {
"bet-better-data-mcp": {
"type": "http",
"url": "https://betbetter.world/mcp/free"
}
}
}Gemini CLI
gemini mcp add --transport http bet-better-data-mcp https://betbetter.world/mcp/freeClaude Desktop
{
"mcpServers": {
"bet-better-data-mcp": {
"url": "https://betbetter.world/mcp/free"
}
}
}Windsurf
{
"mcpServers": {
"bet-better-data-mcp": {
"serverUrl": "https://betbetter.world/mcp/free"
}
}
}Let your agent find its tools
Find servers like Bet Better Data MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.