BetsBeats MCP
A free, read-only MCP server that allows agents to verify sealed sports picks via SHA-256 hashes, read the public pick record, and perform odds math including converting odds, calculating expected value, and determining parlay payouts.
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://api.betsbeats.com/mcpWhat you can do with it
- Verify sealed sports picks using SHA-256 hashes
- Read the public record of past picks
- Convert sports betting odds
- Calculate expected value and parlay payouts
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- betsbeats 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 6 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
verify_pick — Verify Pick
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.
{
"type": "object",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"description": "Commitment hash: 64 hex characters, or a unique prefix of at least 16."
}
}
}{
"title": "Verify Pick",
"readOnlyHint": true
}get_record — Get Record
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.
{
"type": "object",
"properties": {}
}{
"title": "Get Record",
"readOnlyHint": true
}get_results — Get Results
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.
{
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"description": "Day to read, YYYY-MM-DD."
}
}
}{
"title": "Get Results",
"readOnlyHint": true
}convert_odds — Convert Odds
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.
{
"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."
}
}
}{
"title": "Convert Odds",
"readOnlyHint": true
}expected_value — Expected 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.
{
"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."
}
}
}{
"title": "Expected Value",
"readOnlyHint": true
}parlay_payout — Parlay Payout
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.
{
"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."
}
}
}{
"title": "Parlay Payout",
"readOnlyHint": true
}Prompts
0 advertised
Resources
0 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
- 1037 ms
- 95th percentile latency
- 1037 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1037 ms · metadata changed · 6 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http betsbeats-mcp https://api.betsbeats.com/mcpCodex
codex mcp add betsbeats-mcp --url https://api.betsbeats.com/mcpCursor
{
"mcpServers": {
"betsbeats-mcp": {
"url": "https://api.betsbeats.com/mcp"
}
}
}Cline
{
"mcpServers": {
"betsbeats-mcp": {
"type": "streamableHttp",
"url": "https://api.betsbeats.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"betsbeats-mcp": {
"type": "http",
"url": "https://api.betsbeats.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http betsbeats-mcp https://api.betsbeats.com/mcpClaude Desktop
{
"mcpServers": {
"betsbeats-mcp": {
"url": "https://api.betsbeats.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"betsbeats-mcp": {
"serverUrl": "https://api.betsbeats.com/mcp"
}
}
}Let your agent find its tools
Find servers like BetsBeats MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.