mcp-odds-api
If you are the rightful owner of mcp-odds-api and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A minimalist Model Context Protocol (MCP) server to interact with the OddsAPI.
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
-
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
- On macOS:
-
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>",
}
}
}
}
-
Replace
/path/to/uvx
with the absolute path to theuvx
executable. Find the path withwhich uvx
command in a terminal. This ensures that the correct version ofuvx
is used when starting the server. -
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 notuvx
will fetchmcp-bauplan
from the default registry https://pypi.org.
Development
Setup
-
Prerequisites:
- Python 3.10 or higher.
- A OddsAPI key (request here).
uv
package manager (installation).
-
Clone the Repository:
git clone https://github.com/marcoeg/mcp-odds-api
cd mcp-nvd
- Set Environment Variables:
- Create a
.env
file in the project root:
" ODDS_API_REGIONS=" ", " " ODDS_API_SPORT=" " - Create a
- 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.