An MCP server to interact with a the the odds-api API.
Project description
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-odds-api": {
"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/uvxwith the absolute path to theuvxexecutable. Find the path withwhich uvxcommand in a terminal. This ensures that the correct version ofuvxis 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
nvxand notuvxwill fetchmcp-odds-apifrom the default registry https://pypi.org.
Development
Setup
-
Prerequisites:
- Python 3.10 or higher.
- A OddsAPI key (request here).
uvpackage manager (installation).
-
Clone the Repository:
git clone https://github.com/marcoeg/mcp-odds-api
cd mcp-nvd
- Set Environment Variables:
- Create a
.envfile in the project root:
- 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_odds_api-0.1.1.tar.gz.
File metadata
- Download URL: mcp_odds_api-0.1.1.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86aaa9647322a0c037ef91a7a2254b94cff767baacbee1978807ec8e46f6cb4b
|
|
| MD5 |
47457e5efae44298b8e68ee0d4e370b5
|
|
| BLAKE2b-256 |
e7c121303135da84ea5d4335183bdb80869a234b85defbe5aa52640b9e8cc854
|
File details
Details for the file mcp_odds_api-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mcp_odds_api-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75d0a984a2c4d12fc3c322f56721c1bea12119231b8866cece5d3e1daf87cd96
|
|
| MD5 |
ed13c1a22703fea317ed797bbad18b28
|
|
| BLAKE2b-256 |
61701375bb12f6c9bae235cba9c97d4c786dca4c3163fe463c8955443cf25b54
|