Skip to main content
Glama

Get ECDC COVID-19 Testing Rate

ecdc-surveillance.covid.testing_rate
Read-onlyIdempotent

Get historical weekly COVID-19 testing volume and positivity rate by country from ECDC TESSy surveillance data. Filter by country name or ISO2 code, optionally by ISO week. Covers 2020-W01 through 2023-W47 only — ECDC discontinued routine COVID-19 reporting in December 2023, so this reflects the final frozen historical dataset, not live surveillance. Data: ECDC opendata, CC BY 4.0, no auth required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records to return (default 100, max 500).
countryYesCountry name or ISO2 country code to filter by (e.g. "Austria" or "AT"). Required — the upstream dataset has no server-side query, so this narrows the full historical dump.
year_weekNoFilter to a single ISO week, format "YYYY-Www" (e.g. "2021-W48"). Omit to return all weeks.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent only when the call failed. Includes error code, message, request_id, and any provider-specific extras.
resultNoTool response payload. Shape varies per tool — consult the tool description and inputSchema. May be an object, array, string, or number depending on the upstream provider response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly, idempotent, openWorld, non-destructive), the description adds rich behavioral context: the exact frozen data range, the fact that ECDC discontinued reporting in December 2023, the CC BY 4.0 licensing, and that no auth is required. The 'frozen historical dataset, not live surveillance' caveat is a critical behavioral constraint an agent needs to avoid misinterpreting the data as current.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, perfectly front-loaded: core purpose first, then filtering options, then the critical temporal caveat, then provenance/licensing. Every sentence earns its place; there is zero redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter read-only query tool with a rich output schema and complete annotation coverage, the description covers everything an agent needs: what data it returns, how to filter it, the temporal bounds, the data source, and auth/licensing. No critical gap remains that would cause an incorrect call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 — the schema already documents country (name or ISO2, required because 'the upstream dataset has no server-side query'), year_week format ('YYYY-Www'), and limit bounds. The description reiterates the filter mechanics but adds no parameter-specific meaning beyond the schema. This matches the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Get historical weekly COVID-19 testing volume and positivity rate by country from ECDC TESSy surveillance data.' This precisely identifies the subject matter (testing volume and positivity rate), which inherently distinguishes it from its ECDC siblings (cases_deaths, hospital_icu) since those cover different measures. The scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational context: filter by country name or ISO2 code, optionally by ISO week, and it explicitly warns about the temporal limitation ('Covers 2020-W01 through 2023-W47 only... not live surveillance'), which tells the agent not to use this for current data. It does not explicitly name alternative tools or state when-not-to-use conditions relative to its siblings, but the usage context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.