Connect InfraNode and your agent gets 12 tools, among them air_quality, compare, get_city. It answers at https://mcp.infranode.dev/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 10 September 2026; the last check, on 19 October 2026, succeeded.
Keyless open data for 84 German cities: 12 lean read-only MCP tools covering 67 data types.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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. Inputs: slug |
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 spoi Inputs: resource, cities |
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 available Inputs: slug |
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, cha Inputs: slug |
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-de Inputs: slug, resource |
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. Inputs: slug, type |
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') Inputs: eva |
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_resou Inputs: eva |
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 Inputs: slug, stop_id |
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_resourc Inputs: slug |
Every block below points at https://mcp.infranode.dev/mcp. Pick your client and copy.
claude mcp add --transport http infranode https://mcp.infranode.dev/mcp
{
"mcpServers": {
"infranode": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.infranode.dev/mcp"]
}
}
}{
"mcpServers": {
"infranode": {
"url": "https://mcp.infranode.dev/mcp"
}
}
}{
"servers": {
"infranode": {
"type": "http",
"url": "https://mcp.infranode.dev/mcp"
}
}
}{
"context_servers": {
"infranode": {
"url": "https://mcp.infranode.dev/mcp"
}
}
}{
"mcpServers": {
"infranode": {
"serverUrl": "https://mcp.infranode.dev/mcp"
}
}
}{
"mcpServers": {
"infranode": {
"url": "https://mcp.infranode.dev/mcp"
}
}
}name: InfraNode
version: 0.0.1
schema: v1
mcpServers:
- name: InfraNode
type: streamable-http
url: https://mcp.infranode.dev/mcp{
"mcpServers": {
"infranode": {
"httpUrl": "https://mcp.infranode.dev/mcp"
}
}
}{
"mcpServers": {
"infranode": {
"type": "http",
"url": "https://mcp.infranode.dev/mcp"
}
}
}{
"mcpServers": {
"infranode": {
"url": "https://mcp.infranode.dev/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.infranode.dev%2Fmcp&type=streamable_http&id=infranode&name=InfraNode
It answered our last check on 19 October 2026 in 304 ms. Over 6 checks since 10 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by infranode.dev and served from mcp.infranode.dev, the vendor's own domain: https://mcp.infranode.dev/mcp.
12, as returned by the server's own tools/list on 11 September 2026: air_quality, compare, get_city, get_city_overview, get_city_resource, list_cities, pois, sources, and 4 more.
It answered our last check on 19 October 2026 in 304 ms. Over 6 checks since 10 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.infranode.dev/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: dev.infranode. Endpoint host: mcp.infranode.dev. ARD identifier: urn:air:dev.infranode:mcp:infranode.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.