Skip to main content
Glama

Weather MCP Server

A Python Model Context Protocol server that gives an AI current weather and forecasts. It geocodes locations and reads forecast data from Open-Meteo, then optionally uses Groq to explain the result naturally.

Requirements

  • Python 3.11 or newer

  • A Groq API key for AI-generated summaries

  • Internet access for Open-Meteo and Groq requests

Related MCP server: Weather MCP Server

Setup

PowerShell:

py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
Copy-Item .env.example .env

Open .env and set GROQ_API_KEY. The server still works without the key, but it returns structured JSON instead of an AI summary.

Run

Browser UI

Start the user-facing weather chat:

python -m weather_mcp_server.web

Then open http://127.0.0.1:8000. Ask questions such as “Will it rain in London tomorrow?” The browser sends the question to the web adapter, which invokes the same get_weather tool exposed by the MCP server.

Run the server directly:

python -m weather_mcp_server.server

MCP clients can use the checked-in .vscode/mcp.json configuration. In VS Code, open this folder as the workspace, install the Python extension if prompted, and start the weather-mcp-server MCP server from the MCP controls.

The server exposes one tool:

  • get_weather(location, forecast_days=3): returns current conditions and 1-7 days of forecast data.

Test

python -m pytest

The tests mock Open-Meteo, so they do not require network access or a Groq key.

Available Tools

1 tool
get_weatherA

Get current conditions and a weather forecast for a place.

Args: location: A city, region, or country name, such as "London" or "Tokyo". forecast_days: Number of forecast days to return, from 1 through 7.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYes
forecast_daysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not mention that the operation is read-only, nor does it describe potential side effects, output format, or error behavior. This lack of detail means an agent cannot anticipate the tool's full impact.

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 concise, consisting of two sentences that directly convey the purpose and parameter constraints without unnecessary detail or repetition. It is well-structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential context for making a request (what the tool does, what inputs it accepts). It does not specify the output format or any response details, but given that no output schema is defined and the tool is a simple retrieval, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only types and titles, but the description adds meaningful semantics: location is a city, region, or country with examples, and forecast_days is an integer between 1 and 7. This fully clarifies both parameters' intended usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('get') and clearly identifies the resource ('current conditions and a weather forecast for a place'). It also provides examples for the location parameter, removing ambiguity about what kind of place is accepted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete guidance on parameter values (forecast_days range 1-7, location format) and implicitly indicates the tool is for retrieving weather data. However, it does not explicitly state when to use it versus alternatives, though no sibling tools are listed.

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. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedget_weather

TDQS

A4.3/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap.

Naming Consistency5/5

The tool name 'get_weather' follows a clear verb_noun pattern, which is consistent and intuitive.

Tool Count5/5

A single tool is appropriate for a focused weather server that provides current conditions and forecasts.

Completeness4/5

The tool covers current weather and forecasts, but lacks additional weather-related features like alerts or historical data, which are not essential for a minimal server.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather information and forecasts, connecting AI assistants with live weather data for current conditions and multi-day forecasts for any location worldwide.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to fetch current weather conditions and forecasts for any city using the Open-Meteo API. Provides temperature, precipitation, and hourly forecast data through natural language queries.
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to retrieve current weather, forecasts, and summaries for any global location using the Open-Meteo API, with no API key required.
    13
    Creative Commons Zero v1.0 Universal
  • F
    license
    D
    quality
    C
    maintenance
    Provides real-time weather information, enabling AI assistants to retrieve current temperature and weather conditions for any location worldwide.
    1
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandeep-kumar-db/mcp-server-app-v1'

If you have feedback or need assistance with the MCP directory API, please join our Discord server