Weather MCP Server
## How the LLM Uses These Tools
### Example 1: Weather Alerts
**You:** "Are there any weather alerts in California?"
**Claude's process:**
1. Recognizes it needs weather alert info
2. Calls `get_alerts(state="CA")`
3. Gets the formatted response
4. Presents it to you in natural language
### Example 2: Weather Forecast
**You:** "What's the weather forecast for San Francisco?"
**Claude's process:**
1. Knows SF coordinates (or looks them up)
2. Calls `get_forecast(latitude=37.7749, longitude=-122.4194)`
3. Gets 5-period forecast
4. Summarizes it for you
### Run the mcp server
uv run weather.py
### Update the claude config file claude_desktop_config.json to below content
{
"mcpServers": {
"weather": {
"command": "/Users/santhosh.sharma/.local/bin/uv",
"args": [
"--directory",
"/Users/santhosh.sharma/Repositories/mcp-weather",
"run",
"weather.py"
]
}
}
}
#### Reference : https://modelcontextprotocol.io/docs/develop/build-server#python
Analyze logs in ~/Library/Logs/Claude/mcp.log
### When you ask Claude (with this MCP server connected):

### Docstring best practises:
1. First line = One-line summary (imperative mood: "Get", "Format", "Calculate")
2. Use present tense ("Returns the sum" not "Will return")
3. Be specific about parameter types and expected values
4. Include examples for complex functions
5. Keep it updated when code changesTDQS
Scored across 2 tools
The two tools have clearly distinct purposes: get_alerts retrieves alerts for US states, while get_forecast provides forecasts for geographic coordinates. There is no overlap in functionality or ambiguity between them.
Both tools follow a consistent verb_noun pattern (get_alerts, get_forecast) with identical verb usage and snake_case formatting. The naming is perfectly predictable across the tool set.
With only 2 tools, the server feels thin for a weather domain. While alerts and forecasts are core features, obvious gaps like current conditions, historical data, or radar imagery suggest the tool count is too low for comprehensive weather coverage.
The tool surface is severely incomplete for weather services. It lacks essential operations such as getting current conditions, historical weather data, radar maps, or air quality information. Agents will face significant limitations when trying to perform common weather-related tasks.