Open-Meteo MCP Server
Click on "Install 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., "@Open-Meteo MCP ServerWhat's the current weather in Tokyo?"
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.
Open-Meteo AI Assistant using Model Context Protocol (MCP)
Overview
The Open-Meteo AI Assistant is a production-style Python project demonstrating how to build an AI application using the Model Context Protocol (MCP).
Unlike a traditional CRUD application, this project exposes weather capabilities through an MCP Server while an AI-powered MCP Client discovers available tools, lets an LLM decide which tool to invoke, executes the selected tool, and transforms structured responses into natural language.
The project also demonstrates Server-Initiated LLM Sampling, where the MCP server requests the connected AI client to generate content while executing a tool.
Architecture
User
│
▼
OpenAI Responses API
│
▼
assistant/ai_client.py
(AI Assistant / MCP Client)
│
▼
MCP Protocol (stdio)
│
▼
Open-Meteo MCP Server
(main.py)
│
┌───────────────────┼────────────────────┐
│ │ │
▼ ▼ ▼
get_weather compare_weather generate_packing_advice
│
▼
weather_client.py
│
▼
Open-Meteo REST API
│
▼
Live weather / forecast data
│
▼
Server-Initiated LLM Sampling
│
▼
assistant/ai_client.py
(sampling callback)
│
▼
OpenAI ModelProject Structure
open-meteo-mcp/
│
├── assistant/
│ ├── client.py
│ ├── ai_client.py
│ └── test_llm.py
│
├── tests/
│
├── main.py
├── weather_client.py
├── weather_models.py
├── errors.py
│
├── .env.example
├── .gitignore
├── pyproject.toml
├── uv.lock
└── README.mdFeatures
The MCP server currently exposes the following tools:
Tool | Description |
| Search for a city |
| Retrieve current weather |
| Retrieve multi-day weather forecast |
| Compare weather between two cities |
| Find the warmest forecast day |
| Return forecast data for packing recommendations |
| Demonstrates Server-Initiated LLM Sampling |
Technologies
Python 3.14
Model Context Protocol (MCP)
OpenAI Responses API
Open-Meteo REST API
httpx
Pydantic
pytest
uv
Installation
Clone the repository:
git clone <repository-url>
cd open-meteo-mcpInstall dependencies:
uv syncActivate the virtual environment:
source .venv/bin/activateCreate a .env file:
OPENAI_API_KEY=your-api-key
OPENAI_MODEL=gpt-4.1-miniRunning the Project
Related MCP server: Weather MCP Server
Start the MCP Inspector
uv run mcp dev main.pyThe Inspector allows you to:
Discover available MCP tools
Execute tools manually
Inspect schemas
Debug tool responses
Run the AI Assistant
uv run python assistant/ai_client.pyExample:
You:
Compare the weather in Tunis and Munich
Assistant:
Tunis is currently warmer than Munich by 7.5°C.Example:
You:
What should I pack for three days in Rome?
Assistant:
For your three-day trip to Rome...Application Workflow
Standard MCP Tool Calling
User
│
▼
OpenAI selects an MCP tool
│
▼
MCP Client
│
▼
MCP Server
│
▼
Open-Meteo API
│
▼
Structured response
│
▼
OpenAI generates the final answerServer-Initiated LLM Sampling
This project includes an educational implementation of Server-Initiated LLM Sampling.
Instead of the AI client generating all responses itself, the MCP server can request the connected client to invoke an LLM while executing a tool.
Workflow:
User
│
▼
OpenAI selects generate_packing_advice
│
▼
MCP Client
│
▼
MCP Server
│
▼
Open-Meteo API
│
▼
Forecast retrieved
│
▼
ctx.session.create_message(...)
│
▼
Sampling Callback
│
▼
OpenAI generates packing advice
│
▼
Result returned to the MCP Server
│
▼
Final response returned to the userNote: Server-Initiated LLM Sampling is deprecated in the MCP 2026-07-28 specification. It is included here for educational purposes to demonstrate advanced MCP capabilities.
Example Queries
What's the weather in Paris?
Compare the weather between Tunis and Munich.
Find the warmest day in Rome this week.
What should I pack for five days in Rome?Running Tests
Run the complete test suite:
uv run pytest -vCompile all Python files:
uv run python -m py_compile \
main.py \
weather_client.py \
weather_models.py \
errors.py \
assistant/client.py \
assistant/ai_client.pyLearning Outcomes
This project demonstrates:
Building an MCP Server
Building an MCP Client
MCP Tool Discovery
MCP Tool Execution
OpenAI Tool Calling
OpenAI Responses API
Server-Initiated LLM Sampling
Async Python
REST API Integration
Pydantic Validation
Error Handling
Modular Software Architecture
Separation of Concerns
Future Improvements
Possible enhancements include:
Air Quality API
Weather Alerts
Historical Weather
Docker Support
GitHub Actions CI/CD
Structured Logging
Response Caching
GitHub MCP Server
Gitea MCP Server
PostgreSQL MCP Server
Filesystem MCP Server
License
This project is intended for educational and portfolio purposes.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceFetches current weather information for any city using the Open-Meteo API through a simple MCP tool interface.Last updated1,861MIT
- Alicense-qualityDmaintenanceProvides weather data from OpenWeatherMap API through MCP tools and a REST API with OpenAPI support. Enables LLM agents to retrieve current weather, forecasts, and temperature ranges by city or coordinates.Last updated32MIT
- Flicense-qualityDmaintenanceProvides real-time weather information for cities worldwide using the OpenWeatherMap API, accessible through natural language queries via the MCP protocol.Last updated
- AlicenseAqualityCmaintenanceProvides real-time weather and forecast data via MCP tools, enabling AI agents to query current weather and up to 3-day forecasts for any city.Last updated3MIT
Related MCP Connectors
OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)
Open-Meteo MCP — weather forecast + historical reanalysis + sister APIs
WeatherAPI.com MCP — wraps WeatherAPI.com (api.weatherapi.com)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/BilelSelmiAi2026/open-meteo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server