The Odds API

by hrgarber

Not rated
GitHub

About

Provides a bridge to The Odds API for accessing sports betting data including available sports, odds comparisons across bookmakers, and quota tracking in both test and live modes.

Details

Author
hrgarber
Repository
hrgarber/wagyu_mcp_hackathon
License
Other
Categories
Design, Developer Tools, AI, API, Infrastructure, Knowledge Base, Security

- Access to sports betting data endpoints
- Track API usage through response headers
- Support for all API parameters and options

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 The Odds API
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @highlight/mcp-server

    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

```python
from wagyu_sports import OddsClient
import os
from dotenv import load_dotenv

uvx install -e .

uv install wagyu_sports

uvx install pytest pytest-asyncio

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "the odds api": {
            "env": {},
            "args": [
                "-y",
                "@highlight/mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "cmd"
}

Wagyu Sports

A Python client for sports betting data with MCP server integration.

graph LR
    User([Your Code]) --> Client[Wagyu Sports Client] --> API[The Odds API]
    MCP[MCP Server] --> Client
    Client --> MCP
    API --> Client --> User
    
    style User fill:#f8f8f8,stroke:#666,stroke-width:1px,color:#000
    style Client fill:#4285F4,stroke:#2965C9,stroke-width:2px,color:#fff
    style API fill:#F5F5F5,stroke:#999,stroke-width:1px,color:#000
    style MCP fill:#34A853,stroke:#1E8E3E,stroke-width:2px,color:#fff

Directory Structure

The project has been reorganized for better maintainability:
- build/ - Build-related files (pyproject.toml, requirements.txt, setup.py)
- config/ - Configuration files (.env.example, pytest.ini)
- docs/ - Documentation (LICENSE, README.md)
- examples/ - Example scripts
- mcp_server/ - Model Context Protocol (MCP) server implementation
- tests/ - Test files

Installation

# Development installation
uvx install -e .

User installation

uv install wagyu_sports

Set up API key

cp config/.env.example config/.env

Edit .env and add your API key from https://the-odds-api.com/

Quick Start

from wagyu_sports import OddsClient
import os
from dotenv import load_dotenv

Load API key

load_dotenv(dotenv_path="config/.env") api_key = os.getenv("ODDS_API_KEY")

Create client and get sports

client = OddsClient(api_key) sports = client.get_sports() print(f"Available sports: {len(sports['data'])}")

Features

- Access to sports betting data endpoints
- Track API usage through response headers
- Support for all API parameters and options

Examples

See the examples/ directory for usage patterns:
- examples/example.py: Basic usage
- examples/advanced_example.py: Advanced features
- examples/verify_install.py: Verify installation
- examples/fetch_nba_odds.py: Fetch NBA odds example
- examples/verify_import.py: Simple import verification

Testing

The testing suite has been cleaned up and improved for better organization and reliability. Run the tests using pytest:

# Install test dependencies
uvx install pytest pytest-asyncio

Run all tests

uvx run pytest --rootdir=. -c config/pytest.ini

Run specific test file

uvx run pytest tests/test_simple_mcp.py

Or use the Makefile:

make test

The test suite includes:
- API Client Tests: Tests for the core Odds API client functionality
- MCP Server Tests: Tests for the MCP server implementation
- Client-based tests: Test the full MCP protocol implementation
- Direct tests: Simpler tests that directly test server methods

See the tests/README.md file for more details on the testing approach.

For MCP Server Information

See the main README.md file for details on running and configuring the MCP server.

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.