MLB Stats MCP Server
@etweisberg
MCP server for advanced baseball analytics (statcast, fangraphs, baseball reference, mlb stats API)
概要
What is MLB Stats MCP Server?
A Python project that implements a Model Context Protocol (MCP) server for accessing Major League Baseball statistics. It combines the MLB Stats API and the pybaseball library (Statcast, FanGraphs, Baseball Reference) to provide structured baseball data to MCP-compatible clients like Claude Desktop.
How to use MLB Stats MCP Server?
Install uv, create a virtual environment (uv venv), activate it, and install dependencies (uv pip install -e .). Set the ANTHROPIC_API_KEY environment variable and optionally configure logging. Then add the server to your MCP client (e.g., Claude Desktop) using the provided JSON configuration.
Key features of MLB Stats MCP Server
- Combines MLB Stats API, Statcast, FanGraphs, and Baseball Reference data.
- Generates matplotlib plots returned as base64-encoded images.
- Configurable logging via environment variables (
MLB_STATS_LOG_LEVEL,MLB_STATS_LOG_FILE). - Comprehensive test suite using pytest and pytest-asyncio.
- Linting and code formatting enforced by Ruff and pre-commit hooks.
- Option to install automatically via Smithery for Claude Desktop.
Use cases of MLB Stats MCP Server
- Query player statistics, game logs, and team data from multiple MLB sources.
- Retrieve Statcast metrics (exit velocity, launch angle, etc.) for advanced analysis.
- Generate and view matplotlib visualizations of baseball data.
- Integrate real-time baseball data into AI assistants using MCP protocol.
FAQ from MLB Stats MCP Server
What dependencies does the server require?
Python, uv (package manager), and libraries including mcp[cli], mlb-statsapi, httpx, pytest, pytest-asyncio, and matplotlib (for plotting).
How do I install the server?
Run uv venv && source .venv/bin/activate && uv pip install -e . in the project directory. Alternatively, install via Smithery with npx -y @smithery/cli install @etweisberg/mlb-mcp --client claude.
How do I configure the server for Claude Desktop?
Add an entry to claude_desktop_config.json with the command set to your uv path, args pointing to python -m mlb_stats_mcp.server, and env for logging and API key.
How do I configure logging?
Set the environment variables MLB_STATS_LOG_LEVEL (e.g., DEBUG, INFO) and MLB_STATS_LOG_FILE (path to log file). If the log file is not set, logs go to stdout.
What data sources are available through the tools?
The server provides tools for the MLB Stats API, Statcast data, and supplemental pybaseball functions for FanGraphs and Baseball Reference statistics.