HA

Handelsregister

io.github.jkbngb/handelsregister

German Handelsregister + Austrian Firmenbuch for AI agents: master data, financials & ratios.

Yes, your AI can use this right now.Answered a live MCP handshake in 1224 ms with no sign-in needed and exposes 19 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://register.agentic-firmenbuch.at/mcp

19 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
pingread-only

Liveness probe: confirms the unified register server is up. Read-only. Parameters: - check_backends (optional, default false): when true, additionally performs a cheap connection handshake against every configured country backend and reports per-country reachability ("ok" / "unreachable"). Returns {status, server, countries, provenance} - countries map

get_coverageread-only

Dataset coverage and the capability matrix, per country. Read-only. CALL THIS FIRST before concluding that something does not exist in a country. Parameters: - country (optional, default "all"): "AT" | "DE" | "all" - which countries to include. Returns {countries: {<code>: <that backend's coverage payload>}, capabilities, countries_unavailable}. Each count

describe_fieldsread-only

Schema self-description: the unified id scheme, which filters exist, which countries support which capability, and each country's own field catalog. Read-only. Parameters: - country (optional, default "all"): "AT" | "DE" | "all" - whose field catalogs to include. Returns {id_scheme, capabilities, countries, countries_unavailable}. ``id_scheme`` d

search_companiesread-only

Find companies across the Austrian Firmenbuch and the German Handelsregister - START HERE for any company lookup. Read-only. Parameters: - filters (optional): every field optional, AND-combined. Shared core (both countries): name (substring), query (MEANING-based hybrid search over the registered purpose - both countries), status (active|inactive|all, d

get_company_detailsread-only

Full profile for ONE company, routed by its unified id. Read-only. Parameters: - company_id (required): "AT:{fnr}" (e.g. "AT:123456a") or "DE:{court}_{type}{number}" (e.g. "DE:D2601_HRB135076"); bare national ids are accepted too. Take it from a search card's ``company_id``. - max_signatories (optional, DE only): cap on the served officer list (DE defau

get_documentread-only

On-demand official register document for ONE German company. Read-only. Parameters: - company_id (required): "DE:{court}_{type}{number}" (e.g. "DE:D2601_HRB135076"); a bare German id works too. Austria is not supported here (its document flow is different). - kind (optional): "AD" = Aktueller Abdruck (current register extract, default) or "CD" = Chronol

export_companies_csvread-only

Export a matched company set as downloadable CSV files (lead lists). Read-only over company data; each call writes new short-lived export files (auto-deleted after ~1 day). Parameters: - filters (optional): EXACTLY the same unified filters as search_companies. - sort (optional): same as search_companies (applies where the country supports the fiel

find_peersread-only

Companies most similar to a given one - optionally ACROSS THE BORDER. Read-only. Parameters: - company_id (required): "AT:{fnr}" or "DE:{court}_{type}{number}" (bare national ids accepted), from a search card. - n (optional, default 10): how many peers per country. - cross_border (optional, default false): when true, additionally returns ``peers

search_personread-only

Find every company a person runs or represents - across BOTH registers in one call (cross-border person search). Read-only. Parameters: - name (required): person name substring, case-insensitive, e.g. "Mustermann". - country (optional, default "all"): "AT" | "DE" | "all". - page_size (optional, default 25): results per country. - status (optional, d

list_eventsread-only

Cross-company, cross-country feed of register CHANGES, newest first - the market-watch / deal-sourcing surface. Read-only. Parameters (all optional, AND-combined): - types: any of the SUPERSET enum - founding, new_registration, deletion, deletion_announced, name_change, seat_change, legal_form_change, capital_change, management_change, management_join,

get_event_statsread-only

Aggregate counts of register changes by type and region, per country. Read-only. Parameters (all optional): since / until (default last 30 days); bundesland; nace_section; nace_division (AT); legal_form (AT); country ("AT" | "DE" | "all"). Returns {countries, per_country, windows, notices}, each country's block being its own {total, by_type, by_bundesland}. Only A

get_company_historyread-only

Per-year financial-metric history for ONE company, routed by its unified id. Read-only. Parameters: - company_id (required): "AT:{fnr}" or "DE:{court}_{type}{number}" (bare national ids accepted), from a search card. - metrics (optional, AT only): names of the metrics to return (e.g. bilanzsumme, umsatzerloese, equity_ratio); omitted = all. Igno

get_full_recordread-only

The complete multi-year record for ONE company: every balance-sheet and P&L position's full per-year history, completeness flags and lineage. Read-only. The heaviest read - use get_company_details for a normal profile. Parameters: - company_id (required): "AT:{fnr}" (bare FNR accepted). Austria only today; a German id returns a clear error (Germany does n

list_documentsread-only

Chronology of a company's filing documents (metadata, newest first). Read-only. Parameters: - company_id (required): "AT:{fnr}" (bare FNR accepted). Austria only; for the German official register abstract use get_document with a "DE:" id instead. Returns the AT backend's document list plus ``country`` and the prefixed ``company_id``: each entry has type,

get_document_textread-only

Extracted text of ONE Austrian filing document, by its document key. Read-only. Parameters: - doc_key (required): the document_ref from list_documents (an Austrian filing key). - max_chars (optional, default 40000, clamped 1000-120000): truncation ceiling. Returns {doc_key, text, truncated, ...} with the filing's Stichtag for citation. Austria only today.

list_sectorsread-only

The value lists for filtering - legal forms, size classes - and, with a query word, the matching OENACE sectors with the exact nace_* filter to use. Read-only. Parameters: - query (optional): a category word (e.g. "Brauerei", "software"); returns ``matches`` with each sector's level, code, label and the nace_* filter value for search_companies. Omitted:

get_cohort_summaryread-only

Aggregate statistics for a cohort of companies, per country. Read-only. Parameters: - dimension (required): "gkl" (UGB size class, AT only), "bundesland", or "legal_form" (alias size_gkl -> gkl). - value (required): the cohort value (e.g. bundesland "Wien", legal_form "GmbH"). - country (optional, default "all"): "AT" | "DE" | "all". Returns {cou

benchmark_companyread-only

Benchmark ONE company against its size-class cohort: headline metrics, percentile ranks and the nearest peers. Read-only. Parameters: - company_id (required): "AT:{fnr}" (bare FNR accepted). Austria only (needs parsed financials); a German id returns a clear error. - n (optional, default 10): how many nearest peers to return. Returns the AT backe

get_my_usageread-only

Your own API-key usage across both registers: call count and weighted compute-units, per tool. Read-only. Parameters: - window (optional, default "today"): "today" | "yesterday" | "month_to_date" | "last_30_days" | "all". Returns only the calling key's own usage (totals + per-tool breakdown) for that window - never another user's data and never t

Alternatives in Finance & Payments

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”