Skip to content
InfraNode logo

InfraNode MCP server

Which servers in the official MCP registry are InfraNode's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-26

← Back to InfraNode

Whose server it is
  • Registry namedev.infranode/infranodeverified in the MCP registry

The registry name sits under infranode.dev. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-26
  • Stateanswerschecked 2026-10-26
  • Tools12
  • Server calls itselfinfranode
  • Server version1.27.2
  • Protocol version2025-06-18

On 2026-10-26 the server answered initialize and tools/list without a sign-in. First answer in 740 ms.

Should an agent connect itNot proven either way yet
  • Its tools do Pull live public transport departures for a city, but not Look up current fuel prices per city.
  • Checked on 1 of the 7 days it takes to judge reliability.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 1, the first on 2026-10-26
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 1 so far
  • What an agent can do with it1 of 2 use cases
  • Use14 GitHub stars
  • Answeredmeasuring1 of the 7 daily checks it takes to print a share
  • Median first answer784 ms
  • Space in an agent's context≈ 2,880 tokensthe definitions of all its tools (12), which an agent carries on every turn
  • Tool definitionsA · 100 of 100
  • Typed results12 of 12 toolsdeclared outputSchema: results come typed, read once
  • Every tool passes all six checks.

What an agent can do with it

  • cannot · Look up current fuel prices per city
  • can do · Pull live public transport departures for a city
  • not sure · Fetch weather warnings and air quality readings

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

None of the five warning signs in these definitions.

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (30%), doing the product's job (25%), definitions (20%), context (10%) and use (15%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers12 tools · read 2026-10-26
  • 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…

  • 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 80 available data types (weather, air quality, public transit, trains, traffic…

  • get_city_resource

    Fetch ANY per-city data type by its key (generic accessor, 80 data types). One tool for the whole breadth of InfraNode: live data (air, traffic, transit stops, parking, charging, water-level, flood, sharing, fuel-prices…

  • 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.

  • 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…

  • pois

    Get points of interest in a German city, filtered by type. Sourced from OpenStreetMap. Read-only.

  • 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…

  • 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…

  • 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…

  • 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.

  • 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.

  • 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…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "infranode": {
      "type": "http",
      "url": "https://mcp.infranode.dev/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http infranode https://mcp.infranode.dev/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://mcp.infranode.dev/mcp as a custom connector in the settings.

OpenAPI spec

122 paths, read 2026-10-26. Open the spec ↗

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.