Weather MCP Server
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 MCP ServerWill it rain in London tomorrow?"
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 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 .envOpen .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.webThen 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.serverMCP 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 pytestThe tests mock Open-Meteo, so they do not require network access or a Groq key.
Available Tools
1 toolget_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.
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | ||
| forecast_days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It conveys the read-only nature of the operation and the high-level output (current conditions and forecast), but it does not mention units, error handling, or what the forecast includes, leaving some behavioral ambiguity.
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 two sentences plus a two-item Args list. The main purpose is front-loaded, and every line adds either scope or parameter detail, with no filler.
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 only two parameters, one of which has a default, and an output schema present, the description covers the necessary input semantics and high-level behavior. Gaps like unit conventions are minor given the output schema, so the description is nearly 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?
Schema coverage is 0%, yet the description's Args section fully compensates: it defines 'location' as a city, region, or country with examples, and 'forecast_days' as a range from 1 through 7. This adds meaningful semantics beyond the bare schema properties.
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 opens with 'Get current conditions and a weather forecast for a place,' which names a specific action (get) and resource (conditions + forecast). This clearly distinguishes the tool's function even in the absence of siblings.
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 clearly communicates that the tool is for retrieving weather data for a location, and the Args section explains how to supply the location and optional forecast length. Since there are no sibling tools, explicit when-not or alternative guidance is unnecessary; the implied usage context is sufficient.
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 tool update
v0.1.0- First observed
get_weather
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion between tools. The single tool has a clear, unique purpose.
The tool name follows the standard verb_noun pattern (get_weather), which is clear and predictable. With only one tool, consistency is trivially maintained.
A single tool feels thin for a weather-focused server, even though get_weather covers both current conditions and forecasts. The server is on the low end of acceptable scope.
The tool covers the core weather use cases: current conditions and multi-day forecasts. Obvious gaps like historical data or weather alerts exist, but the essential surface is present.
Maintenance
Related MCP Connectors
Provide real-time and forecast weather information for locations in the United States using natura…
Global weather via Open-Meteo: forecast, historical, marine, air quality, geocoding, elevation.
Get current weather for any city and create images from your prompts. Streamline planning, reports…
US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides real-time weather information and forecasts, connecting AI assistants with live weather data for current conditions and multi-day forecasts for any location worldwide.-
- FlicenseNot gradedqualityDmaintenanceEnables 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.-
- AlicenseNot gradedqualityDmaintenanceProvides real-time weather data and forecasts for locations worldwide using the OpenWeatherMap API. It enables AI assistants to retrieve current conditions, temperature, and forecasts through a simple tool-based interface.MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to retrieve current weather, forecasts, and summaries for any global location using the Open-Meteo API, with no API key required.13 npmCreative Commons Zero v1.0 Universal