Verify sealed BetsBeats picks, read the public record, and do odds math. Read-only. 21+.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
Convert betting odds between american (+150, -110), decimal (2.5), fractional (3/2) and implied probability (0.4 or 40%). Decimal d = 1 + n/d for fractions, 1 + a/100 for +a, 1 + 100/a for -a; implied probability = 1/decimal. Pure math, no data lookup. For adults 21+ only. Entertainment and analysis; no wins are promised and past results do not predict future ones. BetsBeats does not take bets.
The odds value, e.g. "+150", "2.5", "3/2", "0.4".
Format of the odds value.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http betsbeats https://api.betsbeats.com/mcp
Convert betting odds between american (+150, -110), decimal (2.5), fractional (3/2) and implied probability (0.4 or 40%). Decimal d = 1 + n/d for fractions, 1 + a/100 for +a, 1 + 100/a for -a; implied probability = 1/decimal. Pure math, no data lookup. For adults 21+ only. Entertainment and analysis; no wins are promised and past results do not predict future ones. BetsBeats does not take bets.
| Argument | Type | Description |
|---|---|---|
| odds* | string | The odds value, e.g. "+150", "2.5", "3/2", "0.4". |
| format* | string | Format of the odds value. |
{
"type": "object",
"required": [
"odds",
"format"
],
"properties": {
"odds": {
"type": "string",
"description": "The odds value, e.g. \"+150\", \"2.5\", \"3/2\", \"0.4\"."
},
"format": {
"enum": [
"american",
"decimal",
"fractional",
"probability"
],
"type": "string",
"description": "Format of the odds value."
}
}
}Expected value of a wager from odds and your own win probability (percent, 0-100). EV = stake * (p*(decimal-1) - (1-p)); break-even probability = 1/decimal; edge = p - break-even. The probability is your input, not a prediction by BetsBeats. For adults 21+ only. Entertainment and analysis; no wins are promised and past results do not predict future ones. BetsBeats does not take bets.
| Argument | Type | Description |
|---|---|---|
| odds* | string | The odds value, e.g. "-110", "1.91", "10/11". |
| stake | number | Stake for the EV amount. Default 100. |
| format* | string | Format of the odds. |
| win_probability_percent* | number | Your estimated chance of winning, 0-100 exclusive. |
{
"type": "object",
"required": [
"odds",
"format",
"win_probability_percent"
],
"properties": {
"odds": {
"type": "string",
"description": "The odds value, e.g. \"-110\", \"1.91\", \"10/11\"."
},
"stake": {
"type": "number",
"description": "Stake for the EV amount. Default 100."
},
"format": {
"enum": [
"american",
"decimal",
"fractional"
],
"type": "string",
"description": "Format of the odds."
},
"win_probability_percent": {
"type": "number",
"description": "Your estimated chance of winning, 0-100 exclusive."
}
}
}The public running record of the BetsBeats main pick: wins, losses, voids (a void is a push or no pick), the current streak and the date range, exactly as shown on the results page. Losses are included. For adults 21+ only. Entertainment and analysis; no wins are promised and past results do not predict future ones. BetsBeats does not take bets.
No arguments.
{
"type": "object",
"properties": {}
}Settled BetsBeats picks for one day (YYYY-MM-DD): the main pick and extras with commitment hashes, selections, odds and results. Only days that are already settled and public are returned. For adults 21+ only. Entertainment and analysis; no wins are promised and past results do not predict future ones. BetsBeats does not take bets.
| Argument | Type | Description |
|---|---|---|
| date* | string | Day to read, YYYY-MM-DD. |
{
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"description": "Day to read, YYYY-MM-DD."
}
}
}Payout of a parlay (accumulator) of 2 to 20 legs that all win: combined decimal odds = product of leg decimals; payout = stake * combined; profit = payout - stake; combined implied probability = 1 / combined (legs assumed independent). For adults 21+ only. Entertainment and analysis; no wins are promised and past results do not predict future ones. BetsBeats does not take bets.
| Argument | Type | Description |
|---|---|---|
| legs* | array | 2 to 20 legs. |
| stake | number | Stake. Default 100. |
{
"type": "object",
"required": [
"legs"
],
"properties": {
"legs": {
"type": "array",
"items": {
"type": "object",
"required": [
"odds",
"format"
],
"properties": {
"odds": {
"type": "string",
"description": "e.g. \"-110\", \"1.91\", \"5/2\"."
},
"format": {
"enum": [
"american",
"decimal",
"fractional"
],
"type": "string"
}
}
},
"description": "2 to 20 legs."
},
"stake": {
"type": "number",
"description": "Stake. Default 100."
}
}
}Verify a sealed BetsBeats pick from its SHA-256 commitment hash (full 64 hex characters, or a prefix of 16 or more). Before the pick settles this only confirms the hash exists and returns sealed_at and kickoff_at. After settlement it returns the revealed preimage, recomputes SHA-256 on the server and reports matches=true/false, plus the result and a verify_url. For adults 21+ only. Entertainment and analysis; no wins are promised and past results do not predict future ones. BetsBeats does not take bets.
| Argument | Type | Description |
|---|---|---|
| hash* | string | Commitment hash: 64 hex characters, or a unique prefix of at least 16. |
{
"type": "object",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "Commitment hash: 64 hex characters, or a unique prefix of at least 16."
}
}
}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 1, 2026.