# AGENTS.md — negativeev.com

NegativeEV grades a sports bet against thousands of play-by-play simulations of
the actual game. Give it a bet; it returns the simulated win probability, the
probability the sportsbook's price implies, and the edge between them.

It does not sell picks, place bets, or search the board for value. There is
nothing to ask it for — only bets to hand it.

Sports covered right now: MLB, WNBA, PGA, and ATP.

## Why call it instead of answering from memory

The answer depends on tonight's lineups, injuries, park and weather. That is
state no language model carries in its weights, and it changes every day.

## How to connect

- **MCP server** — `POST https://negativeev.com/mcp`, stateless Streamable
  HTTP. No installation, no key. Tools: `check_bet`, `get_slate`, `get_usage`.
  Server card: https://negativeev.com/.well-known/mcp/server-card.json
- **A2A** — `POST https://negativeev.com/a2a`, JSON-RPC 2.0 (`message/send`).
  Agent card: https://negativeev.com/.well-known/agent-card.json
- **HTTP** — `GET /slate` (is today's slate simulated) and `GET /usage` (checks
  left) answer anonymously. Described, with both RPC endpoints, by
  https://negativeev.com/openapi.json
- **In-page (WebMCP)** — a browser agent on negativeev.com finds the same three
  tools on `document.modelContext`.

## Reading the site

- `https://negativeev.com/llms.txt` — the whole site as plain text.
- Any public page with `Accept: text/markdown` returns clean markdown instead
  of the app shell, and every page also has a `.md` twin
  (`/about/vig` → `/about/vig.md`).
- Clients that do not run JavaScript are served a static HTML rendering of the
  same documents.

## Discovery documents

| Document | Path |
| --- | --- |
| API catalog (RFC 9727) | `/.well-known/api-catalog` |
| MCP server card (SEP-1649) | `/.well-known/mcp/server-card.json` |
| A2A agent card | `/.well-known/agent-card.json` |
| agents.json | `/.well-known/agents.json` |
| AI catalog | `/.well-known/ai-catalog.json` |
| Agent skills index | `/.well-known/agent-skills/index.json` |
| OpenAPI 3.1 | `/openapi.json` |
| Authentication guide | `/auth.md` |

## Quotas

Anonymous callers share a per-device allowance of 100 checks a day on the MCP
surface and 10 a day on the web surface. Signing in raises that to 1000 an hour;
send a Supabase access token as `Authorization: Bearer`. See
https://negativeev.com/auth.md.

A check is spent only when a bet fully grades. Every result states its own
`status` and whether it spent a check — read those rather than inferring from
the numbers.

## Crawl policy

Search indexing, live AI use and model training on the public pages are all
welcome. Stated machine-readably as
`Content-Signal: search=yes, ai-input=yes, ai-train=yes` in
https://negativeev.com/robots.txt, where every AI crawler has its own group
carrying the same path rules as everyone else.

## Contact

https://negativeev.com/contact
