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.
Metadata
Release files for mcp-odds-api 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_odds_api-0.1.1.tar.gz | 15.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_odds_api-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.2 kB
Release files / mcp_odds_api-0.1.1.tar.gz
| Download URL | mcp_odds_api-0.1.1.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86aaa9647322a0c037ef91a7a2254b94cff767baacbee1978807ec8e46f6cb4b
|
|
BLAKE2b-256 checksum How to use checksums |
e7c121303135da84ea5d4335183bdb80869a234b85defbe5aa52640b9e8cc854
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / mcp_odds_api-0.1.1-py3-none-any.whl
| Download URL | mcp_odds_api-0.1.1-py3-none-any.whl |
|---|---|
| Size | 15.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
75d0a984a2c4d12fc3c322f56721c1bea12119231b8866cece5d3e1daf87cd96
|
|
BLAKE2b-256 checksum How to use checksums |
61701375bb12f6c9bae235cba9c97d4c786dca4c3163fe463c8955443cf25b54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Security for mcp-odds-api 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.