
SHEARLINE
io.github.lostnumber07Published by GitHub account lostnumber07v1.1.0Updated Oct 24, 2026
Analyst-grade US severe weather: warnings, SPC outlooks, RAP environment, MRMS, GLM lightning
Overview
A local MCP server giving assistants analyst-grade US severe-weather data: warnings, SPC outlooks, RAP environments, MRMS radar, lightning and storm reports.
- What you can do
- Retrieve active tornado, severe-thunderstorm and flash-flood warnings with impact tags, storm motion and point-in-polygon checks, plus watches and SPC outlook risk categories and probabilities for days 1–3. Compute RAP point environments with MetPy (CAPE, shear, SRH, SCP, STP) and short forecast trends showing whether conditions are intensifying or stabilizing. Read MRMS radar-derived hail, rotation, VIL and reflectivity maxima, and GOES lightning counts with distance tiers. Look up real-time and historical local storm reports for a point and date, and fetch nearest NEXRAD volume metadata. Generate a composite threat brief that runs all sources and states its ranking logic.
- When to use it
- Useful when an assistant must answer severe-weather questions for a US location: whether a point is inside a warning, how large hail has been, whether the environment supports tornadoes, or what hit an address on a past date for insurance or forensic work. Also suited to chase-day briefings and outdoor-event lightning monitoring.
- Requirements
- Runs locally over stdio via uvx from the PyPI package shearline; requires Python 3.12+ and uv. No API keys or accounts; all data sources are public and anonymous. Network access to NOAA, SPC, IEM and AWS Open Data is needed. Coverage is continental US only. An optional HTTP mode exists with environment variables for rate limits and logging.
Installation
In SourceWeft
- Open SHEARLINE in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
SHEARLINE
[PyPI] [Python] [CI] [MCP Registry] [License: MIT]
The severe-weather analyst your agent doesn't have. SHEARLINE is a free, MIT-licensed MCP server that gives AI agents analyst-grade US severe-weather tools: live warning polygons with Impact-Based Warning tags, SPC convective outlooks, RAP-derived point environments and forecast trends (CAPE/shear/SRH/STP computed with MetPy), MRMS radar-derived hail and rotation products, GOES lightning, ground-truth storm reports (real-time and historical), and a composite threat brief that synthesizes all of it. A dozen weather MCPs already wrap the basic forecast API; SHEARLINE deliberately skips everything they do and ships only what requires radar meteorology to expose correctly.
Informational only. Not a substitute for official NWS warnings. Every tool repeats this, because it matters: when weather threatens, follow official warnings from weather.gov and local authorities.
Tools
Every tool returns structured JSON with data (numeric fields, units stated), interpretation (plain-language analyst sentences), degraded (which upstream sources failed, if any — partial data instead of errors), the safety disclaimer, and a schema_version — the field contract is semver-stable (see ARCHITECTURE), so integrators can depend on it.
Example: threat brief during a real outbreak
Real output from 2026-06-10, point inside an active tornado warning in northern Missouri:
And the same tool for a quiet coastal Maine point reads as confidently quiet — not as an error: "threat_level": "none" with the environment numbers shown so the agent can see why it's quiet.
Install
Requires Python 3.12+ and uv. No API keys — every data source is public and anonymous. uvx downloads and runs the published package in one step; nothing is installed permanently.
Claude Code:
Claude Desktop (claude_desktop_config.json):
Streamable HTTP (for remote/agent-platform use):
On macOS you can also double-click scripts/launch.command to start the HTTP server in a Terminal window (honours SHEARLINE_PORT).
The HTTP transport is built to be hosted: it emits one structured JSON log line
per tool call (tool, coarse 1° lat/lon bucket, latency, degraded list, cache
hit/miss) and applies a per-client token-bucket rate limit, returning 429 with
Retry-After when exceeded. Both are HTTP-only — stdio behaviour is
unchanged. Configure via environment variables:
To run the latest unreleased main instead of the PyPI release, swap shearline for --from git+https://github.com/lostnumber07/shearline shearline.
Why these tools
A forecast API tells you it might rain. None of the questions that matter on a severe weather day — is this storm rotating, how big is the hail, is the environment loaded for tornadoes, am I inside the polygon — are answerable from a forecast endpoint. They require the warning's IBW tags, radar-derived products, and a real sounding:
- Warnings with IBW tags, not just warning text. A base-tier Severe Thunderstorm Warning and one tagged
DESTRUCTIVEwith 80 mph gusts are different planning problems. SHEARLINE parses the machine-readable tags (max hail size, max gust, tornado detection/damage threat) and the storm-motion vector, and does the point-in-polygon test for you. - The environment, computed honestly. CAPE without shear is a pulse-storm day; shear without CAPE is wind-driven rain. SHEARLINE pulls the current RAP analysis profile and computes the discriminating quantities with MetPy — including the effective inflow layer, effective SRH/shear, SCP, and STP — because high-CAPE/low-shear, low-CAPE/high-shear, and classic supercell parameter spaces produce very different hazards, and the interpretation says which one you're in.
- MRMS, because warnings lag storms. MESH tells you what hail a storm has already produced; rotation tracks show where mesocyclones have tracked in the last hour — both on a ~2-minute cadence from the national radar mosaic, often ahead of the next warning update.
- LSRs, because radar isn't ground truth. Spotter reports confirm what's actually reaching the ground — in real time, or for any past date (the insurance / forensic question, "what hit this address that day").
- Lightning, because it's the most common outdoor-safety trigger. GOES GLM total lightning, distance-tiered to the 30-30 / 10-mile rules — the signal that actually stops a ballgame, a job site, or a drone flight.
- Now and next. The point environment is the analysis now; the forecast trend (f00→f06 from one model cycle) says whether STP/CAPE is rising into the afternoon — the difference between "what is it" and "is it getting worse."
- One brief that reasons across all of it. The threat level is rule-based with the triggered rules quoted back, so an agent can audit the logic instead of trusting a vibe.
Data sources (all public, no keys)
- Warnings: api.weather.gov (NWS)
- Outlooks: Storm Prediction Center public GeoJSON
- Point environment: NOMADS RAP grib filter, derived with MetPy
- MRMS: NOAA MRMS on AWS Open Data
- Storm reports (real-time and historical): Iowa Environmental Mesonet LSR service
- NEXRAD Level 2: Unidata on AWS Open Data
- Lightning: GOES GLM on AWS Open Data (GOES-East GLM-L2-LCFA)
Coverage is continental US only — out-of-bounds coordinates are rejected with a clear error. Upstream fetches are cached (warnings 60 s, MRMS/lightning 120 s, LSRs 300 s, outlooks/RAP 30 min, historical reports 6 h) and degrade gracefully: if one source is down, you get partial data plus a degraded field, never a bare exception. A daily canary workflow checks every upstream's response shape and fails on schema drift (renamed fields, moved buckets) before it reaches you.
Recipes for non-meteorologists
You don't need to know what an STP is to use SHEARLINE. The .claude/skills/
directory ships three end-to-end recipes that name the exact tool sequence for a
domain task — drop them into any agent that has SHEARLINE connected:
- hail-claim-verification — did damaging hail occur at this address on this date? (insurance / forensic)
- chase-day-briefing — outlook → environment → trend → warnings → radar, into a go/no-go with a target window (chase / EM)
- event-day-lightning-watch — poll lightning proximity and issue suspend/shelter/resume calls by the 30-30 / 10-mile rules (venues / outdoor ops)
Architecture
SHEARLINE is a thin, layered async server: per-source fetch/parse modules feed a meteorology derivation layer, which feeds a uniform tool layer. Every tool returns the same {data, interpretation, degraded, disclaimer} envelope, every upstream call is TTL-cached, and one failing source degrades to partial data instead of an exception. See ARCHITECTURE.md for the module map, the request lifecycle of get_threat_brief, the concurrency model, and the upstream quirks each source module encodes.
Development
See ARCHITECTURE.md for how to add a tool or data source.
License
MIT © Backshear LLC. Weather data is produced by NOAA/NWS and other public services; this project is not affiliated with or endorsed by NOAA.
Source: README.md at commit 65c3a19
Tools
0Version history
1- v1.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts