air_quality
Get official air quality for a German city (PM10, NO2 and more). Sourced from the Umweltbundesamt (UBA). Read-only. For live nearest-station hourly readings use get_city_resource(slug, resource='air') instead.
This record as markdown: /tools/dev-infranode-infranode/air-quality.md
What air_quality does on InfraNode
AI agents call air_quality to retrieve information from InfraNode without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | City identifier, e.g. 'berlin' or 'hamburg'. Resolved leniently: the German name with or without umlauts, any casing, a common English exonym or short form also |
Parameters from the server's own tool schema.
Why air_quality is rated Low
This is a straightforward data retrieval tool that queries and returns air quality measurements for German cities. There are no side effects, no data modification, no code execution, and no financial implications. The explicit 'Read-only' designation and the nature of the data (air quality metrics) confirm this is a Read category tool.
From the tool's definition Tool description explicitly states 'Read-only' and retrieves air quality data (PM10, NO2) from official sources. No modification, deletion, or execution capabilities mentioned.
Attacks that exploit this kind of access
The rule that runs air_quality safely
PolicyLayer is an MCP gateway: it sits between your AI agents and InfraNode, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For air_quality, this is the rule to start with:
air_quality is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect InfraNode, apply this rule, and every air_quality call is checked against it from then on.
Questions about air_quality
Get official air quality for a German city (PM10, NO2 and more). Sourced from the Umweltbundesamt (UBA). Read-only. For live nearest-station hourly readings use get_city_resource(slug, resource='air') instead. It is categorised as a Read tool in the InfraNode MCP Server, which means it retrieves data without modifying state.
air_quality accepts 1 parameter: slug. Required: slug. The full parameter table on this page comes from the server's own tool schema.
Register the InfraNode MCP server in PolicyLayer and add a rule for air_quality: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches InfraNode. Nothing to install.
air_quality is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the air_quality rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for air_quality. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
air_quality is provided by the InfraNode MCP server (https://mcp.infranode.dev/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on InfraNode, and thousands of servers like it.
This server
Across the catalogue