# InfraNode MCP server

Agent View of the PolicyLayer registry record for InfraNode: identity, probed posture, risk grade, and all 12 tools classified. HTML page: https://policylayer.com/tools/dev-infranode-infranode

## Facts

- Server id: `https://mcp.infranode.dev/mcp`
- Homepage: https://github.com/street1983nk/infranode
- Registry record: grade C, identity unverified
- Lifecycle: active
- Auth posture: open
- Rate-limited: no
- Tools: 12 (10 with introspected schema)
- Tool categories present: Read
- Context-window cost: 2832 tokens per request — https://policylayer.com/token-cost/dev-infranode-infranode
- Tags: dev infranode infranode
- Record last modified: 2026-08-12T17:51:25.148Z

## Tools (12)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `air_quality` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/air-quality.md |
| `compare` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/compare.md |
| `get_city` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/get-city.md |
| `get_city_overview` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/get-city-overview.md |
| `get_city_resource` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/get-city-resource.md |
| `list_cities` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/list-cities.md |
| `pois` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/pois.md |
| `sources` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/sources.md |
| `station_board_arrivals` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/station-board-arrivals.md |
| `station_board_departures` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/station-board-departures.md |
| `transit_departures` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/transit-departures.md |
| `weather` | Read | Low | https://policylayer.com/tools/dev-infranode-infranode/weather.md |

## Tool descriptions

- `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.
- `compare` — Compare ONE resource across MULTIPLE cities in a single response. Fans the resource out over the listed cities and returns a per-city source_status (ok/disabled/no_data/error/not_found), so a missing or failing city source does not spoil…
- `get_city` — Get base data for a German city (population, area, coordinates). Sourced from Wikidata. Read-only. Useful as a first lookup to confirm a city exists and get its core attributes. For a broader question about the city (what data is availab…
- `get_city_overview` — Get a ONE-CALL overview of everything InfraNode knows about a German city. Start here for any city question. Returns: the city's base data, a CATALOG of all 81 available data types (weather, air quality, public transit, trains, traffic, …
- `get_city_resource` — Fetch ANY per-city data type by its key (generic accessor, 81 data types). One tool for the whole breadth of InfraNode: live data (air, traffic, transit stops, parking, charging, water-level, flood, sharing, fuel-prices, webcams, station…
- `list_cities` — List all covered cities (slug, federal state, population, coverage). Takes no arguments. Call this first to discover valid city slugs before invoking any city-scoped tool. Read-only.
- `pois` — Get points of interest in a German city, filtered by type. Sourced from OpenStreetMap. Read-only.
- `sources` — List all data sources with license, attribution and availability. Takes no arguments. Shows which upstream sources InfraNode bundles and whether each is currently active. Read-only.
- `station_board_arrivals` — Get live arrivals for ANY railway station by its EVA number. Mirror of station_board_departures for arriving trains (all categories, real-time delays, disruption messages). Get the EVA from get_city_resource(slug, resource='stations'). R…
- `station_board_departures` — Get live departures for ANY railway station by its EVA number. Covers all train categories including local/regional (S/RB/RE) and long distance, with real-time delays, cancellations and disruption messages. Get the EVA from get_city_reso…
- `transit_departures` — Get live public-transport departures with real-time delays for a stop. Sourced from GTFS-RT/HVV/VGN. Unlike the static stop list (get_city_resource(slug, resource='transit')), this returns minute-fresh departures including delay for ONE …
- `weather` — Get current weather observations for a German city. Sourced from the Deutscher Wetterdienst (DWD): temperature, wind, precipitation and related fields. Read-only, current conditions only (not a forecast). For warnings use get_city_resour…

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=dev-infranode-infranode · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/dev-infranode-infranode
