
SHEARLINE
io.github.lostnumber07由 GitHub 账号 lostnumber07 发布v1.1.0更新于 Oct 24, 2026
Analyst-grade US severe weather: warnings, SPC outlooks, RAP environment, MRMS, GLM lightning
概览
本地 MCP 服务器,为助手提供分析师级美国强对流天气数据:预警、SPC 展望、RAP 环境、MRMS 雷达、闪电与风暴报告。
- 可以做什么
- 获取龙卷、强雷暴和山洪预警多边形,含影响等级标签、风暴移动和点是否在多边形内的判断,以及监视和 SPC 第 1–3 天风险类别与概率。用 MetPy 计算 RAP 点位环境(CAPE、切变、SRH、SCP、STP),并给出短期预报趋势,判断条件在增强还是稳定。读取 MRMS 雷达反演的冰雹、旋转、VIL 和反射率极值,以及 GOES 闪电计数与距离分级。查询某点某日期的实时和历史本地风暴报告,并获取最近 NEXRAD 体扫元数据。生成综合威胁简报,并发运行全部数据源并说明其排序逻辑。
- 适用场景
- 适合助手回答美国某地点的强对流天气问题:该点是否在预警内、冰雹有多大、环境是否支持龙卷,或某地址过去某天发生了什么(保险、取证用途)。也适用于追风日简报和户外活动雷电监测。
- 运行要求
- 通过 uvx 从 PyPI 包 shearline 以 stdio 本地运行,需要 Python 3.12+ 和 uv。无需 API 密钥或账户,所有数据源均为公开匿名。需要访问 NOAA、SPC、IEM 和 AWS Open Data 的网络。仅覆盖美国本土。另有可选 HTTP 模式,通过环境变量配置限流和日志。
安装
在 SourceWeft 中
- 打开 控制台中的 SHEARLINE,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
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.
来源:README.md,提交 65c3a19
工具
0版本历史
1- v1.1.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分