Skip to main content
Glama
minidantre-db

Weather MCP Server

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: mcp-weather-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.6/5.0
Behavior4/5

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

The verb 'Get' indicates a read-only operation with no side effects, providing behavioral transparency. However, it does not explicitly state that no modifications occur, but the action verb reasonably implies this. Since no annotations are provided, the description carries the full burden, and it does so adequately.

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, using two clear sentences for the tool purpose and two lines for parameter definitions. There is no redundant or extraneous information, and the structure is straightforward.

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

Completeness5/5

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

For a simple data-retrieval tool, the description is complete. It explains what the tool does, the parameters with their valid ranges, and there are no sibling tools to differentiate. The output schema is present separately, so no explanation of return values is required.

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 description provides meaningful explanations for both parameters. 'location' is defined as a city, region, or country name, and 'forecast_days' is specified as the number of days from 1 through 7. This adds semantic richness beyond the raw schema, which only includes type and title.

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 clearly states the tool's purpose with the verb 'Get' and specifies the resource: current conditions and a weather forecast for a place. The distinction between current conditions and forecast is explicit, making the functionality unambiguous.

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 does not explicitly mention when to use this tool versus alternatives, but there are no sibling tools listed, so differentiation is not needed. The purpose statement itself implies the appropriate context for use (retrieving weather data).

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.4/5.0
Disambiguation5/5

With only a single tool, there is no possibility of ambiguity or confusion between different functions.

Naming Consistency5/5

The single tool name 'get_weather' follows a clear, conventional verb_noun pattern, consistent with common MCP naming practices.

Tool Count3/5

One tool is at the lower boundary of what is reasonable for a weather server; it feels slightly thin but not entirely inadequate given the combined current/forecast functionality.

Completeness2/5

The tool covers basic conditions and forecast but lacks common weather-related operations such as alerts, historical data, or location management, leaving notable gaps for a full-featured weather service.

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

  • 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides live weather data (current conditions, forecasts) and city geocoding through Open-Meteo API, enabling AI assistants to answer weather queries without an API key.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides weather forecasts and geocoding lookup using free Open-Meteo APIs, enabling LLMs to query real-time weather and multi-day forecasts for any location.
    1
    5
    ISC
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to retrieve real-time weather conditions and 7-10 day forecasts for any location via Open-Meteo, with no API key required.
    15
    MIT

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/minidantre-db/mcp-server-app-v1'

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