MCP Weather Server
π¦οΈ MCP Weather Server
A simple and modular MCP (Modular Command Protocol) server that exposes weather-related tools β perfect for integration with AI agents, LLMs, or any tool-using client.
This project demonstrates how to create and serve tools such as:
get_coordinates(city)get_forecast(latitude, longitude)
Designed to be lightweight, clean, and easy to extend.
π§ What Is MCP?
MCP (Modular Command Protocol) is a protocol for exposing tools (Python functions) in a machine-readable format so they can be:
Automatically discovered
Dynamically called by AI agents
Interoperable across systems
Itβs built for tool-using LLMs, agents, and next-gen integrations.
π Project Structure
mcp-server/
βββ main.py # Starts the FastMCP server
βββ tools
|------ get_forcast.py # MCP tools: get_coordinates and get_forecast
βββ pyproject.toml # Python dependencies
βββ README.md # You're here!π Getting Started
1. Clone the Repo
git clone https://github.com/jeannassereldine/mcp-server.git
cd mcp-server3. Run the Server
uv run weather.pyThis starts the MCP server over stdio. You can connect any MCP client that supports the protocol.
π§ Tools Overview
get_coordinates(city: str) -> Tuple[float, float]
Returns hardcoded latitude and longitude for a given city.
β Replace this with a real geolocation API like OpenCage or Google Maps.
get_forecast(latitude: float, longitude: float) -> str
Returns a formatted weather forecast string for the given coordinates.
β Replace with a live weather API like api.weather.gov.
format_forecast(forecasts: List[Dict]) -> str
Helper function that formats multiple forecast entries into a readable string.
π§© Want to Build an MCP Client?
Stay tuned! The next part of this project will include a lightweight client that can:
Auto-discover tools
Call them based on context
Build real-time agent workflows
π§ Use Cases
Build agent backends with clean, callable tools
Expose local or cloud-based APIs to LLMs
Prototype tools for LangChain or OpenAI function-calling agents
Teach MCP integration through a practical example
π License
This project is open-source under the MIT License.
π Contributing
Pull requests are welcome! Feel free to open issues or suggest features you'd like to see.