About mcp-odds-api
mcp-odds-api is an MCP server for querying OddsAPI sports events and betting odds. It supports region and sport filters through environment variables and offers SSE and STDIO transports.
Key features
- 01Retrieve in-play and upcoming events
- 02Get odds across selected markets
- 03Fetch odds for a specific event
- 04Limit queries by region and sport
- 05SSE and STDIO transports
Use cases
- 01Check live and upcoming matches
- 02Review odds for selected markets
- 03Retrieve odds for a particular match
MCP support
Exposes OddsAPI event and odds queries as MCP tools: `get_events`, `get_odds`, and `get_event_odds`. Supports SSE and STDIO transports.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-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/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-bauplanfrom 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.