InfraNode
What this MCP does
Provides read-only data for German cities, including weather, air quality, transit, railway departures, traffic, parking, charging, demographics, tourism and points of interest.
Tools
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "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 works (München/munich/munchen -> muenchen, cologne -> koeln, frankfurt -> frankfurt-am-main). An unknown name returns 404 with a 'Meintest du ...?' suggestion. list_cities gives the canonical slugs."}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'required': ['resource', 'cities'], 'properties': {'cities': {'type': 'string', 'description': "Comma-separated list of city slugs, e.g. 'berlin,koeln,hamburg' (max. 28 cities)."}, 'resource': {'type': 'string', 'description': "Resource to compare. Supported: 'weather' (DWD), 'air' (UBA air quality), 'indicators' (INKAR socioeconomic indicators incl. unemployment rate and EV charging coverage), 'demographics', 'unemployment', 'tourism', 'charging-status' (live EV charging occupancy, aggregates only) and 'weather-warnings' (official DWD warning level per city)."}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "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 works (München/munich/munchen -> muenchen, cologne -> koeln, frankfurt -> frankfurt-am-main). An unknown name returns 404 with a 'Meintest du ...?' suggestion. list_cities gives the canonical slugs."}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "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 works (München/munich/munchen -> muenchen, cologne -> koeln, frankfurt -> frankfurt-am-main). An unknown name returns 404 with a 'Meintest du ...?' suggestion. list_cities gives the canonical slugs."}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'required': ['slug', 'resource'], 'properties': {'slug': {'type': 'string', 'description': "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 works (München/munich/munchen -> muenchen, cologne -> koeln, frankfurt -> frankfurt-am-main). An unknown name returns 404 with a 'Meintest du ...?' suggestion. list_cities gives the canonical slugs."}, 'resource': {'enum': ['accidents', 'air', 'air-uba', 'base', 'bathing-water', 'bike-counts', 'bike-parking', 'business-registrations', 'care', 'charging', 'charging-status', 'childcare', 'civil-protection-warnings', 'construction', 'council-papers', 'crime-stats', 'demographics', 'district-heating', 'drinking-water', 'education', 'education-stats', 'election', 'energy', 'events', 'fire-danger', 'flood', 'fuel-prices', 'geo', 'government-offices', 'health', 'heritage', 'holidays', 'hospitals-atlas', 'indicators', 'insolvencies', 'integration', 'labour-market', 'land-values', 'markets', 'mobility-points', 'municipal-finance', 'office-wait-times', 'overview', 'parcel-lockers', 'park-and-ride', 'parking', 'parking-onstreet', 'playgrounds', 'pollen-uv', 'population-density', 'population-structure', 'population-trend', 'post-boxes', 'post-offices', 'power-load', 'power-price', 'public-tenders', 'public-toilets', 'public-wifi', 'recycling-centres', 'road-events', 'sharing', 'social-situation', 'solar', 'solar-roofs', 'station-arrivals', 'station-departures', 'station-facilities', 'stations', 'sustainability', 'tax-rates', 'tourism', 'traffic', 'transit', 'tree-cadastre', 'unemployment', 'vehicle-registrations', 'water-level', 'weather', 'weather-warnings', 'webcams'], 'type': 'string', 'description': "Data type key to fetch, exactly as listed by get_city_overview / the infranode://catalog resource (the 'type' field), e.g. 'charging', 'parking', 'demographics', 'solar', 'district-heating'."}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'required': ['slug', 'type'], 'properties': {'slug': {'type': 'string', 'description': "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 works (München/munich/munchen -> muenchen, cologne -> koeln, frankfurt -> frankfurt-am-main). An unknown name returns 404 with a 'Meintest du ...?' suggestion. list_cities gives the canonical slugs."}, 'type': {'type': 'string', 'description': 'POI type from the API allowlist, one of: hospital, school, pharmacy, restaurant, police, kindergarten.'}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'required': ['eva'], 'properties': {'eva': {'type': 'string', 'description': "Station EVA number (digits only) from get_city_resource(slug, resource='stations'), e.g. '8000105' (Frankfurt Hbf)."}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'required': ['eva'], 'properties': {'eva': {'type': 'string', 'description': "Station EVA number (digits only) from get_city_resource(slug, resource='stations'), e.g. '8011160' (Berlin Hbf)."}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "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 works (München/munich/munchen -> muenchen, cologne -> koeln, frankfurt -> frankfurt-am-main). An unknown name returns 404 with a 'Meintest du ...?' suggestion. list_cities gives the canonical slugs."}, 'stop_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Required stop ID to fetch departures for. Discover a city's stop IDs with get_city_resource(slug, resource='transit') first (each stop carries its id). Format: DELFI 'de:<AGS>:<id>' or a numeric gtfs.de stop id. NOTE: this is NOT the trip_stop_id (nor its deprecated alias stop_id) from station_departures/station_arrivals, whose value identifies one stop of one train run (e.g. '-1203677609210685804-2607251113-13'); passing it returns no_data with a corrective note instead of departures."}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "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 works (München/munich/munchen -> muenchen, cologne -> koeln, frankfurt -> frankfurt-am-main). An unknown name returns 404 with a 'Meintest du ...?' suggestion. list_cities gives the canonical slugs."}}}
Output schema
{'type': 'object', '$defs': {'ToolMeta': {'type': 'object', 'properties': {'note': {'type': 'string'}, 'source': {'type': 'string'}, 'license': {'type': 'string'}, 'attribution': {'type': 'string'}, 'cache_status': {'type': 'string'}, 'source_status': {'type': 'string'}, 'correlation_id': {'type': 'string'}}, 'additionalProperties': True}}, 'required': ['data', 'meta'], 'properties': {'data': {}, 'meta': {'$ref': '#/$defs/ToolMeta'}}}
Recent tool changes
Similar MCP servers
SupplyGraph.AI Data
Provides China-focused location, surrounding-area, company, industry-chain, property, population, retail, and regional business i…
Microburbs Australian Property Data
Provides Australian property, suburb, valuation, sales, rental, zoning, school, risk, geospatial, and census statistics.
UK Environmental Intelligence MCP Server from MCPBundles
Provides UK environmental intelligence covering flood warnings, river and groundwater readings, bathing water quality, ecology ob…
Ca Dmv
Provides California DMV data on vehicle and EV registrations, driver licenses, DMV offices, forms, and insurer NAIC codes.
Adsb
Provides live ADS-B aircraft positions, nearby-aircraft searches, callsign and airframe tracking, and military or government airc…
Arcgis Houston
Provides access to Houston, Texas ArcGIS geospatial data, including layer schemas and filtered feature or map-layer queries.
Arcgis Salem
Provides access to Salem, Oregon open geospatial data through ArcGIS layer schema inspection and attribute or geometry queries.
Arcgis Eastbatonrouge
Provides access to East Baton Rouge Parish, Louisiana ArcGIS geospatial data, including layer schemas and filtered feature or map…