Wagyu Sports MCP Server
A Model Context Protocol (MCP) server for sports betting data, providing access to The Odds API through Claude and other MCP-compatible AI assistants.
graph LR
Claude([Claude]) --> MCP[Wagyu Sports MCP]
MCP --> API[The Odds API]
API --> MCP --> Claude
style Claude fill:#f8f8f8,stroke:#666,stroke-width:1px,color:#000
style MCP fill:#34A853,stroke:#1E8E3E,stroke-width:2px,color:#fff
style API fill:#F5F5F5,stroke:#999,stroke-width:1px,color:#000
Quick Setup
-
Clone the repository:
# Clone the repository git clone https://github.com/your-username/wagyu_mcp_hackathon.git cd wagyu_mcp_hackathon -
Install the package:
# Using pip (recommended) pip install -e . # Or using uv (alternative) uv install -e . -
Add to your MCP configuration:
For Cline, add to
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:{ "mcpServers": { "wagyu-sports": { "command": "python", "args": ["/absolute/path/to/wagyu_mcp_hackathon/wagyu_sports/mcp_server/test_server.py", "--test-mode"], "env": { "ODDS_API_KEY": "your_api_key_here" }, "disabled": false, "autoApprove": [] } } }For Claude Desktop, add to
~/Library/Application Support/Claude/claude_desktop_config.json:{ "mcpServers": { "wagyu-sports": { "command": "python", "args": ["/absolute/path/to/wagyu_mcp_hackathon/wagyu_sports/mcp_server/test_server.py", "--test-mode"], "env": { "ODDS_API_KEY": "your_api_key_here" }, "disabled": false, "autoApprove": [] } } }IMPORTANT: Replace
/absolute/path/to/wagyu_mcp_hackathonwith the actual full path to your repository. For example:/Users/john/Documents/hackathon/wagyu_mcp_hackathon. -
Get an API key from The Odds API and replace
your_api_key_herein the configuration. -
Restart your MCP client (Cline or Claude Desktop).
Available Tools
The MCP server provides the following tools:
get_sports: Get a list of available sportsget_odds: Get odds for a specific sportget_quota_info: Get API quota information
Test Mode vs. Real Mode
Test Mode (Recommended for Getting Started)
Test mode uses mock data instead of making real API calls. This is useful for:
- Development and testing without API rate limits
- Demos and presentations
- Learning how to use the MCP server
To use test mode:
- Set
--test-modein your MCP configuration (as shown in the Quick Setup) - No API key is required
- The server will return consistent mock data for all requests
Example configuration for test mode:
"args": ["/absolute/path/to/wagyu_mcp_hackathon/wagyu_sports/mcp_server/test_server.py", "--test-mode"]
Real Mode
Real mode makes actual API calls to The Odds API. This is necessary for:
- Getting real-time sports betting data
- Production applications
- Accurate odds information
To use real mode:
- Remove the
--test-modeflag from your MCP configuration - Provide a valid API key from The Odds API
- Be aware of API rate limits (typically 500 requests per month for free tier)
Example configuration for real mode:
"args": ["/absolute/path/to/wagyu_mcp_hackathon/wagyu_sports/mcp_server/test_server.py"],
"env": {
"ODDS_API_KEY": "your_actual_api_key_here"
}
You can also run the server directly with:
python /path/to/wagyu_mcp_hackathon/wagyu_sports/mcp_server/test_server.py --api-key=your_api_key_here
Development
For development and testing:
# Clone the repository
git clone https://github.com/your-username/wagyu_mcp_hackathon.git
cd wagyu_mcp_hackathon
# Install in development mode
pip install -e .
# Run tests
python -m pytest wagyu_sports/tests
# Run the server directly (test mode)
python wagyu_sports/mcp_server/test_server.py --test-mode
# Run the server directly (real mode)
python wagyu_sports/mcp_server/test_server.py --api-key=your_api_key_here
Note: This repository includes a post-commit Git hook that automatically cleans up Python cache files (
__pycache__,.pyc,.pyo,.pyd) and.pytest_cachedirectories after each commit.
Project Structure
wagyu_sports/mcp_server/- MCP server implementationwagyu_sports/tests/- Test fileswagyu_sports/examples/- Example scripts
For More Information
See the wagyu_sports/README.md file for details on using the Python client directly.