Skip to main content
Glama

Weather MCP Server & Databricks Agent

A Model Context Protocol (MCP) server built with FastMCP exposing weather intelligence tools backed by the Open-Meteo API, integrated with Databricks Agent Bricks.


๐Ÿ“ Repository Structure

weather-mcp/
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ weather_mcp/
โ”‚       โ”œโ”€โ”€ __init__.py          # Package exports
โ”‚       โ”œโ”€โ”€ weather_broker.py    # Adapter module & WeatherClient / WeatherRuleEngine
โ”‚       โ””โ”€โ”€ mcp_server.py        # FastMCP server & tool definitions
โ”œโ”€โ”€ tests/
โ”‚   โ””โ”€โ”€ test_weather.py          # Unit & integration test suite
โ”œโ”€โ”€ AGENT_PROMPT.md              # Databricks Agent system prompt & registration guide
โ”œโ”€โ”€ CONTEXT.md                   # Domain model glossary
โ”œโ”€โ”€ README.md                    # Project documentation
โ”œโ”€โ”€ app.yaml                     # Databricks Apps manifest
โ”œโ”€โ”€ pyproject.toml               # Python package configuration
โ””โ”€โ”€ requirements.txt             # Production dependencies

Related MCP server: Weather Prediction MCP Server

๐Ÿ›๏ธ Architecture Overview

 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚            Databricks Agent Bricks Agent               โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ”‚ Model Context Protocol (MCP / HTTP)
                            โ–ผ
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚      FastMCP Server (src/weather_mcp/mcp_server.py)    โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ”‚ Thin wrapper calls
                            โ–ผ
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚     Broker Adapter (src/weather_mcp/weather_broker.py) โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
            โ”‚ Geocoding API                   โ”‚ Forecast API
            โ–ผ                                 โ–ผ
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ Open-Meteo Geocoding โ”‚         โ”‚  Open-Meteo Forecast  โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ MCP Tools Reference

Tool Signature

Description

Key Arguments

get_current_weather

Returns real-time temperature, humidity, wind speed, and conditions.

location: str

get_forecast

Multi-day daily forecast (high/low temps, precipitation %, conditions).

location: str, days: int = 3

predict_umbrella_needed

Evaluates if an umbrella is needed based on precip probability (>=40%) and volume.

location: str, date: str = "today"

get_travel_recommendation

Generates clothing packing advice and outdoor activity ratings.

location: str, days: int = 3

compare_city_weather

Compares current weather conditions across multiple cities.

cities: str (comma-separated)


๐Ÿš€ Setup & Local Execution

1. Install Dependencies

uv sync

2. Run Test Suite

PYTHONPATH=src uv run python tests/test_weather.py

3. Start FastMCP Server Locally

uv run fastmcp run src/weather_mcp/mcp_server.py --transport http --port 8000

The server will listen at http://127.0.0.1:8000/mcp.


โ˜๏ธ Databricks Apps Deployment & Agent Bricks Registration

  1. Deploy App: Deploy this repository to Databricks Apps using app.yaml:

    command:
      - "fastmcp"
      - "run"
      - "src/weather_mcp/mcp_server.py"
      - "--transport"
      - "http"
      - "--host"
      - "0.0.0.0"
      - "--port"
      - "8000"
  2. Register External MCP Tool:

    • In Databricks Workspace -> AI Playground / Agent Bricks.

    • Click Add Tool -> External MCP Server.

    • Enter App URL: https://<databricks-app-url>/mcp.

  3. Configure System Prompt:


๐Ÿงช Demonstrated Agent Queries & Responses

Query 1: Rain & Umbrella Prediction

User: "Will it rain in Chicago tomorrow?"

  • Tool Call: predict_umbrella_needed(location="Chicago", date="tomorrow")

  • Agent Response:

    "No, it is very unlikely to rain in Chicago tomorrow (2026-08-09). The precipitation probability is only 2% with clear skies. High: 79.0ยฐF (26.1ยฐC), Low: 64.5ยฐF (18.1ยฐC). You won't need an umbrella!"

Will it rain in Chicago tomorrow?

Query 2: Travel Packing Advice

User: "Should I bring a jacket to Austin this weekend?"

  • Tool Call: get_travel_recommendation(location="Austin, TX", days=3)

  • Agent Response:

    "You will not need a heavy jacket in Austin this weekend! Temperatures will be very warm with highs reaching 99.6ยฐF (37.5ยฐC) and lows around 76.1ยฐF (24.5ยฐC). I recommend packing light summer clothing and staying hydrated."

Should I bring a jacket to Austin this weekend?

Query 3: Multi-City Weather Comparison

User: "Is it warmer right now in Chicago, Austin, or Tokyo?"

  • Tool Call: compare_city_weather(cities="Chicago, Austin, Tokyo")

  • Agent Response:

    "Currently, Austin, Texas is the warmest at 96.6ยฐF (35.9ยฐC). Comparison:

    1. Austin, TX: 96.6ยฐF (35.9ยฐC)

    2. Chicago, IL: 79.0ยฐF (26.1ยฐC)

    3. Tokyo, Japan: 73.9ยฐF (23.3ยฐC)"

Is it warmer right now in Chicago, Austin, or Tokyo?

Query 4: Edge Case Error Handling

User: "What's the weather in NonExistentCityXYZ?"

  • Tool Call: get_current_weather(location="NonExistentCityXYZ")

  • Agent Response:

    "I couldn't find a location matching 'NonExistentCityXYZ'. Could you please check the spelling or provide the city name alongside its state or country?"

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • MCP server for weather with reasoning โ€” umbrella advice, outdoor checks, city comparisons.

  • Open-Meteo MCP โ€” weather forecast + historical reanalysis + sister APIs

  • OpenWeather MCP โ€” wraps the OpenWeatherMap API (openweathermap.org)

View all MCP Connectors

Latest Blog Posts

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/PedroLiu1999/weather-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server