InfectRisk
Server Details
Flu, COVID-19 and RSV activity for 24 countries, plus the tracked WHO outbreak notifications.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
Each tool targets a distinct concern: country metadata, respiratory illness activity, and outbreak notifications. There is little risk of selecting the wrong tool for a given task.
All tool names follow the same snake_case verb_noun pattern (get_infection_activity, list_countries, list_outbreaks). The convention is uniform and predictable.
Three tools is well-scoped for a niche read-only public health surveillance server. Each tool earns its place and the small surface is easy to navigate.
The set covers current respiratory activity per country and all tracked outbreak notifications, with country metadata to support those lookups. Minor gaps such as multi-country activity retrieval in one call exist, but agents can work around them by looping over list_countries.
Available Tools
3 toolsget_infection_activityARead-onlyIdempotentInspect
Return the current respiratory illness activity (influenza, COVID-19, RSV) for one country as a qualitative level plus direction, reported week, data date, age of that data and source. Returns no incidence numbers, no case counts and no personal risk assessment, and it is not medical advice. When stale is true the source has not published recently; say so instead of reporting the level as current.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Language of the human readable labels and the summary sentence. Defaults to en. | en |
| country | Yes | Country slug, for example germany, usa or uk. Use list_countries for the full set. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses important behavior: it returns a qualitative level plus direction and metadata, not raw counts, and explicitly states it is not medical advice. It also specifies how to handle a stale result, telling the agent to say so instead of reporting the level 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence states the core purpose, the second bounds expectations, and the third gives actionable stale-data handling. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the return payload, and it does so by mentioning qualitative level, direction, reported week, data date, age, and source. It also covers the stale signal and the important non-medical-advice caveat, making the tool sufficiently self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters. The description adds no parameter-level detail, but none is needed because the enum descriptions and default value are already explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Return the current respiratory illness activity'), enumerates the illnesses covered (influenza, COVID-19, RSV), and scopes it to one country. It also clarifies what it does not return, which distinguishes it from sibling tools like list_outbreaks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this is for country-level qualitative activity with no incidence numbers, case counts, or personal risk assessment. It does not explicitly name alternatives, but the scoping and exclusions make the appropriate use case evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_countriesARead-onlyIdempotentInspect
List the 24 countries InfectRisk covers, with their English and German names and the surveillance source behind each one. Scope is aggregated public surveillance data only, never case numbers or personal risk.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and non-destructive behavior. The description adds meaningful context beyond that: the result is a fixed set of 24 countries, the output includes specific fields, and the data is scoped to aggregated public surveillance only. This is non-obvious behavioral information not present in the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences. The first conveys the action and result contents, the second adds a scope guardrail. There is no filler or redundancy; every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with no output schema, the description fully specifies the content of the list (24 countries, English/German names, source) and the scope boundary (aggregated surveillance only). Nothing an agent needs to decide whether to call it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline of 4 applies. The description correctly does not waste space on parameter explanations since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and names the exact resource ('the 24 countries InfectRisk covers') with the included fields (English and German names, surveillance source). It also distinguishes itself by stating what it does not cover (case numbers or personal risk), making it clearly distinct from the infection activity and outbreak siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear boundary: 'Scope is aggregated public surveillance data only, never case numbers or personal risk.' This tells an agent when not to use this tool, but it does not explicitly name the sibling tools as alternatives. The context is clear enough for a simple list tool, though explicit sibling routing would push it to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_outbreaksARead-onlyIdempotentInspect
List the outbreak notifications InfectRisk tracks (WHO Disease Outbreak News, ECDC and news consensus): disease, affected region, lifecycle status, WHO link, a plain language brief and the page a reader can open. Case figures are included only for outbreaks whose public pages already show them, reproduced as reported and never verified by InfectRisk. Separate dataset from the respiratory activity tools; it carries no incidence numbers and no personal risk assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Language of the disease name, region and brief. Defaults to en. | en |
| status | No | Which part of the lifecycle to list. "active" covers acute events and those without a recent report, "past" the ones declared over, "standing" the permanent WHO topics. Defaults to active. | active |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond the annotations: case figures are included only when public pages already show them, are reproduced as reported, and are never verified by InfectRisk. This is valuable caveat information that an agent needs before presenting case counts as authoritative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the core purpose and returned fields, and then adds the essential caveat about case figures. Every sentence earns its place; there is no repetition of the title or schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with two optional enum parameters and no output schema, the description is nearly complete. It explains what is returned, the data provenance caveat, and how this dataset differs from the respiratory tools. The only minor gap is that it does not describe the shape of the output list or how lifecycle statuses map to the status parameter, but the schema already defines the status enum values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (locale and status) with enums and defaults. The description does not add parameter-level detail beyond what the schema provides, but it does clarify the overall scope of the returned data. Baseline 3 is appropriate when the schema carries the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('outbreak notifications InfectRisk tracks'), enumerates the fields returned (disease, affected region, lifecycle status, WHO link, brief, page), and explicitly distinguishes this dataset from the respiratory activity tools. This makes the tool's purpose unmistakable and differentiates it from siblings like get_infection_activity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states what this tool is for and explicitly says it is a separate dataset from the respiratory activity tools, carrying no incidence numbers and no personal risk assessment. This gives an agent a clear sense of when to use it versus get_infection_activity, though it does not name the sibling explicitly or provide a direct 'use X instead when...' routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_infection_activity - First observed
list_countries - First observed
list_outbreaks
Related MCP Connectors
Monitor WHO/public health news and disease/outbreak information links for viruses
Digital-crisis playbooks as tools, 9 languages, country-anchored reporting channels. CC BY 4.0.
Morbidity and Mortality Weekly Reports and disease surveillance
WHO Global Tuberculosis Programme — the TME data collection.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for the Swiss Federal Office of Public Health Infectious Disease Dashboard, providing access to epidemiological surveillance data for 51 pathogens across Switzerland, including influenza, COVID-19, measles, and wastewater surveillance.10MIT
- AlicenseNot gradedqualityBmaintenanceQuery WHO Global Health Observatory data — 3,059 indicators across 194 member states with country, region, year, and sex filters via MCP.63 npm2Apache 2.0
- AlicenseBqualityDmaintenanceProvides access to the World Health Organization's Global Health Observatory data, enabling AI assistants to search, retrieve, and analyze comprehensive health indicators, country statistics, disease burden data, and regional health trends through WHO's OData API.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying WHO Global Tuberculosis Programme data, including TB burden estimates, case notifications, and programme financing across 217 countries from 2000 onward.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.