weather-mcp-server
README.md
# Tech Learning Session — Writing Effective Tools for AI Agents
A short, hands-on assignment based on Anthropic's
[*Writing tools for AI agents*](https://www.anthropic.com/engineering/writing-tools-for-agents).
## What is this?
You get one small **weather tool** (an MCP server) wired into **Claude Code**.
The tool *works*, but it's deliberately written badly — a vague name, no
description, a raw response. Your job is to **improve it across 4 rounds** and
watch the AI agent go from **ignoring the tool** to **using it perfectly** —
without ever changing what the tool actually does.
> The big idea: the agent never sees your code. It only sees the tool's **name,
> parameters, description, and return value**. Those four things decide whether
> it gets called and used well.
## What you'll practice
- Naming a tool and its parameters so an agent knows when to use it
- Writing a description that *is* the interface
- Returning readable, useful results instead of raw data
- Writing error messages an agent can recover from
- Keeping responses token-efficient
## How to do it
1. **`SETUP.md`** — get the weather tool running in Claude Code (~5 min).
2. **`QUESTION.md`** — the assignment: what to ask, the 4 rounds, and how to
check whether the agent called your tool.
Weather data comes from [Open-Meteo](https://open-meteo.com) — free, global, no
API key required.
## Requirements
Python ≥ 3.10, Claude Code, and either [`uv`](https://docs.astral.sh/uv/)
(recommended) or `pip`. Full details in `SETUP.md`.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues