Connect your AI

PingOdds has an MCP server, so AI assistants and agents (Claude Code, Claude Desktop, Cursor, VS Code, or your own) can look up odds, line moves and value bets for you. It's included with Starter and Pro, and uses an AI agent key, which you create on the AI agents page.

ChatGPT and claude.ai on the web connect with a "Sign in with PingOdds" step, which is coming soon. Until then, use one of the apps below.

MCP server address

https://mcp.pingodds.com/mcp

Send an AI agent key from your AI agents page as Authorization: Bearer <key>. API keys don't work here.

Claude Code

claude mcp add --transport http pingodds https://mcp.pingodds.com/mcp \
  --header "Authorization: Bearer YOUR_PINGODDS_AGENT_KEY"

Then type /mcp in Claude Code and check PingOdds shows Connected.

Cursor

In ~/.cursor/mcp.json (or .cursor/mcp.json in a project), with your key in the PINGODDS_AGENT_KEY environment variable:

{
  "mcpServers": {
    "pingodds": {
      "url": "https://mcp.pingodds.com/mcp",
      "headers": { "Authorization": "Bearer ${env:PINGODDS_AGENT_KEY}" }
    }
  }
}

VS Code

In .vscode/mcp.json. VS Code asks for the key once and stores it.

{
  "inputs": [
    { "type": "promptString", "id": "pingodds-key", "description": "PingOdds AI agent key", "password": true }
  ],
  "servers": {
    "pingodds": {
      "type": "http",
      "url": "https://mcp.pingodds.com/mcp",
      "headers": { "Authorization": "Bearer ${input:pingodds-key}" }
    }
  }
}

Claude Desktop

In Settings → Developer → Edit Config (claude_desktop_config.json). This runs the small mcp-remote bridge with Node.js; keep the key in env as shown.

{
  "mcpServers": {
    "pingodds": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.pingodds.com/mcp", "--header", "Authorization:${AUTH_HEADER}"],
      "env": { "AUTH_HEADER": "Bearer YOUR_PINGODDS_AGENT_KEY" }
    }
  }
}

Your own agent

Any MCP client that speaks Streamable HTTP works. A quick check with curl:

curl -X POST "https://mcp.pingodds.com/mcp" \
  -H "Authorization: Bearer $PINGODDS_AGENT_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools

All read-only: an agent can look things up but never change your account.

find_games
Find games by team or player name (any spelling the books use) or league. Start here: it gives each game_id.
get_odds
Every book's current prices for one game, with the best price per outcome and which book has it.
get_best_prices
The best price per outcome for every upcoming game of a league.
get_line_movement
Each book's first recorded price against its latest, for one game and market.
get_price_history
Every recorded price change for one game.
get_closing_line
Each book's last price before the game started.
get_consensus
The market's fair price, with the bookmaker margin removed.
get_steam_moves
Sharp, fast price moves across books.
get_value_bets
Prices better than the market's fair price, with the edge.
get_outliers
One book's price far from every other book's.
get_arbitrage
Combinations of books that lock in a profit. Pro only.
list_leagues
The leagues covered and their keys.
list_books
The sportsbooks covered and their keys.

What each plan gets

AI agent calls are counted separately from API requests and reset with your billing cycle. Only tool calls count.

PlanCalls a monthCalls a minuteTools
Free——No AI agent access
Starter2,00010All except arbitrage (12)
Pro25,00060All 13

When an agent is told no

  • "AI agent (MCP) access needs the Starter or Pro plan": the key belongs to a Free account. Upgrade to connect.
  • "This key is not valid": the key is mistyped or was revoked. Create a new one on your AI agents page.
  • "This is an API key; AI agents need an AI agent key": API keys work with the API only. Create an AI agent key and use that.
  • "…used all … AI-agent (MCP) calls … resets on …": the monthly allowance is used up; it comes back on the date given, or upgrade for more.
  • "Too many AI-agent (MCP) calls per minute": the agent is calling too fast; it can retry after the seconds given.
  • "That lookup took too long": ask for less at once (one league, a team, a shorter date range). It counts as a call.
  • "PingOdds is having trouble right now": try again in a minute. This one is not counted.