Skip to main content
Glama
README.md
## 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):
![Connector Toggle UI](weather_mcp_option_in_claude.png)


### 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 changes

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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.