Weather API MCP
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., "@Weather API MCPWhat's the weather in New York?"
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.
🌦️ Weather API MCP
A zero-configuration Model Context Protocol (MCP) weather server for Claude and other MCP clients. It provides current conditions and forecasts using the free Open-Meteo APIs—no weather API key required.
Features
Current weather for locations worldwide
Forecasts for 1–7 days
Celsius or Fahrenheit temperatures
No weather API key required
Python implementation using the MCP Python SDK
Related MCP server: Simple Weather MCP
Requirements
Python 3.10+
Install and run
uv sync
uv run weather-mcpThe server uses stdio transport for MCP clients. To install it into the active Python environment instead, run pip install -e . and then weather-mcp.
Configure Claude Desktop
After installing the project with uv sync, add the following to your Claude Desktop MCP configuration, replacing /absolute/path/to/WEATHER_API_MCP with this repository's directory:
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/WEATHER_API_MCP",
"run",
"weather-mcp"
]
}
}
}Tools
get_weather
Parameters: location (string), unit (celsius or fahrenheit, optional; defaults to Celsius).
Returns the resolved location, temperature, apparent temperature, weather condition, humidity, wind speed, and pressure.
get_forecast
Parameters: location (string), days (integer from 1 to 7, optional; defaults to 5), and unit (celsius or fahrenheit, optional; defaults to Celsius).
Returns daily high and low temperatures, conditions, and precipitation probabilities.
Data source
Location lookup and weather data are provided by Open-Meteo. Internet access is required; no account or API key is needed.
Available Tools
2 toolsget_forecastC
Get a daily weather forecast for 1–7 days for a location.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| unit | No | celsius | |
| location | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden; it only adds the 1–7 day constraint and 'Get' implies a read operation. It does not state whether calls are read-only, what happens outside the range, location format expectations, or any service/auth limits, leaving meaningful behavioral gaps.
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 a single front-loaded sentence with no filler, and it efficiently states the operation, horizon, and target. There is no structural ambiguity or unnecessary wording.
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?
An output schema exists, so return values need not be described. However, with no annotations and no parameter descriptions in the schema, the definition leaves unit semantics, range enforcement, and sibling differentiation unexplained, which is sparse for correct tool selection and use.
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?
Schema description coverage is 0%, so the description must explain the three parameters itself. It gives a range for days and mentions location, but never addresses the unit parameter, valid unit values, or location formatting, so it only partially compensates.
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 names a specific verb and resource: 'Get a daily weather forecast' with a 1–7 day scope and a required location, so the operation is understandable. It does not distinguish this from the sibling get_weather or explain how forecast differs from weather, so it is not a 5.
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?
The description gives no explicit when-to-use guidance and does not mention get_weather as the alternative for current conditions. The 1–7 day wording implies a forecast horizon, but it does not say when this tool should be selected over the sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weatherB
Get current weather for a place. Wind speed is returned in km/h.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | celsius | |
| location | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It usefully discloses a formatting convention (wind speed in km/h), which is real behavioral detail, but it says nothing about whether the call is read-only, whether results are cached, or what caveats apply to location resolution. Since an output schema exists, the absence of return-value detail is acceptable.
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?
Two short sentences with no filler, and the core purpose is front-loaded before the unit detail. Nothing could be removed without losing information.
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?
With an output schema present, return values need not be explained, and the km/h note is a helpful extra. However, for a two-parameter tool with zero schema coverage and no annotations, leaving both the location format and the unit parameter's allowed values unaddressed is a real gap.
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?
Schema description coverage is 0%, so neither parameter is documented in the schema and the description must compensate. It clarifies only that wind speed is in km/h; it never explains what format 'location' accepts or what values 'unit' accepts and whether it applies to temperature, wind, or both. The unit param (default celsius) is effectively undocumented.
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 states a specific verb+resource ("Get current weather for a place"), and the word "current" implicitly separates it from the get_forecast sibling. It stops short of naming get_forecast, so the differentiation relies on inference rather than an explicit contrast.
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?
The word "current" implies the right context (now, not a future outlook), which is the only usage guidance present. There is no explicit statement of when to prefer this over get_forecast, and no prerequisites or exclusions are described.
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_forecast - First observed
get_weather
TDQS
Scored across 2 tools
get_weather and get_forecast have clearly distinct purposes: current conditions versus daily forecast. An agent can easily choose the correct tool based on whether it needs present weather or a multi-day outlook.
Both tools follow a consistent get_<noun> pattern. The naming is predictable and directly reflects the returned data.
Two tools are thin for a weather API surface, though they cover the most common current-weather and forecast use cases. Additional tools for hourly forecasts, alerts, or location lookup would make the set feel more complete.
The core weather workflow—current conditions and 1–7 day forecasts—is covered without dead ends. Minor gaps remain around hourly forecasts, severe weather alerts, and location resolution/geocoding.
Maintenance
Related MCP Connectors
MCP server for weather with reasoning — umbrella advice, outdoor checks, city comparisons.
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
An MCP server for weather information by @kulybaba
An MCP server for weather information by @kulybaba
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides real-time weather data, hourly forecasts, and daily summaries using the free Open-Meteo API with no API key required. It enables users to search for weather conditions by specific coordinates or city names across multiple measurement units.2MIT
- AlicenseNot gradedqualityDmaintenanceA cross-platform MCP server that provides weather forecasts by coordinates, location name, or IP address without requiring API keys. It leverages Open Meteo and OpenStreetMap to deliver fast, single-query weather lookups.MIT
- AlicenseNot gradedqualityDmaintenanceA MCP server for querying real-time weather information for any city worldwide using the free Open-Meteo API, supporting CLI and integration with AI clients like Claude and Cursor.45 npmMIT
- AlicenseNot gradedqualityCmaintenanceA no-API-key-required MCP server that wraps Open-Meteo APIs to provide geocoding and weather forecast data, enabling city lookups and multi-day forecasts through tools, resources, and prompts.MIT