InfraNode.dev
MCP InfraNode is also available as an MCP server for AI assistants like Claude and ChatGPT.

InfraNode in ChatGPT: Custom GPTs and GPT actions

InfraNode is also available for the OpenAI ecosystem: a curated GPT action makes the open data of all 84 large German cities usable in Custom GPTs, keyless, free and without registration. A GPT can query weather, air quality, transit departures, parking, EV charging with live occupancy, water levels, events, demographics and more, and compare cities directly.

Try the InfraNode GPT for ChatGPT

Live open data for 84 German cities, right inside ChatGPT: Open in ChatGPT (GPT Store, category Research & Analysis, free). Example prompts to start with:

  • Show me the live air quality in Stuttgart and tell me if it is healthy.
  • Compare population, unemployment and EV charging coverage for Berlin, Hamburg and Munich.
  • Which EV charging points in Cologne are available right now?
  • When are the next trains departing from Hamburg Hauptbahnhof?
  • Where is fuel cheapest in Frankfurt right now?
  • Create a compact live city dashboard for Leipzig.

Connect right away

The actions OpenAPI is publicly available at https://infranode.dev/actions/openapi.json. In the GPT editor choose Actions, Import from URL, paste the URL, set authentication to None, done. 23 curated operations, all GET, no keys.

Your own city-data GPT in three steps

  1. In the GPT editor go to Configure, Actions, Create new action, choose Import from URL and paste https://infranode.dev/actions/openapi.json.
  2. Leave authentication at None (the API is keyless). As privacy policy you can use https://infranode.dev/en/privacy/.
  3. In the instructions tell the GPT to start with getCityOverview(slug), resolve unknown cities via getCities, and cite the attribution from every response.

Recommended GPT instructions

A proven building block to copy into the instructions field:

You answer questions about German cities using live data from the InfraNode API.
Rules:
1. City unclear? Call getCities first and pick the matching slug.
2. Entry point per city: getCityOverview(slug) shows what data exists.
3. Use compareCities to compare several cities.
4. Every response carries data.attribution (licence + source): cite the
   source in your answer, the licences require attribution.
5. meta.source_status "no_data" means the city lacks this source.
   Say so honestly, never invent values.
6. Include timestamps (observed_at) whenever freshness matters.

What is inside the action

The spec is deliberately curated down to 23 operations (ChatGPT allows at most 30 per action), following the same discovery pattern as the MCP server:

  • Discovery: getCities (all cities and slugs), getCityOverview (catalog of all data types per city plus a live snapshot), getSources (sources and licences).
  • Environment and weather: weather, official weather warnings, air quality, pollen and UV index, water levels, flood status.
  • Mobility: transit departures per city, traffic situation, roadworks, parking, EV charging and live charging occupancy, fuel prices.
  • City and economy: events, POIs, demographics, wholesale electricity price, key indicators, and the city comparison compareCities.

For everything beyond that (66 data types in total) use the REST API directly or the MCP server, which reaches every data type via get_city_resource.

ChatGPT as an MCP client

Independently of Custom GPTs, ChatGPT can also use the InfraNode MCP server directly as a connector (streamable HTTP, URL https://mcp.infranode.dev/mcp). That is the most convenient path with all 12 tools and 66 data types. Setup is described on the MCP server page.

Frequently asked questions

What is the difference between the GPT action and the MCP server?

Both talk to the same InfraNode API. The GPT action is the path for Custom GPTs in the ChatGPT ecosystem (OpenAPI import, no extra service required). The MCP server is the path for MCP-capable clients such as Claude, ChatGPT connectors or your own agents, and offers more convenient discovery with its 12 tools.

Do I need an API key for the action?

No. The InfraNode API is keyless and free. In the GPT editor simply set authentication to None.

Can I use the action in my own Custom GPT?

Yes, that is exactly what it is for. Import the OpenAPI spec from https://infranode.dev/actions/openapi.json in the GPT editor under Actions. The spec is curated down to the 23 most useful operations (ChatGPT allows a maximum of 30).

What data can a GPT fetch with it?

Weather, air quality, public transit departures, parking, EV charging including live occupancy, roadworks, water levels, events, demographics, electricity prices and more, for all 84 large German cities, plus city comparisons via the compare endpoint.

Does the GPT have to cite the data sources?

Yes. Every response carries an attribution field with licence and origin (such as DL-DE/BY or CC-BY). These licences require attribution, so a GPT should include the source in its answers. Our recommended GPT instructions do this automatically.