mcp_weather_server
A Model Context Protocol (MCP) server that provides weather information using the Open-Meteo API.
claude mcp add --transport stdio isdaniel-mcp_weather_server python -m mcp_weather_server
How to use
The Weather MCP Server provides weather and air quality data powered by the Open-Meteo API and exposes multiple transport modes in a single server. It supports standard MCP stdio clients for desktop usage, Server-Sent Events (SSE) for web applications, and the modern Streamable HTTP protocol for web-based integrations. You can access weather data, time-related utilities, and timezone information through these modes, with a unified set of tools such as get_current_weather, get_weather_by_datetime_range, and get_weather_details. This server also offers an HTTP REST-like interface via Starlette integration for compatibility with web frameworks. To use it, run the server in your preferred mode and interact with the provided MCP tools through the appropriate endpoints or transport channels described in the documentation.
How to install
Prerequisites:
- Python 3.8+ installed on your system
- Access to install Python packages (pip)
- Optional: Node.js and Smithery if you want to install via Smithery for convenience
Install via Smithery (automatic installation):
npx -y @smithery/cli install @isdaniel/mcp_weather_server
Standard installation (for MCP clients like Claude Desktop):
pip install mcp_weather_server
Manual configuration for MCP Clients
- Create or edit your cline_mcp_settings.json to register the weather MCP server:
{
"mcpServers": {
"weather": {
"command": "python",
"args": [
"-m",
"mcp_weather_server"
],
"disabled": false,
"autoApprove": []
}
}
}
- Save the file.
HTTP Server installation (for web applications) If you plan to use SSE or Streamable HTTP, install additional runtime dependencies:
pip install mcp_weather_server starlette uvicorn
Usage notes:
- If you installed via Smithery, you can run the server through the Smithery command flow.
- If you install via pip, you typically run the Python module directly as shown in the next section.
Additional notes
Tips and common considerations:
- The server uses the Open-Meteo API, which is free and does not require an API key.
- You can run the server in multiple modes simultaneously; choose stdio for desktop MCP clients, SSE for web apps, or streamable-http for modern web integrations.
- For HTTP-based modes, remember to expose the host/port you need (default host 0.0.0.0, port 8080).
- In Streamable HTTP mode, you can operate in stateful or stateless configurations. Stateless mode creates a fresh transport per request.
- If you encounter CORS or network issues in web contexts, ensure proper host/port exposure and that dependencies like Starlette and uvicorn are installed.
- Tools available include weather-related utilities (get_current_weather, get_weather_by_datetime_range, get_weather_details) and time-related utilities (current date/time in a timezone, timezone conversions).
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP