Skip to main content
Glama
Weather API MCP

Weather API MCP

by anslemdavid

🌦️ 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+

  • uv

Install and run

uv sync
uv run weather-mcp

The 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 tools
get_forecastC

Get a daily weather forecast for 1–7 days for a location.

NameRequiredDescriptionDefault
daysNo
unitNocelsius
locationYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

NameRequiredDescriptionDefault
unitNocelsius
locationYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

  1. 2 tool updatesv1.0.0
    • First observedget_forecast
    • First observedget_weather

TDQS

B3.4/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency5/5

Both tools follow a consistent get_<noun> pattern. The naming is predictable and directly reflects the returned data.

Tool Count3/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessOutdated data

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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