mcp-odds-api

by marcoeg

3 stars
366 downloads
Not rated
GitHub

About

mcp-odds-api is a minimalist Model Context Protocol (MCP) server that provides tools to interact with the OddsAPI. It is designed for developers who want to retrieve sports betting odds and events within an MCP-compatible client (e.g., Claude Desktop). The server uses…

Details

Author
marcoeg
GitHub stars
3
Downloads
366
Categories
Developer Tools

- Uses environment variables to limit queries to selected regions and a single sport
- Supports both SSE and STDIO transports
- Provides get_events tool for in-play and forthcoming events
- Provides get_odds tool for odds across all forthcoming events
- Provides get_event_odds tool for odds on a specific event

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name mcp-odds-api
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Configure the server by adding a JSON entry to the Claude Desktop config file (claude_desktop_config.json), providing the ODDS_API_KEY, ODDS_API_REGIONS, and ODDS_API_SPORT environment variables. Alternatively, run a standalone SSE server with uvx --env-file /path/to/.env mcp-odds-api --transport sse --port 9090. The server exposes three tools: get_events, get_odds, and get_event_odds.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp-odds-api": {
            "mcp-odds-api": {
                "command": "uvx",
                "args": [
                    "--env-file",
                    "/path/to/.env",
                    "mcp-odds-api",
                    "--transport",
                    "sse",
                    "--port",
                    "9090"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-odds-api": {
        "command": "uvx",
        "args": [
            "--env-file",
            "/path/to/.env",
            "mcp-odds-api",
            "--transport",
            "sse",
            "--port",
            "9090"
        ]
    }
}

mcp-odds-api

A mimimalist Model Context Protocol MCP server to interact with the OddsAPI.

Features

- Uses environmental variables to limit the queries to some regions and a single sport.

>It supports both SSE and STDIO transports.

Tools

The server implements the following tools to interact with the OddsAPI:

- get_events:
- Get in-play and forthcoming events (matches).

- get_odds:
- Get odds for all forthcoming events (matches) for selected betting markets.
- get_event_odds:
- Get odds for a specific event (match) for selected betting markets.

Configuration

1. Create _or edit the Claude Desktop configuration file located at:
- On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- On Windows: %APPDATA%/Claude/claude_desktop_config.json

2. Add the following:

{
  "mcpServers": {
    "mcp-bauplan": {
      "command": "/path/to/uvx",
      "args": ["mcp-odds-api"],
      "env": {
        "ODDS_API_KEY": "<your-api-odds-key>",
        "ODDS_API_REGIONS": "<region1>", "<region2>",
        "ODDS_API_SPORT": "<selected-sport-key>",
      }
    }
  }
}
3. Replace /path/to/uvx with the absolute path to the uvx executable. Find the path with which uvx command in a terminal. This ensures that the correct version of uvx is used when starting the server.

4. Restart Claude Desktop to apply the changes.

Run the stand-alone SSE server

Create a .env file from .env.example and then execute the following command:
$ uvx --env-file /path/to/.env mcp-odds-api --transport sse --port 9090
>Note the use of nvx and not uvx will fetch mcp-bauplan from the default registry https://pypi.org.

Development

Setup

1. Prerequisites:
- Python 3.10 or higher.
- A OddsAPI key (request here).
- uv package manager (installation).

2. Clone the Repository:

git clone https://github.com/marcoeg/mcp-odds-api
cd mcp-nvd

3. Set Environment Variables:
- Create a .env file in the project root:

    ODDS_API_KEY="<your-api-odds-key>"
ODDS_API_REGIONS="<region1>", "<region2>"
ODDS_API_SPORT="<selected-sport-key>"

4. Install Dependencies:

uv sync
uv pip install -e .

Start the server with SSE transport

$ uv run mcp-odds-api --transport sse --port 9090
python-dotenv could not parse statement starting at line 2
2025-04-30 19:35:34 - dotenv.main - WARNING - python-dotenv could not parse statement starting at line 2
INFO:     Started server process [68314]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:9090 (Press CTRL+C to quit)

Run the Inspector:

$ CLIENT_PORT=8077 TARGET_PORT=9090 \
npx @modelcontextprotocol/inspector run

Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:8077 🚀

Then open the browser to the URL indicated by the MCP Inspector. Select SSE Transport Type.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.