Flash Props API + MCP
MCP serverDev toolsflash-props-api connects your AI to sports prop betting data. Once added, it can look up player-prop lines across 14 sports, pull market details, and track how lines move over time, with Call of Duty projections included.
Use Flash Props API + MCP in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Flash Props API + MCP and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use Flash Props API + MCP to list sports
Needs your own API account. Keys stay in your vault.
Details
Available today. Use it from your connected AI after setup.
After adding it, ask your AI for the prop lines on an upcoming game or player to see what data it can pull. Source code is available at github.com/ifan6oy/flash-props-mcp.
What your AI can do with it
- Look up current player-prop lines across 14 sports
- Pull market metadata for individual props
- Track how prop lines move over time
- Fetch Call of Duty projections
Install Flash Props API + MCP
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user flash-props-api-mcp 'https://api.flashodds.live/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://api.flashodds.live/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=flash-props-api-mcp&config=eyJ1cmwiOiJodHRwczovL2FwaS5mbGFzaG9kZHMubGl2ZS9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://api.flashodds.live/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add flash-props-api-mcp --url 'https://api.flashodds.live/mcp'Run it once, then sign in with codex mcp login flash-props-api-mcp if the server asks for an account.
From the project's README
As published by ifan6oy/flash-props-mcp in README.md.
Flash Props API is a player-props API and MCP server by Flash AI Solutions for posted lines, Flash projections, evidence, context, and line movement across sports and esports.
This repository is the public connector and metadata surface for the hosted Flash Props API and MCP service. There is no proprietary Flash Props backend server to install from this repository. Point your client at the hosted endpoint and authenticate with a Flash Props API key for board data.
Canonical Flash Props links
- Website: https://api.flashodds.live/
- Documentation: https://api.flashodds.live/docs
- OpenAPI: https://api.flashodds.live/openapi.json
- Public contract: https://api.flashodds.live/contract.json
- MCP endpoint: https://api.flashodds.live/mcp
- Free API key: https://api.flashodds.live/billing/free
- Publisher: https://www.flashaisolutions.org
Connect
Streamable HTTP endpoint:
https://api.flashodds.live/mcp
Send your API key in the Authorization header:
Authorization: Bearer <your_api_key>
Anonymous access works for capability discovery (list_sports, get_market_metadata) so a client can inspect current coverage on first run. Retrieving board data requires at least a free key. Get one at https://api.flashodds.live/billing/free.
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"flash-props": {
"type": "streamable-http",
"url": "https://api.flashodds.live/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Tools
The access ladder below is generated from the hosted contract. Do not edit it by hand.
| Tool | Access |
|---|---|
list_sports | Anonymous capability discovery |
get_market_metadata | Anonymous capability discovery |
list_games | Anonymous preview (first 5); Free+ for the full slate |
get_game_props | Free+ |
scan_props | Anonymous preview (first 5 rows); Free+; rows capped per tier (Free 15 rows, Builder 100, Pro 3,000, Enterprise 5,000) |
find_game | Free+ |
find_player_props | Free+ |
get_player_context | Free/Builder basic; Pro full |
get_prop_evidence | Free teaser; Builder basic; Pro full |
get_prop_history | Builder limited (latest 25 points); Pro full |
scan_movers | Builder limited (top 25 movers); Pro full |
get_leaders | Free top 3; Builder top 10; Pro top 100 |
What each tool returns:
list_sports: every sport with live status, data freshness, and projection/context capabilityget_market_metadata: market labels, families, scope, and whether a market is modeledlist_games: games with props for a sportget_game_props: all player props for one gamescan_props: market-wide prop scan across the slatefind_game: resolve team names to an event idfind_player_props: every active prop for one playerget_player_context: season baselines, recent form, and deeper contextget_prop_evidence: book line, Flash line, gap, form, confidence, splits, movementget_prop_history: chronological line and odds history for a propscan_movers: biggest line movers in a windowget_leaders: ranked boards for gap, form, and sample strength
REST and MCP share the same entitlement shaping, so a key sees the same product tier regardless of transport.
Provider-driven coverage
Do not hard-code a list of sports with Flash projections. Coverage is resolved from the server's registered model providers and can vary by sport + market.
Use list_sports (or GET /api/v1/sports) to inspect projectionCapability, effectiveProjection, and contextCapability, then use get_market_metadata to determine whether a specific market is modeled. A partially modeled sport can legitimately expose Flash projections for one stat while keeping another stat posted-lines-only.
Missing analysis is reported explicitly. Flash Props does not fabricate a projection to fill an unsupported market.
Reading projections and board snapshots
- Check
basison every projection.current_seasonis built from this season.prior_seasonis a prior-season baseline and must never be presented as current form;basisNoteandseasonIdexplain which season it came from. - Use
snapshotIdto tell whether numbers describe the same board. EqualsnapshotIdvalues on sports, games, and props responses mean counts and rows came from the same logical board. Amixedconsistency value means the response is partial, so do not compare its counts against rows from another snapshot.
Tiers
Generated from the hosted contract. Do not edit by hand.
- Free: $0, 300 requests/day, 10 requests/minute, 15-row scans, evidence teaser, context basic, history none, movement none, top 3 leaders
- Builder (internal id
starter): $19/mo, 25,000 requests/day, 120 requests/minute, 100-row scans, evidence basic, context basic, history limited, movement limited, top 10 leaders - Pro: $49/mo, 150,000 requests/day, 600 requests/minute, 3,000-row scans, evidence full, context full, history full, movement full, top 100 leaders
- Enterprise: custom limits
See current pricing and the REST reference at https://api.flashodds.live/.
Contract
Tier limits, entitlements, and the MCP tool ladder in this README are generated, not written by hand. The hosted API publishes a keyless, machine-readable contract, and this repository vendors a copy at contract/flash-props-contract.json.
Machine sources, in order of authority:
GET https://api.flashodds.live/contract.json: tiers, quotas, entitlements, MCP tools and access, sports vocabulary, projection and snapshot rules. Static per API release.GET https://api.flashodds.live/api/v1/sports(requires a Free key) or the anonymous MCPlist_sportstool: runtime state. Which sports are modeled, live, or fresh right now lives here, never in the contract or this README.
Maintainers:
node scripts/contract.mjs sync # regenerate README blocks and server.json version
node scripts/contract.mjs check # offline drift gate (runs on every push and PR)
node scripts/contract.mjs check --live # also compare the vendored copy to the hosted contract
node scripts/contract.mjs links # check every https link in this README
CI fails when the generated blocks are stale, when prose quotes a quota or price the contract does not contain, when a retired tier name appears, when a frozen list of modeled sports appears, when server.json disagrees with the contract version or MCP endpoint, or when the README and contract disagree about which tools exist. A daily scheduled job also compares the vendored contract against the hosted one, so drift is caught even when this repository does not change.
Disclaimer
Data is informational only. Flash Props is not a sportsbook and is not affiliated with any league, team, player, sportsbook, or DFS operator.
Links
- API + pricing: https://api.flashodds.live/
- REST reference: https://api.flashodds.live/docs
- Public contract: https://api.flashodds.live/contract.json
- Built by Flash AI Solutions
Tools it offers (12)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
list_sportsget_market_metadatalist_gamesget_game_propsscan_propsfind_gamefind_player_propsget_player_contextget_prop_evidenceget_prop_historyscan_moversget_leaders
Signals
- Last commit
- Sep 2026
Advanced
- Delivery
- flash-props-api MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-ifan6oy-flash-props-api- Source
- github.com/ifan6oy/flash-props-mcp
- Hosted endpoint
https://api.flashodds.live/mcp
github.com/ifan6oy/flash-props-mcp