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 ServerWhat's the weather in Tokyo right now?"
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
An MCP server that exposes two tools — get_current_weather and
get_forecast — backed by the free Open-Meteo API
(no API key required). Built to be added to a Microsoft Copilot Studio agent
as an MCP tool.
Files
server.py— the MCP server (FastMCP, Streamable HTTP transport)requirements.txt— Python dependenciesDockerfile— container image for deployment
Related MCP server: Weather MCP Server
1. Run it locally
pip install -r requirements.txt
python server.pyThis starts a Streamable HTTP MCP server on http://0.0.0.0:8000/mcp
(FastMCP's default path/port).
To sanity-check it without Copilot Studio, use the MCP Inspector:
npx @modelcontextprotocol/inspectorPoint the Inspector at http://localhost:8000/mcp with transport
"Streamable HTTP", then try calling get_current_weather with
{"city": "Kigali"}.
Note: Copilot Studio's MCP connector needs a server reachable over the public internet via HTTPS, not
localhost. Local runs are just for testing the tool logic before you deploy.
2. Deploy it somewhere public
Any host that can run a container and give you an HTTPS URL works. Azure Container Apps is a natural fit since you're already in the Microsoft ecosystem:
# from this folder
az login
az group create -n weather-mcp-rg -l eastus
az containerapp up \
--name weather-mcp \
--resource-group weather-mcp-rg \
--location eastus \
--source . \
--target-port 8000 \
--ingress externalaz containerapp up builds the image from the Dockerfile, pushes it, and
gives you back a public HTTPS URL, e.g.
https://weather-mcp.<random>.eastus.azurecontainerapps.io.
Your MCP endpoint will be that URL + /mcp, e.g.:
https://weather-mcp.<random>.eastus.azurecontainerapps.io/mcp(Any other host — Fly.io, Render, a VM, App Service — works the same way; you just need the container listening on port 8000 and reachable over HTTPS.)
3. Connect it to Copilot Studio
In Copilot Studio, open your agent → Tools page → Add a tool.
Choose Model Context Protocol.
Give it a name (e.g. "Weather MCP") and description, and paste in your server's URL (the
/mcpendpoint from step 2).Save. Copilot Studio will connect and list
get_current_weatherandget_forecastunder that tool's Tools/Resources section.Go to Topics, create a topic (e.g. "Get weather") with trigger phrases like "what's the weather in X", add a node → Add a tool, and select the MCP tool.
Test in the chat pane: "what's the weather in Kigali right now?"
Notes
get_forecasttakes an optionaldaysparameter (1–7, default 3).The geocoding step means users can type natural city names ("Rome", "Kigali", "Rome, Italy") rather than coordinates.
If you want more detail (hourly data, weather alerts, historical data), Open-Meteo supports all of that — the
get_forecastfunction is a good place to extend.
This server cannot be deployed
Maintenance
Related MCP Connectors
Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.
Real-time weather conditions and multi-day forecasts via Open-Meteo — free, no API key required
Free, keyless real-time weather and 7-day forecasts for any city worldwide.
Get current weather for any city and create images from your prompts. Streamline planning, reports…
Related MCP Servers
- 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 current weather information for any city worldwide using the free Open-Meteo API, enabling users to query temperature, wind speed, humidity, and weather conditions through natural language.5 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides current weather and forecasts for any city via natural language, using OpenWeatherMap API and OpenAI for conversational interface.10GPL 3.0
- AlicenseNot gradedqualityDmaintenanceProvides real-time and historical weather data for any city worldwide, including forecasts, air quality, and marine conditions, using the free Open-Meteo API.5 npmMIT