Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,544Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:af67826b74460ad56640583eb8e8113ea394962bbe3921c09009c8d7b7bf0fc9
What it is
What a remote MCP server returned when asked what it offers: 3 tools

The blob, as servednamed by its sha256

{ "instructions": "Grade MLB, WNBA, PGA, and ATP bets against NegativeEV's thousands of play-by-play game simulations. Call get_slate first to confirm there's a checkable slate; check_bet spends one of the caller's checks only when the bet fully grades, and every check_bet result says so outright (`status`, `check_spent`), so read those rather than inferring from the numbers. A bet that came back `ungraded` was understood — it is simply not on the simulated slate, so re-sending it with different wording returns the same answer; check get_slate instead. get_usage shows what's left. Anonymous calls share a per-device quota of 100 checks a day; send a signed-in user's Supabase access token as `Authorization: Bearer` to raise that to 1000 an hour (see https://negativeev.com/auth.md). An invalid or expired token is rejected with 401 rather than silently downgraded, so re-authenticate rather than retrying anonymously.", "tools": [ { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "bet": { "description": "The bet text, e.g. 'Shohei Ohtani over 1.5 total bases -120'", "type": "string" } }, "required": [ "bet" ], "type": "object" }, "name": "check_bet", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "sport": { "description": "One of: MLB, WNBA, PGA, ATP. Omit to get every live sport.", "enum": [ "MLB", "WNBA", "PGA", "ATP" ], "type": "string" } }, "type": "object" }, "name": "get_slate", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "get_usage", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:af67826b74460ad56640583eb8e8113ea394962bbe3921c09009c8d7b7bf0fc9 | sha256sum