Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Analyst-grade US severe weather: warnings, SPC outlooks, RAP environment, MRMS, GLM lightning
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"shearline": {
"command": "uvx",
"args": [
"shearline"
]
}
}
}Run this in your terminal
claude mcp add shearline -- uvx shearlinePaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"shearline": {
"command": "uvx",
"args": [
"shearline"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"shearline": {
"type": "stdio",
"command": "uvx",
"args": [
"shearline"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account lostnumber07, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.1.0) reached the registry 5 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, sync. labs
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
| Tool | What it returns |
|---|---|
get_active_warnings(lat, lon, radius_km=40) | Active tornado/severe-thunderstorm/flash-flood warning polygons with IBW tags (max hail size, max gust, tornado detection/damage threat), parsed storm motion, expirations, and whether the exact point is inside a polygon. Watches listed separately. |
get_spc_outlook(lat, lon, day=1) | SPC categorical risk (TSTM→HIGH) at the point plus tornado/hail/wind probabilities and significant-severe flags, days 1–3, with interpretation calibrated to the category. |
get_point_environment(lat, lon) | Latest RAP 13-km analysis profile computed with MetPy: MLCAPE/MUCAPE/CINs, LCL, 0–1/0–6 km shear, 0–1/0–3 km SRH, Bunkers motion, effective inflow layer, effective SRH/shear, SCP, and significant-tornado parameter — interpreted like an analyst (pulse vs. cool-season high-shear vs. classic supercell parameter space). |
get_environment_trend(lat, lon) | The anticipatory view: a short RAP forecast series (f00/f01/f03/f06, one consistent cycle) of MLCAPE, 0–6 km shear, 0–1 km SRH, SCP and STP, with an interpretation of the trajectory (intensifying / stabilizing / steady) — for "is this getting worse" rather than "what is it now." |
get_mrms_severe(lat, lon, radius_km=40) | MRMS maxima within radius: 60-min MESH (hail, inches and mm), low-level and mid-level rotation tracks (azimuthal shear), VIL, composite reflectivity — each with valid time and distance/bearing of the max. |
get_storm_reports(lat, lon, radius_km=80, hours=6) | Normalized Local Storm Reports: type, magnitude with units, time, location, distance/bearing, remarks. |
get_lightning(lat, lon, radius_km=40, minutes=15) | GOES-East GLM total-lightning activity in the recent window: flash count and rate, nearest strike (distance/bearing/time), and a tiered outdoor-safety interpretation (overhead / within-striking-distance / in-the-area). |
get_historical_storm_reports(lat, lon, date, radius_km=80) | What hail/wind/tornado hit a point on a specific past date (YYYY-MM-DD, UTC) — normalized reports with magnitude+units and distance/bearing, for the insurance / ag / forensic use case. Coverage from ~2005; preliminary LSRs, not the final NCEI record. |
get_threat_brief(lat, lon) | The showpiece: runs everything above concurrently and synthesizes a threat level (none/marginal/elevated/significant/extreme) with stated logic, hazards ranked, environment summary, nearest storm signature, and a recommended attention window. |
get_radar_snapshot(lat, lon) | Nearest WSR-88D's latest Level 2 volume metadata: VCP (scan strategy), max reflectivity with range/azimuth, coarse echo-top estimate. |
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.
Real output from 2026-06-10, point inside an active tornado warning in northern Missouri:
{
"threat_level": "extreme", "threat_logic": [ "Tornado Warning in effect at the point, corroborated by confirmed tornado reports nearby — treat as an immediate life-safety situation.", "Severe Thunderstorm Warning at the point tagged 'Considerable' (hail to 1.75\", gusts to 60 mph).", "Significant-tornado parameter of 4.0 with storms ongoing — environment strongly supports tornadic supercells.", "MRMS MESH of 2.3\" hail within radius in the last hour.", "Intense rotation track (azimuthal shear 0.013 /s) nearby in the last hour.", "6 tornado report(s) near the point in the report window." ], "hazards_ranked": [ {"hazard": "tornado", "level": "extreme"}, {"hazard": "hail", "level": "extreme"}, {"hazard": "damaging_wind", "level": "extreme"}, {"hazard": "flash_flood", "level": "moderate"} ], "nearest_storm_signature": { "signature": "composite reflectivity", "value": "58.5 dBZ", "distance_km": 18.0, "direction": "ENE", "valid_utc": "2026-06-10T22:14Z" }, "attention_window": {"window": "now", "until_utc": "2026-06-10T21:00:00-05:00"} }
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.
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 mcp add shearline -- uvx shearline
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": { "shearline": { "command": "uvx", "args": ["shearline"] } } }
Streamable HTTP (for remote/agent-platform use):
uvx shearline --http --port 8741
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:
| Env var | Default | Effect |
|---|---|---|
SHEARLINE_RATE_RPM | 60 | sustained requests/minute/client (0 disables the limit) |
SHEARLINE_RATE_BURST | 30 | token-bucket capacity (max burst) |
SHEARLINE_HTTP_LOG | 1 | set 0 to silence per-request logging |
SHEARLINE_LOG_LEVEL | INFO | log level for the shearline.http logger |
SHEARLINE_UPSTREAM_CONCURRENCY | 8 | max concurrent upstream fetches (politeness toward NOAA) |
To run the latest unreleased main instead of the PyPI release, swap shearline for --from git+https://github.com/lostnumber07/shearline shearline.
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:
DESTRUCTIVE with 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.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.
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:
Only the beginning is shown; read the rest in the repo