Skip to main content
Glama
adhikasp

MCP Weather Server

by adhikasp
README.md
# MCP Weather Server

A simple MCP server that provides hourly weather forecasts using the AccuWeather API.

## Setup

1. Install dependencies using `uv`:
```bash
uv venv
uv sync
```

2. Create a `.env` file with your AccuWeather API key:
```
ACCUWEATHER_API_KEY=your_api_key_here
```

You can get an API key by registering at [AccuWeather API](https://developer.accuweather.com/).

## Running the Server

```json
{
    "mcpServers": {
        "weather": {
            "command": "uvx",
            "args": ["--from", "git+https://github.com/adhikasp/mcp-weather.git", "mcp-weather"],
            "env": {
                "ACCUWEATHER_API_KEY": "your_api_key_here"
            }
        }
    }
}
```

## API Usage

### Get Hourly Weather Forecast

Response:
```json
{
    "location": "Jakarta",
    "location_key": "208971",
    "country": "Indonesia",
    "current_conditions": {
        "temperature": {
            "value": 32.2,
            "unit": "C"
        },
        "weather_text": "Partly sunny",
        "relative_humidity": 75,
        "precipitation": false,
        "observation_time": "2024-01-01T12:00:00+07:00"
    },
    "hourly_forecast": [
        {
            "relative_time": "+1 hour",
            "temperature": {
                "value": 32.2,
                "unit": "C"
            },
            "weather_text": "Partly sunny",
            "precipitation_probability": 40,
            "precipitation_type": "Rain",
            "precipitation_intensity": "Light"
        }
    ]
}
```

The API provides:
- Current weather conditions including temperature, weather description, humidity, and precipitation status
- 12-hour forecast with hourly data including:
  - Relative time from current time
  - Temperature in Celsius
  - Weather description
  - Precipitation probability, type, and intensity

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool has a clear and distinct purpose, making it impossible for an agent to misselect between multiple options.

Naming Consistency5/5

The single tool name follows a consistent verb_noun pattern (get_hourly_weather). Since there is only one tool, there are no deviations or mixed conventions to evaluate, resulting in perfect consistency.

Tool Count2/5

A single tool for a weather server is too few for the apparent scope, as it only provides hourly forecasts without coverage for current conditions, daily forecasts, or other common weather data. This minimal set limits functionality and will likely cause agent failures in broader weather-related tasks.

Completeness2/5

The tool surface is severely incomplete for a weather domain, lacking obvious gaps such as current weather, daily forecasts, alerts, or historical data. With only hourly forecasts, agents cannot perform comprehensive weather-related operations, leading to significant limitations in coverage.

Maintenance

ActivityInactive
ResponsivenessNo issues