Claude-NWS Protocol Bridge
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Claude-NWS Protocol Bridgewhat's the 3-day forecast for Chicago?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Context Weather
A Model Context Protocol (MCP) server that integrates the US National Weather Service API with Claude Desktop, providing real-time weather data and forecasts directly within your Claude conversations.
Features
Real-time weather conditions and forecasts
Location-based weather queries using coordinates or place names
Seamless integration with Claude Desktop via MCP
Live data from the official US National Weather Service API
Detailed weather metrics including temperature, humidity, wind, and precipitation
Related MCP server: Weather MCP Server
Prerequisites
Claude Desktop App
Python (v3.12 or higher)
uv package manager
Internet connection for API access
Installation
Clone this repository:
git clone https://github.com/yourusername/claude-nws-protocol-bridge.git cd claude-nws-protocol-bridgeInstall dependencies:
uv syncConfigure the MCP server in your Claude Desktop settings:
{ "mcpServers": { "nws-weather": { "command": "uv", "args": ["run", "python", "weather.py"] } } }
Usage
Once configured, you can ask Claude weather-related questions such as:
"What's the current weather in San Francisco?"
"Give me a 7-day forecast for New York City"
"What's the temperature and humidity right now?"
"Is it going to rain today in Seattle?"
API Reference
The bridge provides the following MCP tools:
get-current-weather
Retrieves current weather conditions for a specified location.
Parameters:
location(string): City name, coordinates, or ZIP code
get-weather-forecast
Gets weather forecast data for a specified location.
Parameters:
location(string): City name, coordinates, or ZIP codedays(number, optional): Number of forecast days (default: 7)
Available Tools
2 toolsget_alertsA
Getting weather alerts for a US State.
Args:
state: two-letter us state code (e.g CA, NY)
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. Description implies a read operation but does not disclose any behavioral traits like rate limits, authorization requirements, or side effects. Adequate for a simple query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with no wasted words. The description is front-loaded with the purpose, followed by parameter details in a clear list format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description provides sufficient context. It could mention that it returns alerts or is read-only, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0% description coverage, but the description adds meaning to the state parameter: 'two-letter us state code (e.g CA, NY)', which compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Getting weather alerts for a US State', which is a clear verb+resource combination. It distinguishes from sibling tool get_forecast by focusing on alerts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description indicates when to use: for weather alerts of a US state. It does not explicitly state when not to use or mention alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_forecastC
Getting weather forecast for a location.
Args:
latitude: latitude of the location
longitude: longitude of the location
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | ||
| longitude | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the basic action without revealing traits like data freshness, units, rate limits, or whether the operation is read-only. The agent cannot infer important constraints or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two short sentences, avoiding fluff. However, the structure is a simple paragraph without front-loading the most critical details. It is efficient but could be better organized to highlight key information first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description omits essential details such as the forecast timeframe, units, and response format. The absence of output schema increases the need for description completeness, which is not met. The agent is left guessing what data will be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal value beyond the schema's property titles. It restates 'latitude of the location' and 'longitude of the location', which are already obvious from the parameter names. No ranges, formats, or semantics are provided, leaving the agent underinformed despite 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a weather forecast for a location using latitude/longitude. The verb is explicit and the resource is defined. However, it does not explicitly differentiate from sibling tool 'get_alerts', though the context implies they serve different data types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., get_alerts). There are no explicit usage contexts, prerequisites, or exclusions, leaving the agent without direction on selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
get_alerts - First observed
get_forecast
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: get_alerts retrieves weather alerts for a US state, while get_forecast provides weather forecasts for a specific geographic location. There is no overlap in functionality or ambiguity between them.
Both tools follow a consistent verb_noun naming pattern (get_alerts and get_forecast), using the same verb 'get' followed by a descriptive noun. This makes the tool set predictable and easy to understand.
With only two tools, the server feels thin for a weather service domain. While the tools cover alerts and forecasts, there are likely missing operations such as current conditions, radar data, or historical data that would make the set more complete for typical weather-related tasks.
For a weather service, the tool set is significantly incomplete. It lacks core functionalities like getting current weather conditions, radar or satellite imagery, historical data, or air quality information. This limited coverage will likely cause agent failures when trying to perform comprehensive weather-related tasks.
Maintenance
Related MCP Connectors
Provide real-time and forecast weather information for locations in the United States using natura…
US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.
US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.
Get US weather forecasts, active alerts, and current observations.
Related MCP Servers
- FlicenseDqualityDmaintenanceProvides real-time weather forecasts and alerts by fetching data from the National Weather Service API, allowing Claude to answer weather-related questions with up-to-date information.2-
- FlicenseNot gradedqualityDmaintenanceConnects Claude Desktop to the Open-Meteo API to retrieve real-time weather data for cities worldwide without requiring an API key.-
- AlicenseNot gradedqualityCmaintenanceEnables Claude Desktop to query real-time weather information, forecasts, and history via the OpenWeatherMap API.5 npm98MIT
- FlicenseNot gradedqualityDmaintenanceEnables real-time weather queries via Claude Desktop using OpenWeatherMap API, providing current conditions and 24-hour forecasts for any city.15 npm-