UK Weather & Travel Outfit Recommender MCP Server
Combines UK Met Office weather forecasts with travel routing to provide outfit recommendations for walking, cycling, or driving journeys.
README
UK Weather & Travel Outfit Recommender MCP Server
A Model Context Protocol (MCP) server that combines Met Office weather data with travel routing to recommend what to wear for your journey.
Features
- Outfit Recommendations: Get personalised clothing suggestions based on weather conditions and your travel plans
- Weather Forecasts: Detailed hourly weather forecasts for UK locations
- Travel Information: Calculate travel time and distance between locations
- Supports multiple travel modes: walking, cycling, and driving
- Real-time UK weather data from the Met Office DataHub API
- Intelligent clothing recommendations based on temperature, precipitation, wind, and UV index
Prerequisites
- Python 3.12 or higher
- uv package manager
- Met Office DataHub API key (register at https://datahub.metoffice.gov.uk/)
Installation
- Clone the repository:
git clone <repository-url>
cd commute_mcp
- Create a virtual environment and install dependencies:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
- Set up your Met Office API key:
export MET_OFFICE_API_KEY="your-api-key-here"
Usage
Running as an MCP Server
Start the server using stdio transport:
python -m src.server
The server provides three tools:
1. Get Outfit Recommendation
Analyses your journey and provides clothing recommendations:
{
"name": "get_outfit_recommendation",
"arguments": {
"origin": "Bristol",
"destination": "Bath",
"travel_mode": "walking",
"hours_until_departure": 0
}
}
Parameters:
origin(required): Starting location (e.g., "Bristol", "London Bridge")destination(required): Destination locationtravel_mode(optional): "walking", "cycling", or "driving" (default: "walking")hours_until_departure(optional): Hours until you leave, 0 for now (default: 0)
2. Get Weather Forecast
Get detailed hourly weather forecast for a UK location:
{
"name": "get_weather_forecast",
"arguments": {
"location": "Manchester",
"hours": 12
}
}
Parameters:
location(required): Location name (e.g., "Bristol", "Edinburgh")hours(optional): Number of hours to forecast (default: 12)
3. Get Travel Information
Calculate travel time and distance:
{
"name": "get_travel_info",
"arguments": {
"origin": "London",
"destination": "Cambridge",
"mode": "driving"
}
}
Parameters:
origin(required): Starting locationdestination(required): Destination locationmode(optional): "walking", "cycling", or "driving" (default: "walking")
Using with Claude Desktop
To use this MCP server with Claude Desktop, add it to your Claude configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"commute-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/commute_mcp", "run", "python", "-m", "src.server"],
"env": {
"MET_OFFICE_API_KEY": "your-api-key-here"
}
}
}
}
Then restart Claude Desktop. You can now ask Claude questions like:
- "What should I wear for a walk from Bristol to Bath?"
- "What's the weather forecast for Edinburgh for the next 6 hours?"
- "How long would it take to cycle from Manchester to Salford?"
How It Works
- Geocoding: Converts location names to coordinates using OpenStreetMap's Nominatim API
- Routing: Calculates travel time and distance using OSRM (Open Source Routing Machine)
- Weather Data: Fetches hourly forecasts from the Met Office DataHub API
- Analysis: Analyses weather conditions for your journey window
- Recommendations: Generates clothing suggestions based on:
- Temperature and "feels like" temperature
- Precipitation probability
- Wind speed and gusts
- UV index
- Travel mode and duration
Development
Running Tests
pytest tests/
Project Structure
commute_mcp/
├── src/
│ ├── __init__.py
│ ├── server.py # MCP server and tool handlers
│ ├── location.py # Geocoding and routing
│ ├── weather.py # Weather data and outfit recommendations
│ └── preferences.py # User preferences management
├── tests/
│ ├── test_api.py
│ └── test_geocode.py
├── pyproject.toml
└── README.md
APIs Used
- Met Office DataHub: Weather forecasts for UK locations
- OSRM: Open-source routing engine for travel calculations
- Nominatim: OpenStreetMap geocoding service
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.