← Agent Data Hub · Catalogs · Time-series archive · /llms.txt · Privacy

Agent Data Hub — connector documentation

Agent Data Hub is a read-only data connector for AI agents: official statistics, central bank rates, FX, energy, weather, holidays and research metadata from openly licensed public sources, with full histories. No account, no API key.

It serves 305 verified endpoints, 12,825 catalog entries (World Bank World Development Indicators, Eurostat datasets, Statistics Canada tables, Destatis GENESIS tables (German official statistics)) and an archive of 47,438 time series with 5,318,392 data points. Every answer names its source, license and data freshness.

Connect

Claude (claude.ai, Desktop)Settings → Connectors → Add custom connector → URL https://api.agentdatahub.de/mcp, no authentication
Claude Codeclaude mcp add --transport http agentdatahub https://api.agentdatahub.de/mcp
Other MCP clients{ "mcpServers": { "agentdatahub": { "type": "http", "url": "https://api.agentdatahub.de/mcp" } } } (Streamable HTTP)
RESTGET https://api.agentdatahub.de/api/v1/ask?q=germany+inflation · OpenAPI

Tools

All tools are read-only: they never change anything, here or at a data source.

ToolWhat it does
ask_anything
Answer a data question
Routes a plain-language data question to the best matching endpoint of this service (official statistics, central bank rates, FX, energy, weather, holidays, research metadata) or catalog entry (World Bank indicators, Eurostat datasets, Statistics Canada and Destatis GENESIS tables), runs it and returns compact JSON with source, license and data_freshness. Also returns confidence and, when unsure, ready alternative calls. Examples: "convert 250 usd to eur", "weather berlin tomorrow", "germany inflation", "hospital beds germany eurostat". When to use: the first call for any data question when you do not know the endpoint id. Use call_api instead when you already have an id from an earlier answer, get_series for a long numeric history. If nothing matches it returns status "unfulfilled"; search_apis lists endpoints by keyword. Read-only, no API key or signup. Free quota: 1000 calls/day per IP, shared across tools.
search_apis
Search the endpoint catalog
Searches the catalog of verified endpoints (official statistics, interest rates, FX, energy, weather, geo, holidays, research, developer tools) by keyword and returns the best matches (10 by default) with id, short description, parameter names and an example query. When to use: to browse what exists for a topic, or when ask_anything returned "unfulfilled" or a low-confidence match. Pass the chosen id to call_api. Does not fetch any data and does not count against the quota.
call_api
Call an endpoint
Runs one endpoint by id with parameters and returns its data as compact JSON (source, license, data_freshness included). Bundles answer whole tasks in one call: bundle-location-brief (weather, time, holidays for a place), bundle-country-brief, bundle-eurozone-brief, bundle-energy-brief-de, bundle-npm-package-brief. When to use: you know the endpoint id (from search_apis, from alternatives or catalog_choices of ask_anything, or from the docs) and want to set parameters exactly, e.g. another country or date. params are the endpoint's own query parameters as listed by search_apis (example_query). Unknown ids or bad params return an error message naming the problem. Read-only, no API key or signup. Free quota: 1000 calls/day per IP, shared across tools.
get_series
Get a full time series
Returns complete numeric histories as compact CSV (t,value) from this service's archive of openly licensed series, e.g. ECB FX rates since 1999 (fx.EUR.USD), World Bank indicators for all countries since 1960 (wb.FP.CPI.TOTL.ZG.DE), ECB rates and 10y yields (ecb.rate.deposit, ecb.yield10y.IT), Eurostat, Statistics Canada, ONS and FAO series, German power prices (smard.price.day), sunspots since 1749 (noaa.sunspot-number). Pass q to search series ids, or id to fetch one (max 1,000 points, most recent kept). When to use: for many periods of one number (e.g. yearly inflation since 2000, monthly FX since 2010), with from/to and resample. For the latest value with context use ask_anything; get_history only holds values this service recorded from live endpoints. Read-only, no API key or signup. Free quota: 1000 calls/day per IP, shared across tools.
get_history
Get recorded endpoint history
Returns change points this service recorded over time for an endpoint (e.g. exchange rates, weather) as compact CSV. Use the same params as the live call. When to use: to see how a live value (e.g. an exchange rate or the weather at a place) changed since this service started recording it. For long official histories use get_series instead. Returns an error if nothing was recorded for these params. Read-only, no API key or signup. Free quota: 1000 calls/day per IP, shared across tools.

Example prompts

PromptWhat happens
What was Germany's inflation rate last month, and how did it change over the past year?ask_anything → de-consumer-prices (Destatis)
Compare the 10-year government bond yields of Germany and Italy since 2015, yearly averages.get_series ecb.yield10y.DE / ecb.yield10y.IT with resample=A
How many hospital beds does France have? Use Eurostat.ask_anything → eurostat-dataset hlth_rs_bds1 (catalog choice)
Is next Monday a public holiday in Bavaria, and what is the weather forecast for Munich?call_api bundle-location-brief
Show the euro to US dollar exchange rate since 2020 as monthly averages.get_series fx.EUR.USD with resample=M

Data quality

Limits

Troubleshooting

status: "unfulfilled"No endpoint fits the question. Rephrase with the topic and country, or use search_apis with keywords.
confidence: "low"The match is uncertain; alternatives and catalog_choices list ready calls with the parameters filled in.
defaults_usedParameters missing from the question were filled with examples; pass them explicitly if they matter.
Error with a reason (HTTP 422)A parameter is invalid; the message says which and what is allowed. Nothing is substituted.
HTTP 503 / retryableThe original source is unavailable; retry later.
Quota exhaustedThe daily free quota is used up; it resets at 00:00 UTC.

Privacy

No account and no cookies. IP addresses are stored only as a daily-rotating pseudonymous hash; question texts are kept to learn which data is missing and are unlinked from that hash after 30 days. No conversation content beyond the tool arguments is received. Details: Privacy policy (Datenschutzerklärung).

Support and security

Email: agent.apidatahub@gmail.com · Security reports: see security.txt · Operator: Impressum · Status: /healthz