Grade any MLB, WNBA, PGA or ATP bet against thousands of play-by-play sims. No key, no signup.
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.
Check a specific sports bet against thousands of play-by-play game simulations: each leg's simulated probability, the sportsbook's implied probability, and the edge. Send the bet as plain text - teams or players, market, line, odds. A parlay in one string is graded leg by leg and priced as a whole. Call this first; nothing has to be set up, and a missing slate, an unrecognized bet, or an unsupported market comes back as a plain `status` without spending a check. It prices a bet the caller names and never suggests one, so there is nothing to send for "what should I bet tonight". Every result leads with `status` and `check_spent` and says whether re-wording would change anything; when it says no, it means no. Covers MLB, WNBA, PGA, and ATP. A game that already started still checks, against the simulations from before it began.
The bet text, e.g. 'Shohei Ohtani over 1.5 total bases -120'
Check a specific sports bet against thousands of play-by-play game simulations: each leg's simulated probability, the sportsbook's implied probability, and the edge. Send the bet as plain text - teams or players, market, line, odds. A parlay in one string is graded leg by leg and priced as a whole. Call this first; nothing has to be set up, and a missing slate, an unrecognized bet, or an unsupported market comes back as a plain `status` without spending a check. It prices a bet the caller names and never suggests one, so there is nothing to send for "what should I bet tonight". Every result leads with `status` and `check_spent` and says whether re-wording would change anything; when it says no, it means no. Covers MLB, WNBA, PGA, and ATP. A game that already started still checks, against the simulations from before it began.
| Argument | Type | Description |
|---|---|---|
| bet* | string | The bet text, e.g. 'Shohei Ohtani over 1.5 total bases -120' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bet"
],
"properties": {
"bet": {
"type": "string",
"description": "The bet text, e.g. 'Shohei Ohtani over 1.5 total bases -120'"
}
}
}Which of MLB, WNBA, PGA, and ATP have a checkable slate right now - at least one simulated game that has not started. Pass `sport` for one; omit it for all. Free, spends no check. It is not required before `check_bet`, which reports a missing slate itself at no cost. Call it to answer "what can be checked today", or after a `no_slate` or `ungraded` result, which mean the game is not on the simulated slate rather than that the bet was worded wrong.
| Argument | Type | Description |
|---|---|---|
| sport | string | One of: MLB, WNBA, PGA, ATP. Omit to get every live sport. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sport": {
"enum": [
"MLB",
"WNBA",
"PGA",
"ATP"
],
"type": "string",
"description": "One of: MLB, WNBA, PGA, ATP. Omit to get every live sport."
}
}
}How many bet checks the caller has left and when the next one frees up - 100 a day shared per device anonymously, 1000 an hour with a signed-in user's token. Free, spends no check. It grades nothing, so it is not a step before a check: call it when a check comes back refused for quota, or before working through a long list of bets.
No arguments.
{
"type": "object",
"properties": {}
}