mcp-weather
Retrieve real-time weather data for any GPS coordinates worldwide using the
get_weathertool.Provide latitude and longitude to fetch current temperature, feels-like temperature, humidity, and wind speed.
Uses the free Open-Meteo API—no API key or environment variables required.
Access via stdio for Claude Code/Desktop, or via the hosted HTTP remote endpoint at
https://mcp-weather-1cyg.onrender.com/mcpfor client-side use without local installation.Self-hosting is supported on Node.js 18+ if needed.
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., "@mcp-weatherget weather for 40.7128, -74.0060"
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 simple Model Context Protocol (MCP) server that exposes a get_weather tool. It fetches real-time weather for any GPS coordinates using the free Open-Meteo API — no API key required.
Requirements
Node.js 18 or later. If you use
nvmand have multiple Node versions installed, make sure a compatible version resolves first in yourPATH, or point your MCP client config at a specific Node binary (see Usage below).No API key or environment variables required.
Related MCP server: mcp-poc
Tool
get_weather
Fetches current temperature, feels-like temperature, humidity, and wind speed for a given location.
Inputs:
latitude(number) — latitude coordinate of the target locationlongitude(number) — longitude coordinate of the target location
Setup
git clone https://github.com/tarunmalpani/mcp-weather.git
cd mcp-weather
npm installUsage
This server communicates over stdio, so it's meant to be launched by an MCP-compatible client, not run standalone.
Claude Code
Add a .mcp.json file in your project root (replace cwd with the absolute path where you cloned this repo):
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["tsx", "server.ts"],
"cwd": "/absolute/path/to/mcp-weather"
}
}
}Claude Desktop
Add the same mcpServers block to your claude_desktop_config.json (Settings → Developer → Edit Config).
After saving the config, restart the client. The get_weather tool will be available automatically.
Remote / Hosted Usage
This repo also includes remote-server.ts, which exposes the same get_weather tool over Streamable HTTP instead of stdio. Deploy it to any Node hosting platform (e.g. Render) and clients can connect via URL — no local clone or install needed on the client side.
Deploying (e.g. on Render):
Build Command:
npm installStart Command:
npm run start:remoteNo environment variables required (the host's
PORTis picked up automatically)
A live, hosted instance is running at https://mcp-weather-1cyg.onrender.com/mcp — you can connect to it directly without deploying your own.
Connecting a client to the remote URL:
Claude Code: add to
.mcp.json:{ "mcpServers": { "weather": { "type": "http", "url": "https://mcp-weather-1cyg.onrender.com/mcp" } } }Claude Desktop: Desktop does not support a plain
urlfield inclaude_desktop_config.jsonfor remote servers. Instead, go to Settings → Connectors → Add Custom Connector and paste the URL there.
Note: free hosting tiers typically spin down after a period of inactivity, so the first request after idling may take 10-30 seconds while the instance wakes up.
Development
Run the server directly (useful for testing it starts without errors):
npm startTo run the remote/HTTP variant locally:
npm run start:remoteAvailable Tools
1 toolget_weatherA
Fetches the current real-time weather and temperature for specific GPS coordinates globally.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | The latitude coordinate of the target location | |
| longitude | Yes | The longitude coordinate of the target location |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It indicates a read-only operation fetching real-time data, but does not disclose error handling, data source freshness, or any limitations. This is acceptable for a simple tool but could be more transparent.
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 sentence with no unnecessary words. It front-loads the action and resource, making it highly efficient and easy to parse.
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?
The tool is simple with two required parameters and no output schema. The description mentions 'weather and temperature', hinting at the output structure. It adequately covers the functionality for a straightforward lookup, though it could detail additional return fields.
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 descriptions for 'latitude' and 'longitude' already define the parameters clearly. The description adds 'specific GPS coordinates' which is redundant. With 100% schema coverage, the description provides no additional meaning, scoring the baseline of 3.
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 clearly states the verb 'Fetches' and the resource 'current real-time weather and temperature' for specific GPS coordinates globally. It accurately reflects the tool's function with no ambiguity.
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 implies usage for any global location via GPS coordinates. Without sibling tools, no alternatives are needed, and the scope is clear. It lacks explicit when-to-use or when-not-to-use guidance, but is adequate for a single-purpose tool.
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
v1.0.0- First observed
get_weather
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion between tools.
Single tool name 'get_weather' follows a clear verb_noun pattern, consistent with the tool's purpose.
A single tool for a weather server is minimal but acceptable if it covers the core use case. However, it lacks additional functionality like forecasts.
The server only provides current weather, missing common features such as forecasts, historical data, or severe weather alerts, which are significant gaps for a weather service.
Maintenance
Related MCP Connectors
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
Open-Meteo MCP — weather forecast + historical reanalysis + sister APIs
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA minimal MCP server that provides weather data using Open-Meteo API, designed as a teaching tool for improving AI agent tool interfaces.-
- FlicenseNot gradedqualityDmaintenanceA proof-of-concept MCP server that provides weather information using the Open-Meteo API, with tools for greeting, getting weather by coordinates, and by location name.-
- 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
- AlicenseAqualityBmaintenanceMCP server that provides current weather for any city using Open-Meteo APIs. It exposes a single tool 'get_weather' returning temperature, humidity, wind, and other weather data.17 npmMIT