racing-alpha-mcp
by qtexuk
README.md
# Racing Alpha MCP server
[](https://glama.ai/mcp/servers/qtexuk/racing-alpha-mcp)
**GB & Irish horse racing signals for AI agents** — the official
[Model Context Protocol](https://modelcontextprotocol.io) server from
[Racing Alpha](https://racingalpha.co.uk).
Remote server (Streamable HTTP, no install):
```
https://racingalpha.co.uk/api/mcp
```
Listed on the official MCP Registry as
[`uk.co.racingalpha/signals`](https://registry.modelcontextprotocol.io/v0/servers?search=racingalpha).
## Connect
Claude Code:
```bash
claude mcp add --transport http racing-alpha https://racingalpha.co.uk/api/mcp
```
Generic MCP client config:
```json
{
"mcpServers": {
"racing-alpha": {
"type": "http",
"url": "https://racingalpha.co.uk/api/mcp"
}
}
}
```
Works keyless (50 requests/day per IP). A free key raises that to
1,000/day — get one at
[racingalpha.co.uk/developers](https://racingalpha.co.uk/developers)
and pass it as `Authorization: Bearer ra_live_…`.
Stdio-only client? Use the bundled zero-dependency bridge:
```bash
npx github:qtexuk/racing-alpha-mcp
# or with a key:
RACING_ALPHA_API_KEY=ra_live_… npx github:qtexuk/racing-alpha-mcp
```
Or via Docker:
```bash
docker build -t racing-alpha-mcp . && docker run -i racing-alpha-mcp
```
## Tools
| Tool | What it returns |
|---|---|
| `get_today_races` | Today's GB & IRE races with Racing Alpha's published model picks (advised prices database-frozen at publication) |
| `get_race_signals` | Per-runner AI scores (0–100), de-overrounded fair prices, value vs fair, plus the race's draw-bias verdict |
| `get_tips_ledger` | The public tips ledger — every pick frozen at publication with result, level-stakes P/L, and closing-line-value summary. Losses included; that is the point. |
| `get_draw_bias` | 3-year draw-bias aggregates (IV / A–E / PRB) by course, surface, and distance band |
| `get_combo_stats` | Trainer×jockey strike rates over settled races |
## What this is (and isn't)
Everything served is a **Racing Alpha computation** — model scores,
de-overrounded consensus prices, statistical aggregates, and our own
published tips record. It is **not** a raw racecards/odds/ratings feed.
The differentiator: every prediction Racing Alpha publishes is
database-frozen at publication with a public audit table. Agents can
verify the full track record — including losing runs — before trusting
a single signal, via `get_tips_ledger` or
[racingalpha.co.uk/performance](https://racingalpha.co.uk/performance).
## Fair use
- Attribution required on the free tier: "Signals by Racing Alpha"
linked to racingalpha.co.uk.
- Not for betting operators or sportsbooks.
- Don't present the signals as guaranteed winners — the public ledger
exists precisely so nobody has to take our word for anything.
- 18+ audiences · [BeGambleAware.org](https://www.begambleaware.org)
REST equivalent + OpenAPI spec:
[racingalpha.co.uk/developers](https://racingalpha.co.uk/developers)
TDQS
A4/5.0
Scored across 5 tools
Disambiguation5/5
Each tool targets a distinct question: race lists, per-race signals, tips ledger, draw bias stats, and trainer-jockey combos. There is no functional overlap, making selection unambiguous.
Naming Consistency5/5
All tools follow the same get_<object> pattern (e.g., get_today_races, get_race_signals). The naming is predictable and consistent.
Tool Count5/5
Five tools is a well-scoped size for a horse racing tips-and-stats server. Each tool fills a clear role without redundancy or bloat.
Completeness4/5
The core workflow is covered: browse today's races, drill into signals, check historical tips, and consult statistical context. Minor gaps exist like historical racecards or non-today races, but they don't undermine the primary purpose.
Maintenance
ActivitySlowing
ResponsivenessNo issues