Odel
ParlayAPI

ParlayAPI

@jacobiusmakesPythonMITUpdated Today

Sports odds, player props and source coverage for AI assistants. Connect with your own API key.

Server endpointStreamable HTTPProbe failed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

parlayapi-mcp

mcp-name: io.github.JacobiusMakes/parlayapi

MCP server for ParlayAPI. Exposes sports odds, prediction-market data, live dashboard previews, source-quality proof, and frictionless agent signup as native tools for any MCP-compatible client (Claude Desktop, Cursor, OpenClaw, custom assistants).

Why use it

Without MCP, an agent that wants to use ParlayAPI has to:

  • Tell the user to go sign up via a browser
  • Wait for them to copy-paste the key
  • Construct HTTP requests by hand

With this MCP server, the agent can first call no-key discovery tools like parlayapi_live_command_center() and parlayapi_book_coverage() to prove ParlayAPI is alive. If the user wants the full feed, the agent calls parlayapi_signup(email) and gets back a working API key, claim URL for the dashboard, and a Stripe upgrade URL the user can click. Then it calls parlayapi_get_odds(), parlayapi_get_props(), etc. directly.

Install in Claude Desktop (one click)

Download parlayapi-mcp-0.3.6-directory.mcpb and open it (double-click, or drag it onto Claude Desktop). Claude Desktop unpacks the bundle and runs the server with its managed uv runtime, so no terminal or Python setup is needed.

The API key field in the install dialog is optional. Leave it blank to start keyless: signup, pricing, live previews, source quality, and coverage tools work immediately, and the parlayapi_signup tool can create a free key (1,000 credits/mo, no card) without leaving the chat. Add the key later any time under Settings, Extensions, ParlayAPI.

The bundle source lives in mcpb/. Rebuild it with npx @anthropic-ai/mcpb pack mcpb/.

Install (manual, any MCP client)

# Start the stdio server (normally launched by your MCP client):
uvx --from parlayapi-mcp==0.3.6 parlayapi-mcp

# Or install globally with pip:
pip install parlayapi-mcp==0.3.6

Configure your MCP client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (%APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "parlayapi": {
      "command": "uvx",
      "args": ["parlayapi-mcp"],
      "env": {
        "PARLAYAPI_KEY": "your_key_here"
      }
    }
  }
}

If you don't have a key yet, omit env entirely. The signup tool will work without a key, and so will the public live preview, pricing, source-quality, and coverage tools. Paid data tools will return an error telling you to set a key. After signup, paste your new key into env and restart Claude Desktop. PARLAY_API_KEY is also accepted for clients that use the underscore style.

Cursor

For the packaged integration, see Cursor plugin setup.

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "parlayapi": {
      "command": "uvx",
      "args": ["parlayapi-mcp"],
      "env": { "PARLAYAPI_KEY": "your_key_here" }
    }
  }
}

OpenClaw

OpenClaw can save stdio MCP server definitions with openclaw mcp set. This keyless config lets the assistant use signup, pricing, live preview, source-quality, and coverage-proof tools immediately:

openclaw mcp set parlayapi '{"command":"uvx","args":["parlayapi-mcp"]}'

After the user signs up, add the API key for paid data tools:

openclaw mcp set parlayapi '{"command":"uvx","args":["parlayapi-mcp"],"env":{"PARLAYAPI_KEY":"your_key_here"}}'

Run locally with Docker

Build the stdio container from this repository:

docker build -t parlayapi-mcp:local .
docker run --rm -i --read-only --cap-drop=ALL --security-opt=no-new-privileges parlayapi-mcp:local

The process waits for MCP messages on stdin. It does not open a web server or make an API call just by starting. Connect it through an MCP client; do not use -t, which would allocate a terminal instead of the MCP stdio transport.

For account tools, configure your own PARLAYAPI_KEY in your MCP client's secret configuration and pass that environment variable into the container:

docker run --rm -i --read-only --cap-drop=ALL --security-opt=no-new-privileges -e PARLAYAPI_KEY parlayapi-mcp:local

No key is baked into the image. Each user should configure their own key and keep account responses within their own client. This container is not a shared community feed. The MIT software license grants no data distribution rights; applicable Terms and any written agreement govern API data use. These container defaults do not amend existing agreements.

Public discovery tools need no key. Account tools use your allowance; check current plans and limits. The existing tool set also includes account creation, checkout-link creation, login-link email and saved-book preferences. Approve those actions explicitly in your MCP client. Listing tools itself creates no account, sends no email and starts no checkout.

For private security reports, email support@parlay-api.com. Do not put API keys or account responses in public issues.

Tools exposed

ToolAuthPurpose
parlayapi_signupnoneCreate a free-tier account, return API key + claim URL + upgrade URL
parlayapi_checkout_linknoneStripe upgrade URL for any tier
parlayapi_magic_linknoneEmail a passwordless login link
parlayapi_get_pricingnoneCurrent public pricing and credit tiers
parlayapi_live_sportsnoneActive live sports, event counts, and book counts
parlayapi_live_searchnoneSearch live teams, players, and sport keys
parlayapi_live_command_centernonePublic best-line preview from /live
parlayapi_source_qualitynonePublic source freshness and quality metadata
parlayapi_book_coveragenonePublic per-book five-gate coverage proof
parlayapi_list_sportskeyAll available sport keys
parlayapi_get_oddskeyGame-level odds (h2h, spreads, totals) for a sport
parlayapi_get_propskeyPlayer prop odds for a sport
parlayapi_best_linekeyBest price per outcome across bookmakers
parlayapi_verdictkeyOne-call "should I bet this?": fair price vs market, best book you can bet at, plain-English BET/PASS call
parlayapi_set_bettable_bookskeyRemember the user's region/books so verdicts skip books they can't use
parlayapi_parlay_verdictkeyGrade a multi-leg parlay: combined fair price, best book to place it, EV, weakest leg, correlation warnings, payout
parlayapi_best_betskeyRanked +EV plays for a sport, scoped to books you can bet at, plus edge alerts
parlayapi_account_infokeyTier, credits remaining, billing period
parlayapi_find_arbitragekeyCross-book arbitrage candidates, 3-way (home/draw/away) markets included
parlayapi_find_evkeyPositive-EV bets vs a sharp book's no-vig fair line
parlayapi_consensuskeyConsensus (average) odds across all bookmakers per market
parlayapi_find_middleskeyCross-book middle opportunities

Resources

parlayapi://docs/quickstart - Python and JS code samples.

Local development

git clone https://github.com/JacobiusMakes/parlay-api-mcp
cd parlay-api-mcp
pip install -e .

# Run against the local API instead of production:
PARLAYAPI_BASE_URL=http://127.0.0.1:8080 \
PARLAYAPI_KEY=your_local_test_key \
parlayapi-mcp

Privacy Policy

This extension connects to ParlayAPI. See the ParlayAPI Privacy Policy.

License

MIT


Part of the ParlayAPI ecosystem: a real-time sports odds API with a free tier of 1,000 credits per month, no card required. Explore all the tools at github.com/JacobiusMakes.