A Model Context Protocol (MCP) server for weather, climate, and air quality forecast and geocoding services from measurespace.io, built with FastAPI and the MCP framework. This server provides various weather, climate, air quality and geocoding related tools that can be used by AI assistants to retrieve weather, climate and air quality forecasts and more.
- Hourly weather forecast for next 5 days
- Daily weather forecast for next 15 days
- Daily climate forecast for next 9 months
- Hourly and daily air quality forecast for next 4 days
- Geocoding service for finding latitude and longitude for given city names
- Geocoding service for find nearest city for given latitude and longitude
- Timezone information
- Astronomy data (sunrise, sunset)
- Python 3.12+
- uv package manager
- Related service API keys from measurespace.io
To install this server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @MeasureSpace/measure-space-mcp-server --client claude
-
Clone this repository:
git clone [email protected]:MeasureSpace/measure-space-mcp-server.git cd measure-space-mcp-server
-
Install dependencies using uv:
uv venv uv pip install -e .
-
Create a
.env
file in the project root with your related API keys from measurespace.io:GEOCODING_API_KEY=<your-geocoding-api-key> HOURLY_WEATHER_API_KEY=<your-hourly-weather-api-key> DAILY_WEATHER_API_KEY=<your-daily-weather-api-key> DAILY_WEATHER_API_KEY=<your-daily-climate-api-key> AIR_QUALITY_API_KEY=<your-air-quality-api-key>
Note that you only need the API key for the service your need.
Open the cladue_desktop_config.json
file and add the following setup. Restart the Claude Desktop App. Please see this tutorial if you don't know where to find the cladue_desktop_config.json
file.
{
"mcpServers": {
"MeasureSpace": {
"command": "/<your_uv_path>/uv",
"args": [
"--directory",
"/<your-measure-space-mcp-server-folder-path>/measure-space-mcp-server",
"run",
"main.py"
]
}
}
}
# Go into your uv built environment
python main.py
The server will start on http://localhost:8000 by default.