No-vig consensus odds, bet-stops, fixtures, live scores and grades: NFL, NBA, MLB, NHL, soccer
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
HalfPoint API key (halfpoint.tech/pricing). get_sample and get_pass_options work without one.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Whether each market is in a bet stop (stop: true when something just happened that can be front-run, e.g. a score) and whether its price is widened. Needs an API key with plan risk.
one league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all
one fixture id, e.g. nba-261030-mia-cha (from list_fixtures); default all of the league
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http sports-odds https://mcp.halfpoint.tech/
Headers
X-Api-Key (optional, not in the config above): HalfPoint API key (halfpoint.tech/pricing). get_sample and get_pass_options work without one.Whether each market is in a bet stop (stop: true when something just happened that can be front-run, e.g. a score) and whether its price is widened. Needs an API key with plan risk.
| Argument | Type | Description |
|---|---|---|
| league | string | one league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all |
| fixture | string | one fixture id, e.g. nba-261030-mia-cha (from list_fixtures); default all of the league |
{
"type": "object",
"properties": {
"league": {
"type": "string",
"description": "one league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all"
},
"fixture": {
"type": "string",
"description": "one fixture id, e.g. nba-261030-mia-cha (from list_fixtures); default all of the league"
}
},
"additionalProperties": false
}The consensus: a market-implied probability per outcome (home, away, draw) for games starting within 24 hours and those being played, at most 1 s old. recent false means no current consensus. Needs an API key.
| Argument | Type | Description |
|---|---|---|
| league | string | one league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all |
| fixture | string | one fixture id, e.g. nba-261030-mia-cha (from list_fixtures); default all of the league |
{
"type": "object",
"properties": {
"league": {
"type": "string",
"description": "one league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all"
},
"fixture": {
"type": "string",
"description": "one fixture id, e.g. nba-261030-mia-cha (from list_fixtures); default all of the league"
}
},
"additionalProperties": false
}Games being played now (and final within 2 hours): score, period, clock. Needs an API key.
| Argument | Type | Description |
|---|---|---|
| league | string | one league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all |
{
"type": "object",
"properties": {
"league": {
"type": "string",
"description": "one league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all"
}
},
"additionalProperties": false
}The plans for sale, their prices (USD), trials and checkout links, where a key is bought, and the x402 passes (a plan for a period, paid in USDC). Works without an API key.
No arguments.
{
"type": "object",
"additionalProperties": false
}A free sample without an API key: one league's consensus (kind odds, 60 to 120 s old, without stop and widened) or today's fixtures (kind fixtures), 10 fixtures at most. Limited to 10 calls a minute.
| Argument | Type | Description |
|---|---|---|
| kind* | string | odds (the consensus) or fixtures (today's schedule) |
| league* | string | the league: mlb, nba, nfl, cfb, nhl, epl, bund, laliga or ucl |
{
"type": "object",
"required": [
"kind",
"league"
],
"properties": {
"kind": {
"type": "string",
"description": "odds (the consensus) or fixtures (today's schedule)"
},
"league": {
"type": "string",
"description": "the league: mlb, nba, nfl, cfb, nhl, epl, bund, laliga or ucl"
}
},
"additionalProperties": false
}A league's schedule on a date: fixture ids, start times (UTC), teams, status (Scheduled, In Progress, Final, Postponed, ...), postponement links. Needs an API key.
| Argument | Type | Description |
|---|---|---|
| date | string | YYYY-MM-DD, or a range YYYY-MM-DD-YYYY-MM-DD of up to 31 days; the league's local date; default today |
| league* | string | the league: mlb, nba, nfl, cfb (college football), nhl, epl (Premier League), bund (Bundesliga), laliga (LaLiga) or ucl (Champions League) |
{
"type": "object",
"required": [
"league"
],
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD, or a range YYYY-MM-DD-YYYY-MM-DD of up to 31 days; the league's local date; default today"
},
"league": {
"type": "string",
"description": "the league: mlb, nba, nfl, cfb (college football), nhl, epl (Premier League), bund (Bundesliga), laliga (LaLiga) or ucl (Champions League)"
}
},
"additionalProperties": false
}The leagues served, with their ids, names and sports. Needs an API key.
No arguments.
{
"type": "object",
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.