← All WebMCP sites

negativeev.com

Finance & Cryptohttps://negativeev.com/listed as of 2026-08-27
Paste a bet and NegativeEV checks it against thousands of simulated games to tell you whether the price is good, bad, or fair.
Run a live auditWe load the site in a real browser and score the tools it gives an agent.

Tools

check_betanswerimperative
Grade a sports bet against NegativeEV's game simulations. Input the bet as plain text (teams/players, market, line, odds); a multi-leg parlay in one string is graded leg by leg and priced as a whole. Use it when the caller has a SPECIFIC bet to evaluate — it prices a bet you name, it does not search for good bets, so there is nothing to send for 'what should I bet tonight'. Call `get_slate` first if it isn't known that today's games are simulated. Every result leads with `status`: `graded` (every leg scored — this is the only status that spends a check), `partial` (some legs scored), `ungraded` (the bet was understood but no leg is covered by the sims), `no_bet_found` (no bet recognized in the text), or `no_slate`, `unsupported_market`, `unsupported_sport`. When a leg doesn't score, `ungraded_legs[].reason` says why and `retry.rephrasing_helps` says whether re-wording could change the answer — it is false whenever the bet parsed, so do NOT resend the same bet in different words to work around an `ungraded` result. Covers MLB, WNBA, PGA, and ATP; any other sport returns unsupported_sport. Games that already started still grade, against the simulations from before first pitch (a pre-game projection, flagged as such).
Input schema
{
  "type": "object",
  "properties": {
    "bet": {
      "type": "string",
      "description": "The bet text, e.g. 'Shohei Ohtani over 1.5 total bases -120'"
    }
  },
  "required": [
    "bet"
  ]
}
get_slateanswerimperative
Whether there is a checkable slate right now (at least one simulated, not-yet-started game) in each live sport: MLB, WNBA, PGA, and ATP. Pass `sport` to ask about one; omit it for all of them. This is the free pre-check for `check_bet`: call it before grading when it isn't known that today's games are simulated, and call it after an `ungraded` result instead of re-wording the bet, because `ungraded` means the game isn't on the simulated slate rather than that the wording was wrong. Free — spends no check.
Input schema
{
  "type": "object",
  "properties": {
    "sport": {
      "type": "string",
      "enum": [
        "MLB",
        "WNBA",
        "PGA",
        "ATP"
      ],
      "description": "One of: MLB, WNBA, PGA, ATP. Omit to get every live sport."
    }
  }
}
get_usageanswerimperative
How many bet checks the caller has left and when the next one frees up — the daily allowance for anonymous callers, the hourly pace window for accounts. Call it before grading several bets in one turn, to know how many will fit, and after a check is refused for quota, to know when to retry. It reports the budget only; `check_bet` is what spends it. Free — spends no check.
Input schema
{
  "type": "object",
  "properties": {}
}
Listings are sourced from public community registries and shown as reported.