Weather Data MCP Server
NPM · @DANGAHAGAN/WEATHER-MCP · SCANNED AUG 3
17 weather tools, no API keys: forecasts, alerts, air quality, marine, radar, lightning, wildfires
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security88
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (153 of 154), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (153 of 154), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency71
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Cryptographically verified build provenance (signed, bound to weather-mcp/weather-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 16 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability56
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2586 tokens (~431/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @dangahagan/weather-mcp
claude mcp add dgahagan-weather-mcp -- npx -y @dangahagan/weather-mcp
codex mcp add dgahagan-weather-mcp -- npx -y @dangahagan/weather-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"dgahagan-weather-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@dangahagan/weather-mcp"
],
"enabled": true
}
}
} openclaw mcp add dgahagan-weather-mcp --command npx --arg -y --arg @dangahagan/weather-mcp
mcp_servers:
dgahagan-weather-mcp:
command: "npx"
args: ["-y", "@dangahagan/weather-mcp"] {
"mcpServers": {
"dgahagan-weather-mcp": {
"command": "npx",
"args": [
"-y",
"@dangahagan/weather-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +55
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Provenance: unverified → pass ▲ security
- The attested source repository moved: weather-mcp/weather-mcp security
- Security disclosure: unverified → fail ▼ functional
- Schema quality: unverified → excellent ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Licence: MIT functional
- 1 Aug 26 +3
- Malware scan: unverified → pass ▲ security
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 31 Jul 26 −23
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 35
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/@dangahagan/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- Source repo:
- weather-mcp/weather-mcp
- Certificate issuer:
- https://token.actions.githubusercontent.com
- Certificate SAN:
- https://github.com/weather-mcp/weather-mcp/.github/workflows/publish.yml@refs/tags/v1.13.0
- Rekor log index:
- 2191398713
- Predicate type:
- https://slsa.dev/provenance/v1
- Subject digest:
- sha512:c4a113d1333134639a983a31611ea2c390bd1e5ec744e52122423537cc7f79531b9ff8b612dd6e3666f17d1189ca257604218fcd2c69ff709440d47f7
- Discovery method:
- attestation_endpoint
Dependencies 153 packages
153 packages in the resolved dependency tree · 140 deprecated · 55 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
check_service_status ~55
Check the operational status of the NOAA and Open-Meteo weather APIs. Use this when experiencing errors or to proactively verify service availability before making weather data requests. Returns current status, helpful messages, and links to official status pages.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_alerts ~355
Get active weather alerts, watches, warnings, and advisories for a location (US only). Use this for safety-critical weather information when asked about "any alerts?", "weather warnings?", "is it safe?", "dangerous weather?", or "weather watches?". Returns severity, urgency, certainty, effective/expiration times, and affected areas. Provide the location as coordinates (latitude+longitude), a saved location_name, or a free-text city_name. For forecast data, use get_forecast instead. If this tool returns an error, check the error message for status page links and consider using check_service_status to verify API availability.
| Name | Type | Req | Description |
|---|---|---|---|
| active_only | boolean | — | Whether to show only active alerts (default: true) |
| city_name | string | — | Free-text place name to geocode (e.g., "Paris, France", "Bend, Oregon"). Use instead of coordinates when you only have a place name and it is not a saved location. Include state/country for disambigu… |
| detail | string | — | Output verbosity: "summary" (shortest), "standard" (default, balanced), or "full" (everything the source provides, e.g. full alert descriptions, uncapped hourly forecast, embedded imagery). |
| latitude | number | — | Latitude of the location (-90 to 90). Not required if location_name or city_name is provided. |
| location_name | string | — | Name of a saved location (e.g., "home", "cabin"). Use instead of coordinates to reference a saved location. List them with list_saved_locations. |
| longitude | number | — | Longitude of the location (-180 to 180). Not required if location_name or city_name is provided. |
No output schema declared.
No examples provided.
get_current_conditions ~616
Get the most recent weather observation for a location (global coverage). Use this for current weather or when asking about "today's weather", "right now", or recent conditions without a specific historical date range. Returns NOAA station observations for US locations and Open-Meteo model data for international locations. Optionally includes fire weather indices (Haines Index, Grassland Fire Danger, Red Flag Threat) when requested. Provide the location as coordinates (latitude+longitude), a saved location_name, or a free-text city_name. For specific past dates or date ranges, use get_historical_weather instead. If this tool returns an error, check the error message for status page links and consider using check_service_status to verify API availability.
| Name | Type | Req | Description |
|---|---|---|---|
| city_name | string | — | Free-text place name to geocode (e.g., "Paris, France", "Bend, Oregon"). Use instead of coordinates when you only have a place name and it is not a saved location. Include state/country for disambigu… |
| distance_unit | string | — | Override distance/visibility/elevation unit: "mi" or "km". |
| include_fire_weather | boolean | — | Include fire weather indices (Haines Index, Grassland Fire Danger, Red Flag Threat) in the response (default: false, US only) |
| include_normals | boolean | — | Include climate normals (30-year averages) for comparison with current conditions (default: false). Shows normal high/low temperatures and precipitation, with departure from normal. |
| latitude | number | — | Latitude of the location (-90 to 90). Not required if location_name or city_name is provided. |
| location_name | string | — | Name of a saved location (e.g., "home", "cabin"). Use instead of coordinates to reference a saved location. List them with list_saved_locations. |
| longitude | number | — | Longitude of the location (-180 to 180). Not required if location_name or city_name is provided. |
| precipitation_unit | string | — | Override precipitation unit: "inch" or "mm". |
| pressure_unit | string | — | Override pressure unit: "inHg" or "hPa". |
| source | string | — | Data source: "auto" (default, selects NOAA for US or Open-Meteo for international), "noaa" (US only), or "openmeteo" (global) |
| temperature_unit | string | — | Override temperature unit: "F" or "C". |
| time_format | string | — | Clock format for times: "12h" or "24h". |
| units | string | — | Unit system for output: "imperial" (°F, mph, inHg) or "metric" (°C, km/h, hPa). Defaults to the server setting (imperial unless configured otherwise). Individual *_unit overrides below take precedenc… |
| wind_speed_unit | string | — | Override wind speed unit: "mph", "kmh", "ms", or "kn" (knots). |
No output schema declared.
No examples provided.
get_forecast ~797
Get future weather forecast for a location (global coverage). Use this for upcoming weather predictions (e.g., "tomorrow", "this week", "next 7 days", "hourly forecast"). Returns forecast data including temperature, precipitation, wind, conditions, and sunrise/sunset times. Supports both daily and hourly granularity. Automatically selects best data source: NOAA for US locations (more detailed), Open-Meteo for international locations. For current weather, use get_current_conditions. For past weather, use get_historical_weather. Provide the location in ONE of three ways: coordinates (latitude+longitude), a saved location name (location_name="home"), or a free-text city name (city_name="Paris, France") which is geocoded automatically. If this tool returns an error, check the error message for status page links and consider using check_service_status to verify API availability.
| Name | Type | Req | Description |
|---|---|---|---|
| city_name | string | — | Free-text place name to geocode (e.g., "Paris, France", "Bend, Oregon"). Use instead of coordinates when you only have a place name and it is not a saved location. Include state/country for disambigu… |
| days | number | — | Number of days to include in forecast (1-16 for global, 1-7 for US NOAA, default: 7) |
| detail | string | — | Output verbosity: "summary" (shortest), "standard" (default, balanced), or "full" (everything the source provides, e.g. full alert descriptions, uncapped hourly forecast, embedded imagery). |
| distance_unit | string | — | Override distance/visibility/elevation unit: "mi" or "km". |
| granularity | string | — | Forecast granularity: "daily" for day/night periods or "hourly" for hour-by-hour detail (default: "daily") |
| include_normals | boolean | — | Include climate normals (30-year averages) for comparison with forecasted temperatures (default: false, daily forecasts only). Shows normal high/low and departure from normal for the first forecast d… |
| include_precipitation_probability | boolean | — | Include precipitation probability in the forecast output (default: true) |
| include_severe_weather | boolean | — | Include severe weather probabilities such as thunderstorm chance, wind gust probabilities, and tropical storm/hurricane risks (default: false, US/NOAA only) |
| latitude | number | — | Latitude of the location (-90 to 90). Not required if location_name or city_name is provided. |
| location_name | string | — | Name of a saved location (e.g., "home", "cabin"). Use instead of coordinates to reference a saved location. List them with list_saved_locations. |
| longitude | number | — | Longitude of the location (-180 to 180). Not required if location_name or city_name is provided. |
| precipitation_unit | string | — | Override precipitation unit: "inch" or "mm". |
| pressure_unit | string | — | Override pressure unit: "inHg" or "hPa". |
| source | string | — | Data source: "auto" (default, selects NOAA for US or Open-Meteo for international), "noaa" (US only), or "openmeteo" (global) |
| temperature_unit | string | — | Override temperature unit: "F" or "C". |
| time_format | string | — | Clock format for times: "12h" or "24h". |
| units | string | — | Unit system for output: "imperial" (°F, mph, inHg) or "metric" (°C, km/h, hPa). Defaults to the server setting (imperial unless configured otherwise). Individual *_unit overrides below take precedenc… |
| wind_speed_unit | string | — | Override wind speed unit: "mph", "kmh", "ms", or "kn" (knots). |
No output schema declared.
No examples provided.
get_weather_summary ~598
Get a combined weather overview for a location in a SINGLE call. Best for broad questions like "What's the weather like in Seattle?", "Is it safe to hike today?", or "Give me a weather rundown". Aggregates current conditions, forecast, and active alerts by default, and can also include air quality and lightning. Provide the location as coordinates (latitude+longitude), a saved location_name, or a free-text city_name. For a single specific data product (just the forecast, just alerts, etc.), call that specialized tool directly. Sections that are unavailable for a location (e.g. US-only alerts abroad) are noted rather than failing the whole summary.
| Name | Type | Req | Description |
|---|---|---|---|
| city_name | string | — | Free-text place name to geocode (e.g., "Paris, France", "Bend, Oregon"). Use instead of coordinates when you only have a place name and it is not a saved location. Include state/country for disambigu… |
| days | number | — | Number of forecast days to include when the forecast section is requested (1-16, default: 7) |
| detail | string | — | Output verbosity: "summary" (shortest), "standard" (default, balanced), or "full" (everything the source provides, e.g. full alert descriptions, uncapped hourly forecast, embedded imagery). |
| distance_unit | string | — | Override distance/visibility/elevation unit: "mi" or "km". |
| include | array | — | Which sections to include (default: ["current", "forecast", "alerts"]). Add "air_quality" and/or "lightning" for a fuller picture. |
| latitude | number | — | Latitude of the location (-90 to 90). Not required if location_name or city_name is provided. |
| location_name | string | — | Name of a saved location (e.g., "home", "cabin"). Use instead of coordinates to reference a saved location. List them with list_saved_locations. |
| longitude | number | — | Longitude of the location (-180 to 180). Not required if location_name or city_name is provided. |
| precipitation_unit | string | — | Override precipitation unit: "inch" or "mm". |
| pressure_unit | string | — | Override pressure unit: "inHg" or "hPa". |
| temperature_unit | string | — | Override temperature unit: "F" or "C". |
| time_format | string | — | Clock format for times: "12h" or "24h". |
| units | string | — | Unit system for output: "imperial" (°F, mph, inHg) or "metric" (°C, km/h, hPa). Defaults to the server setting (imperial unless configured otherwise). Individual *_unit overrides below take precedenc… |
| wind_speed_unit | string | — | Override wind speed unit: "mph", "kmh", "ms", or "kn" (knots). |
No output schema declared.
No examples provided.
search_location ~165
Search for locations by name to get coordinates for weather queries. Uses Nominatim (OpenStreetMap) for excellent coverage of cities, towns, villages, and hamlets worldwide. Use this when the user provides a location name instead of coordinates (e.g., "Paris", "New York", "Tokyo", "San Francisco, CA", "Small Village, County"). Returns location matches with coordinates, timezone, elevation, and other metadata. Enables natural language location queries like "What's the weather in Paris?" by converting location names to coordinates.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Maximum number of results to return (1-100, default: 5) |
| query | string | yes | Location name to search for (e.g., "Paris", "New York, NY", "Tokyo") |
No output schema declared.
No examples provided.