pinnacle odds api / mcp / claude / cursor
The Pinnacle odds API, one MCP server away
ASKbiggest tennis drops, last 10 minutes
8 tools, live pricesREADY
The feed ships a remote MCP server, so an AI assistant can query Pinnacle odds with your existing API key: one server URL added to Claude, Cursor, VS Code or Codex, and you can ask in plain language for live boards, totals or the latest drops. Every answer reads live prices, never a cache. The free key is enough to try it: 20 requests a minute and 100 a day, figures checked 2026-10-27.
Create a free keyOne URL, your existing key
The server speaks streamable HTTP, stays stateless and answers POST calls only. There is nothing to run on your machine: the client of your choice opens the connection and the same API key you use for REST unlocks the tools. The server is also listed in the official MCP registry, so registry-aware clients can find it by name.
Calls count against the same plan limits as any API request and show up in your account panel like any other request, so a session of questions is just a polling loop with better manners.
# Claude Code: add the server
# once, then /mcp lists its
# eight tools. The MCP URL
# comes from the docs in your
# account.
export ODDS_API_KEY="your key"
export ODDS_MCP_URL="https://.../mcp"
H="Authorization: Bearer $ODDS_API_KEY"
claude mcp add --transport http \
odds "$ODDS_MCP_URL" \
--header "$H"
Select the code to copy it.
CONFIGmcpServers.odds
type: httpSAVED
Claude Desktop, Cursor, VS Code and Codex
Claude Desktop takes the same JSON under Settings, Developer, Edit Config. Cursor reads it from ~/.cursor/mcp.json or a project-level .cursor/mcp.json. VS Code keeps it in .vscode/mcp.json under servers instead of mcpServers, with a password input holding the key. Codex reads ~/.codex/config.toml and takes the server URL plus a bearer_token_env_var naming your environment variable.
On claude.ai there is an OAuth route instead: add a custom connector with the server URL, approve once on the provider page with your key, and the connector holds a short-lived token that refreshes itself. Your key never leaves the provider, and removing the connector revokes access. Team rule of thumb: keep the key in an environment variable, not in a committed file.
{
"mcpServers": {
"odds": {
"type": "http",
"url": "https://.../mcp",
"headers": {
"Authorization":
"Bearer ${ODDS_API_KEY}"
}
}
}
}
Select the code to copy it.
LISTtools/list
2 free, 6 metered8 TOOLS
The eight tools, and what each one costs
Six of the tools cost one request each against your plan, exactly like a REST call; two are free. The list below is from the feed's documentation, checked 2026-10-27.
list_sportsreturns the sport IDs and names. Free.get_eventslists live or prematch events for one sport, filtered by team or league words. One request.get_event_oddsreturns moneyline, spreads, totals and team totals for one event. One request.get_prematch_lineslists every alternate line of one prematch market. One request.get_odds_dropsreturns recent sharp drops, filtered by sport, market, size and age. One request.get_feed_statusreports feed health and freshness. One request.get_account_usageshows your plan, limits, expiry and today's usage. One request.- A documentation search tool answers "how do I" questions from the reference. Free.
Responses are trimmed so they do not flood the assistant's context. When the server answers rate_limited it also stops calling upstream until the window resets, so a runaway loop cannot burn the day.
What people ask first
Short answers before you connect an assistant to live prices.
- Does the MCP server need a paid plan?
No. The free key works; its 100 requests a day are the practical limit for a long analysis session, and
get_account_usagetells you where you stand.- Does my API key go to the AI company?
With the OAuth connector the key never leaves the provider: you approve once and the client holds a refreshing token. With a Bearer header the key goes only to the feed's own server, exactly like any direct API call.
- Can the assistant stream drops over MCP?
No. The SSE and WebSocket streams are not exposed over MCP. For pushed drops, run the Python stream reader or the raw WebSocket feed next to the assistant.
- Can it place bets?
No. The tools read boards, prices, drops, status and quota. Nothing here places a bet or moves money.
NEXTask your first question
Five minutes from a key to an answer
Create the free key, add one server URL to your client and ask what is live. When 100 calls a day stop being enough, the pricing page shows what each plan lifts.