# Show HN: Lumify – sports intelligence API for agents (try without signup)

> Source: <https://lumify.ai/docs/ai>
> Published: 2026-08-29 18:12:29+00:00

# AI-assisted development

Use Cursor, Claude, Copilot, or any coding agent to build on Lumify — with MCP tools, machine-readable docs, and copy-paste prompts that prevent hallucinated endpoints.

Overview

Lumify is built for agents. You can connect in two ways:

**MCP tools**— the agent calls schedules, odds, splits, and intelligence directly (no wrapper code).** REST + SDKs**— the agent reads llms.txt / OpenAPI and writes correct client code.

| Resource | URL | Measured size | Use when |
|---|---|---|---|
| MCP server |
|

[/docs/cheat-sheet](/docs/cheat-sheet)[/docs/player-props](/docs/player-props)[/docs/forecasts](/docs/forecasts)[/docs/sports-coverage](/docs/sports-coverage)[/SKILL.md](/SKILL.md)*(measured)*[/llms.txt](/llms.txt)*(measured)*[/llms-full.txt](/llms-full.txt)*(measured)*[/docs/llms-full.txt](/docs/llms-full.txt)*(measured)*[/openapi-llms.txt](/openapi-llms.txt)*(measured)*[/docs/openapi](/docs/openapi)·[.md](/docs/openapi.md)[/openapi.json](/openapi.json)*(measured)*[/.well-known/agent.json](/.well-known/agent.json)[/docs/agent-cookbook.md](/docs/agent-cookbook.md)[/changelog](/changelog)·[JSON](/changelog.json)Token budgets are **measured** (UTF-8 bytes ÷ 4), not estimated. Re-measure after regenerating llms-full.txt or OpenAPI.

One-click install

Install the hosted MCP server directly, then replace the placeholder API key:

Claude Code (CLI)

```
claude mcp add --transport http lumify https://lumify.ai/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"
```

Cursor (remote HTTP)

```
{
  "mcpServers": {
    "lumify": {
      "url": "https://lumify.ai/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
```

Cursor / Claude Desktop (stdio via npm)

Use the published bridge when the client only speaks local stdio:

```
npx -y @lumifyai/mcp
{
  "mcpServers": {
    "lumify": {
      "command": "npx",
      "args": ["-y", "@lumifyai/mcp"],
      "env": { "LUMIFY_API_KEY": "YOUR_API_KEY" }
    }
  }
}
```

VS Code / Copilot

```
{
  "servers": {
    "lumify": {
      "type": "http",
      "url": "https://lumify.ai/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
```

CLI one-liner: code --add-mcp '{"name":"lumify","type":"http","url":"https://lumify.ai/mcp","headers":{"Authorization":"Bearer YOUR_API_KEY"}}'

**Web connectors:** ChatGPT and Claude.ai browser connectors need OAuth, which Lumify does not implement yet. Use Cursor, Claude Desktop, VS Code, or any Bearer-header MCP client.

Give your agent context

Paste this into CLAUDE.md, .cursorrules, or a project rule file. It is the API's essence compressed for agents (~2.5k tokens of guidance + links to measured artifacts):

```
You are integrating with Lumify (also: Lumify AI, lumify.ai) —
the agent-ready sports intelligence API at https://lumify.ai.
NOT affiliated with LUMIFY eye drops, Philips Lumify ultrasound,
lumifyai.com, or the archived lumifyio/lumify project.

## Read these first (measured token budgets)
- https://lumify.ai/SKILL.md              (~1.4k tokens) — Agent Skills-format self-onboarding
- https://lumify.ai/llms.txt              (~5.4k tokens) — overview + pricing + limitations
- https://lumify.ai/docs/cheat-sheet      — base URL, auth, credits, hero query, errors
- https://lumify.ai/docs/player-props     — NFL/NCAAF/NBA/NCAAB/NHL/MLB player-prop market catalog
- https://lumify.ai/llms-full.txt         (~11.7k tokens) — GEO orientation (FAQ, coverage)
- https://lumify.ai/docs/llms-full.txt    (~81k tokens) — full technical docs + dump
- https://lumify.ai/openapi-llms.txt      (~6.3k tokens) — endpoint dump alone
- https://lumify.ai/openapi.json         (~64.7k tokens) — exact schemas
- https://lumify.ai/docs/agent-cookbook.md — copy-paste recipes
- https://lumify.ai/changelog.json       — date-stamped changes

## Auth
Authorization: Bearer lmfy-...
Instant trial key (no signup): https://lumify.ai/docs/ai
Never invent an API key. If you cannot access URLs, ask the user to paste
the relevant resource instead of guessing.

## MCP (preferred when available)
URL: https://lumify.ai/mcp  (Streamable HTTP, JSON mode, stateless)
23 tools: list_sports, list_seasons, list_events, get_event,
batch_get_events, query_events, get_live_score, get_odds,
get_odds_history, get_stats, get_player_props, get_team_props, get_period_odds, get_splits, get_intelligence, list_ev, list_forecasts,
list_teams, get_team, search_players, get_player,
get_player_events, estimate_cost.
initialize / tools/list / ping are free; tools/call metered like REST.
_meta.credits_used reports the charge. Prefer MCP tools over hand-rolled REST.

## Billing rule (two budgets)
- Data plane: schedules, scores, odds, splits, stats — typically 1 credit.
- Intelligence plane: /intelligence — 1 credit when available.
- One request = 1 credit. include_odds / include_intelligence on GET /v1/events/{id}
  do not add extra.
- Errors and available:false responses are NEVER charged.
- Always estimate first with POST /v1/estimate or MCP estimate_cost (free).

## Boundary litmus
- /stats and raw odds = deterministic data. No scoring, no tiers.
- /intelligence = predictive judgment (probability / fair_price / Price overlay / main-line ev).

## Hero endpoints
GET  /v1/events?sport=mlb&status=scheduled
GET  /v1/events/{id}?include_odds=true&include_intelligence=true
GET  /v1/events/{id}/odds?bookmaker=all
GET  /v1/events/{id}/splits
GET  /v1/events/{id}/intelligence
POST /v1/estimate
POST /v1/trial-key   (human Turnstile-gated; prefer /docs/ai button)

## Coverage (keep in sync with llms.txt)
Intelligence live: MLB, NFL, NCAAF, tennis, soccer (MLS + big-five).
Forecasts: MLB, NFL, NCAAF, NBA, NCAAB, NHL — https://lumify.ai/docs/forecasts
UCL and other clubs: available: false.
Splits: MLB, NBA, NHL, NFL.
Books: pinnacle (default), fanduel, draftkings, betmgm, caesars,
bet365, circa, hardrock, betonline.
Player props: NFL/NCAAF/NBA/NCAAB/NHL/MLB on GET /v1/events/{id}/player-props (MCP get_player_props).
Catalog: https://lumify.ai/docs/player-props
GET /odds stays moneyline/spread/totals. Futures not on v1.
Alternate spread/total rungs via include_alts=true. Final /odds includes result.
Odds cadence ~10 min.

## Model behavior
- Do not guess or invent endpoints, fields, sport IDs, or credit costs.
- Help the user choose filters (sport, status, date, has_recommend).
- When data is unavailable, explain available:false rather than retrying forever.
- Gate volume, not capability existence — streaming/webhooks are self-serve.
```

In Cursor, you can also add https://lumify.ai/llms.txt as a docs/@ reference.

Starter prompts

Try these after MCP is connected (or with the context block above):

Live slate + intelligence

```
Using Lumify MCP, list today's MLB games that are scheduled or live.
For the top 3 by start time, pull get_intelligence and summarize
probability, fair_price, and any main-line ev (Beta).
```

Main-line EV scan (Beta)

```
Using Lumify MCP list_ev, scan MLB for pregame moneyline +EV
opportunities (min_ev 1). Rank by ev_pct. For the top row, call
get_intelligence on that event_id and quote fair / ev as Beta
display packaging of the price gap. Try market=spreads or
market=totals for the same scan on other main lines.
```

Splits vs public

```
Find NFL games this week where betting splits show a clear ticket%
vs handle% divergence. Use list_events then get_splits. Rank by
the largest handle/ticket gap and explain what it implies.
```

Line movement watcher

```
For a given event_id, call get_odds and get_odds_history.
Show opening vs current moneyline/spread/total across supported
books (Pinnacle, FanDuel, DraftKings, BetMGM, Caesars, Bet365,
Circa, Hard Rock, BetOnline), and flag any reverse line moves.
```

Scaffold a small agent

```
Read https://lumify.ai/openapi.json and scaffold a TypeScript
script that: (1) lists today's MLB events, (2) fetches intelligence
for each, (3) prints bets[] probability / fair_price when available
is true. Do not filter has_recommend — it stays false until Edge.
Use @lumifyai/sdk if helpful. Do not invent fields.
```

SDKs

When you want typed REST clients instead of (or alongside) MCP:

```
npm install @lumifyai/sdk
pip install lumify-sdk
```

Docs: [@lumifyai/sdk](https://www.npmjs.com/package/@lumifyai/sdk) · [lumify-sdk](https://pypi.org/project/lumify-sdk/) · MCP bridge [@lumifyai/mcp](https://www.npmjs.com/package/@lumifyai/mcp)

Next steps
