# com.negativeev/bet-checker (remote · negativeev.com)

Grade any bet against thousands of play-by-play game simulations: win probability, odds, edge.

- Trust score: 61/100 (medium)
- Change this week: −1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `negativeev.com`: 61/100 (this document), [markdown](https://verifymcp.io/servers/com-negativeev-bet-checker/negativeev.md), [page](https://verifymcp.io/servers/com-negativeev-bet-checker/negativeev)

## Channel facts

- Endpoint: `https://negativeev.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.4.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 49/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 2 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 788 tokens (~262/item across 3 items; 3 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### Claude

```bash
claude mcp add --transport http com-negativeev-bet-checker https://negativeev.com/mcp
```

### Codex

```toml
[mcp_servers.com-negativeev-bet-checker]
url = "https://negativeev.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-negativeev-bet-checker": {
      "type": "remote",
      "url": "https://negativeev.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-negativeev-bet-checker --url https://negativeev.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-negativeev-bet-checker:
    url: "https://negativeev.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-negativeev-bet-checker": {
      "type": "http",
      "url": "https://negativeev.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 61, 0)

- [functional] Server version: 1.4.1 → 1.4.2

### 2026-08-02 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 60, −2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 62, +1)

- [functional] MCP protocol: Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server
- [functional] Server version: 1.4.0 → 1.4.1
- [cosmetic] “check_bet” reworded the description of “bet”

### 2026-07-29 (score 61, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “check_bet” rewrote its description, which is the text the model reads
- [security] Tool “get_slate” rewrote its description, which is the text the model reads
- [functional] Server version: 1.3.0 → 1.4.0
- [cosmetic] “get_slate” reworded the description of “sport”
- [cosmetic] Tool “get_usage” changed its title: Checks remaining
- [cosmetic] Tool “check_bet” changed its title: Check a bet
- [cosmetic] Tool “get_slate” changed its title: Today's slate

### 2026-07-28 (score 61, −1)

- [functional regression] Schema quality: 143 → 197

### 2026-07-27 (score 62, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 61)

First indexed and scored.

## MCP tools (3)

### `check_bet` (~330 tokens)

Check a bet

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 parameters:

- `bet` (string, required): The bet text, e.g. 'Shohei Ohtani over 1.5 total bases -120'

### `get_slate` (~159 tokens)

Today's slate

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 parameters:

- `sport` (string): One of: MLB, WNBA, PGA, ATP. Omit to get every live sport.

### `get_usage` (~92 tokens)

Checks remaining

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.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-negativeev-bet-checker/negativeev#diagnostics

## Score history

- 2026-08-03: 61
- 2026-08-02: 61
- 2026-08-01: 60
- 2026-07-31: 60
- 2026-07-30: 62
- 2026-07-29: 61
- 2026-07-28: 61
- 2026-07-27: 62
- 2026-07-26: 61

## Links

- Remote endpoint: https://negativeev.com/mcp
- Repository: https://github.com/negative-ev/negativeev-mcp
- Website: https://negativeev.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-negativeev-bet-checker/negativeev/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-negativeev-bet-checker/negativeev/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-negativeev-bet-checker/negativeev
