Skip to main content

MCP server exposing Baseline's statistically rigorous weather and climate context as agent tools.

Project description

baseline-mcp

MCP server exposing Baseline as agent tools — statistically rigorous weather and climate context, not just current conditions. Thin translation layer only: no climate logic lives here, every tool call is an HTTP request to the Baseline API. See baseline_mcp_server_plan.md in the Baseline project for the full design, and METHODOLOGY.md for how the underlying data and rankings are computed.

Tools

  • get_climate_context — natural-language weather and climate questions, full context back (forecast + 35-year historical percentile ranking).
  • get_context_for_coordinates — same, for an exact lat/lon rather than a place name.
  • get_water_year_status — precipitation/temperature status since the start of the water year (Oct 1 US / Jan 1 elsewhere), ranked against 35 years.
  • compare_to_normal — how unusual current or forecast conditions are at one location.
  • compare_locations — rank precipitation or temperature across 2-10 locations (or a curated category like colorado_ski_resorts) in a single call.

Installation

Requires a Baseline API key. Self-serve signup isn't available yet — during this early period, contact Chad McNutt (chadmcnutt@gmail.com) for a key.

pip install baseline-mcp
# or: uvx baseline-mcp

Then add it to your MCP client's config, with your API key:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "baseline": {
      "command": "uvx",
      "args": ["baseline-mcp"],
      "env": {
        "BASELINE_API_URL": "https://api.baseline.example",
        "BASELINE_API_KEY": "your-key-here"
      }
    }
  }
}

Claude Code: claude mcp add baseline --env BASELINE_API_URL=https://api.baseline.example --env BASELINE_API_KEY=your-key-here -- uvx baseline-mcp

Cursor (.cursor/mcp.json or global MCP settings): same shape as the Claude Desktop config above, under whatever key Cursor's MCP settings use for server name.

Local development

The venv lives outside this directory (~/.venvs/baseline-mcp) rather than in .venv/ here, because this project sits under iCloud-synced ~/Documents — iCloud evicts/re-materializes files inside large venvs unpredictably, which causes intermittent ModuleNotFoundErrors. Keep it that way.

python3 -m venv ~/.venvs/baseline-mcp
~/.venvs/baseline-mcp/bin/pip install -e .
cp .env.example .env   # fill in BASELINE_API_URL and a free_api-tier BASELINE_API_KEY

Run against a local Baseline instance (python3 app.py in ../baseline), then:

~/.venvs/baseline-mcp/bin/mcp dev src/baseline_mcp/server.py

Status

All 5 tools built and tested against a live local Baseline instance, including tool-selection validation in Claude Desktop. METHODOLOGY.md (trust collateral) complete. See baseline_mcp_server_plan.md in the Baseline project for full task history. Not yet published to PyPI or any MCP registry — packaging is staged but the publish step is intentionally on hold.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

baseline_mcp-0.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

baseline_mcp-0.1.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file baseline_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: baseline_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for baseline_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fd41c34e79d90654ee86e3b74d44c35393c9545b44a35268b8652627243f1bbf
MD5 44f47e1dfcb2115c4e052939a85295c4
BLAKE2b-256 da434e4ce3db77b8d3c8f09167f2612a204c4e3becd939fb6614a4c11261e226

See more details on using hashes here.

File details

Details for the file baseline_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: baseline_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for baseline_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7493824670d04e0c5c7613d08fd1e3419aa25f24cedb1fea46f25e9ed1e16f60
MD5 36f7175bd71703df21a2c13061dd0ae4
BLAKE2b-256 cf0a931f14a0cf9ea22d21e757bf49969472d787210484ef545f58a0983f6010

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page