Repository navigation
v0.5.2 — strict argument validation
Fixed
- Tools now reject unknown keyword arguments instead of silently dropping them. Previously, calling
get_indicator_datawith mismatched names (e.g.countries=["Peru"],year_from=2010) would quietly ignore every wrong key and return 100 unfiltered global rows — an LLM caller had no signal that its filters were dropped. Argument validation now raises a precise Pydantic error naming the unknown field. Implemented by settingextra="forbid"on FastMCP'sArgModelBase, so every registered tool inherits strict validation.
Changed
find_country_codeparameter renamed fromcountry_nametocountryto match the canonical name used byget_indicator_dataandcountry_profile.country_nameis kept as a deprecated alias for back-compat — passing both raises.- README install snippet now states the Python >=3.11 requirement inline, so users on older system Python see the requirement before creating a venv that would later fail.
- Tool reference table now shows canonical parameter signatures so callers can see at a glance what each tool actually accepts.
Why this release
Outside review of v0.5.1 caught that mismatched argument names (countries vs country, year_from vs year_start) were silently dropped by FastMCP's default Pydantic config. For an LLM caller this meant correct-looking results that were actually unfiltered global pulls. Strict validation closes that footgun.
Full changelog: https://github.com/Decilion/gho-mcp/blob/main/CHANGELOG.md