rejestr-io-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rejestr-io-mcp find company KRS 0000123456"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rejestr-io-mcp
Serwer MCP (Model Context Protocol) udostępniający pełne API rejestr.io — Krajowy Rejestr Sądowy (KRS), Centralny Rejestr Beneficjentów Rzeczywistych (CRBR) oraz sprawozdania finansowe — jako zestaw narzędzi (tools) wywoływalnych przez klientów MCP (np. Claude Desktop, Claude Code).
Szybka instalacja (bez Pythona/uv)
Jeśli nie chcesz instalować Pythona ani uv, pobierz gotową paczkę dla swojego
systemu z zakładki Releases tego repozytorium:
Pobierz
rejestr-io-mcp-windows.zip(Windows) lubrejestr-io-mcp-macos.zip(macOS, procesory Apple Silicon).Rozpakuj całe archiwum ZIP do jednego folderu.
Uruchom instalator:
Zainstaluj.bat(Windows) lubZainstaluj.command(macOS) — dwuklik.Podaj swój klucz API rejestr.io, gdy zostaniesz o niego poproszony/a.
Uruchom ponownie Claude Desktop i/lub aplikację ChatGPT.
Instalator konfiguruje automatycznie zarówno Claude Desktop, jak i aplikację
ChatGPT (desktop) — nie trzeba ręcznie edytować żadnych plików konfiguracyjnych.
Szczegółowe instrukcje, w tym jak obejść ostrzeżenie systemu o niepodpisanym
programie, znajdują się w pliku INSTRUKCJA.txt dołączonym do paczki.
Ta ścieżka instalacji obsługuje obecnie Windows oraz macOS na Apple Silicon.
Na Linuksie lub starszych (Intel) Makach użyj instalacji przez uv opisanej
poniżej.
Related MCP server: mcp-polish-data
Wymagania
Python >= 3.11
Klucz API rejestr.io — patrz docs/api-reference.md
Instalacja
uv sync --extra dev
cp .env.example .env
# uzupełnij REJESTR_IO_API_KEY w .envUruchomienie
Transport stdio (domyślny, do integracji z Claude Desktop/Claude Code):
uv run rejestr-io-mcpTransport HTTP (domyślnie nasłuch tylko na 127.0.0.1):
uv run rejestr-io-mcp --transport http --port 8000Aby udostępnić serwer w swojej sieci lokalnej, podaj adres nasłuchu i ustaw token uwierzytelniający — patrz Zmienne środowiskowe:
MCP_HTTP_AUTH_TOKEN="$(openssl rand -hex 32)" uv run rejestr-io-mcp --transport http --host 0.0.0.0 --port 8000Konfiguracja klienta MCP
Przykładowy wpis w mcp.json:
{
"mcpServers": {
"rejestr-io": {
"command": "uv",
"args": ["run", "--directory", "/ścieżka/do/rejestr-io-mcp", "rejestr-io-mcp"],
"env": {
"REJESTR_IO_API_KEY": "twój-klucz-api"
}
}
}
}Zmienne środowiskowe
Zmienna | Wymagana | Domyślnie | Opis |
| tak | — | Klucz API rejestr.io |
| nie |
| Bazowy adres API |
| nie |
| TTL cache w pamięci (sekundy) |
| nie |
| Maks. liczba wpisów w cache |
| nie |
| Katalog zapisu plików PDF |
| nie |
|
|
| nie |
| Port nasłuchu dla |
| nie |
| Adres nasłuchu dla |
| nie | — (brak) | Opcjonalny token uwierzytelniający (bearer) dla transportu HTTP |
Uwagi bezpieczeństwa:
Jeśli
MCP_HTTP_AUTH_TOKENnie jest ustawiony, transport HTTP NIE ma żadnego uwierzytelniania — każdy, kto ma dostęp sieciowy do portu, może wywoływać narzędzia na Twoim (płatnym) kluczu API rejestr.io. PrzyMCP_HTTP_HOSTinnym niż127.0.0.1ustaw token.Gdy token jest ustawiony, klient MCP musi wysyłać nagłówek
Authorization: Bearer <token>.Używaj tokenu złożonego wyłącznie ze znaków ASCII (np.
openssl rand -hex 32). Nagłówki HTTP nie mają jednoznacznego kodowania — znaki spoza ASCII (np.ó) różne klienty MCP zakodują różnie, więc token z polskimi znakami może nie zostać uznany za poprawny. Serwer w takiej sytuacji bezpiecznie odrzuca żądanie (401), ale token po prostu nie zadziała.Obie zmienne dotyczą wyłącznie transportu HTTP — domyślny transport
stdioignoruje je (proces komunikuje się przez standardowe wejście/wyjście, bez gniazda sieciowego).
Adres i port można też podać z linii poleceń (--host, --port) — flagi mają pierwszeństwo przed zmiennymi środowiskowymi.
Narzędzia MCP
Serwer udostępnia 12 narzędzi. Nazwy narzędzi i ich parametry są angielskie — serwer tłumaczy je na polskie nazwy parametrów wymagane przez API rejestr.io.
Narzędzie | Opis | Wymagany plan |
| Wyszukiwanie organizacji w KRS wg nazwy, NIP/REGON, formy prawnej, kodów PKD, statusów, adresu, z paginacją | — |
| Podstawowe dane organizacji wg numeru KRS lub NIP (np. | — |
| Jeden rozdział KRS organizacji: |
|
| Beneficjenci rzeczywiści (CRBR) organizacji | Premium+ |
| Aktualne lub historyczne powiązania organizacji z innymi organizacjami i osobami w KRS | — |
| Pobranie odpisu z KRS (PDF): |
|
| Lista wszystkich wpisów do KRS zarejestrowanych dla organizacji | — |
| Aktualne dane osoby występującej w KRS wg jej identyfikatora | — |
| Aktualne lub historyczne powiązania osoby z organizacjami w KRS | — |
| Lista grup dokumentów finansowych (wg okresu sprawozdawczego) dostępnych w KRS dla organizacji | Premium+ |
| Jeden dokument finansowy organizacji: |
|
| Aktualny stan konta API rejestr.io w PLN | brak (darmowe) |
— w kolumnie „Wymagany plan" oznacza brak dodatkowych wymagań ponad standardowy klucz API. Pełne zestawienie wymagań planów: docs/api-reference.md.
Pobieranie plików PDF
Narzędzia get_organization_krs_extract i get_organization_financial_document (dla format='pdf') zapisują plik w katalogu z REJESTR_IO_DOWNLOAD_DIR (domyślnie ./downloads, względem katalogu roboczego procesu serwera) i zwracają bezwzględną ścieżkę do zapisanego pliku. Katalog jest tworzony automatycznie; ustaw REJESTR_IO_DOWNLOAD_DIR na zapisywalną ścieżkę bezwzględną, jeśli klient MCP uruchamia serwer w katalogu bez prawa zapisu.
Oba narzędzia przyjmują wspólny parametr return_base64 (domyślnie false). Przy return_base64=true oprócz ścieżki zwracana jest także zawartość pliku w odpowiedzi (blok treści z plikiem zakodowanym base64) — przydatne, gdy klient MCP nie ma dostępu do systemu plików serwera.
Szczegóły samego API rejestr.io (polskie nazwy parametrów, struktury odpowiedzi, wymagania planów) — zobacz docs/api-reference.md. Uwaga: ten dokument opisuje surowe API rejestr.io, a nie nazwy narzędzi tego serwera MCP.
Testy
uv run pytest -vWszystkie wywołania HTTP do rejestr.io są mockowane (respx) — testy nie wymagają dostępu do sieci ani prawdziwego klucza API.
Zastrzeżenie prawne
Nazwa „Rejestr.io" oraz usługa (API) rejestr.io są własnością Fundacji Moje Państwo (dawniej: Fundacja ePaństwo), KRS 0000359730, NIP 1231216692, REGON 142445947, ul. Nowogrodzka 25/37, 00-511 Warszawa.
Ten projekt (rejestr-io-mcp) nie jest oficjalnym produktem Fundacji Moje Państwo, nie jest z nią afiliowany, sponsorowany, popierany ani certyfikowany. Jest to niezależne, otwartoźródłowe narzędzie integracyjne (klient MCP), które wyłącznie przekazuje żądania do publicznego API rejestr.io przy użyciu własnego klucza API użytkownika, wykupionego bezpośrednio w serwisie rejestr.io. Nazwa i znak „rejestr.io" są tu przywoływane wyłącznie w celach informacyjnych/opisowych — aby wskazać, z jakim serwisem ten projekt współpracuje (tzw. użycie nominatywne) — a nie w celu przypisania sobie jakichkolwiek praw do tej nazwy, znaku towarowego czy danych udostępnianych przez rejestr.io.
Korzystanie z samego API i danych zwracanych za jego pośrednictwem podlega Regulaminowi usługi Rejestr.io API oraz ogólnemu Regulaminowi serwisu rejestr.io — tam też znajdziesz aktualny cennik, zasady planów abonamentowych oraz informacje o przetwarzaniu danych osobowych. Ten projekt nie rości sobie żadnych praw do treści pochodzących z Krajowego Rejestru Sądowego, CRBR ani innych rejestrów publicznych udostępnianych przez rejestr.io.
Available Tools
12 toolsget_account_balanceA
Get the current rejestr.io API account balance in PLN. Free — does not consume account balance.
Inputs: no named parameters. Returns: result
get_organizationA
Get basic data for an organization by KRS number or NIP (e.g. '12345' or 'nip1234567890').
Inputs: id (required). Returns: object
get_organization_beneficial_ownersA
Get the beneficial owners (CRBR) of an organization by KRS number or NIP. Requires a Premium+ plan.
Inputs: id (required). Returns: result
get_organization_financial_documentA
Get one financial document for an organization by document id. format='pdf' (default) requires Premium+ and saves the file to the downloads directory, returning its absolute path (pass return_base64=True to also receive the content inline). format='json' requires a Biznes plan and returns the parsed document content directly, at a higher per-request cost.
Inputs: id (required), document_id (required), format, return_base64.
get_organization_krs_chapterB
Get one KRS chapter (general, branches, shares, mentions, liabilities, or transformations) for an organization. 'branches', 'liabilities', and 'transformations' require a Premium+ plan.
Inputs: id (required), chapter (required), entry_number. Returns: object
get_organization_krs_extractA
Download a KRS extract (odpis) PDF for an organization. 'current' requires Premium+, 'full' requires Biznes plan. Saves the PDF to the downloads directory and returns its absolute path; pass return_base64=True to also receive the file content inline.
Inputs: id (required), extract_type, return_base64.
get_organization_relationsA
Get an organization's current or historical relations with other organizations and people in the KRS.
Inputs: id (required), status. Returns: result
get_personA
Get current data for a person appearing in the KRS by their person id.
Inputs: id (required). Returns: object
get_person_relationsA
Get a person's current or historical relations with organizations recorded in the KRS.
Inputs: id (required), status. Returns: result
list_organization_financial_documentsA
List financial document groups (by accounting period) available in the KRS for an organization. Requires a Premium+ plan.
Inputs: id (required). Returns: result
list_organization_krs_entriesB
List all KRS entries (wpisy) recorded for an organization.
Inputs: id (required). Returns: result
search_organizationsA
Search organizations in the Polish National Court Register (KRS) by name, registry numbers, legal form, PKD codes, status flags, address, and pagination.
Inputs: nip, city, name, page, +24 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Each tool targets a distinct resource-action pair: searching, retrieving organization data, chapters, entries, extracts, persons, relations, financial documents, and account balance. Even similar-looking tools like get_organization_krs_chapter, list_organization_krs_entries, and get_organization_krs_extract are clearly differentiated by their descriptions.
Tool names consistently follow a verb_noun pattern, primarily using get_ and list_ with resource-specific suffixes. The naming is predictable and makes the hierarchy of resources clear, e.g., get_organization, get_person, get_organization_relations, get_person_relations.
Twelve tools is well-scoped for a registry lookup server. Each tool addresses a meaningful part of the KRS data surface without unnecessary duplication or bloat, and the small utility tool for account balance earns its place.
The tool set provides thorough read-only coverage of the Polish National Court Register domain: search, basic data, KRS chapters, entries, extracts, beneficial owners, relations, financial documents, and persons. Because this is a read-only registry API, create/update/delete operations are not expected, so there are no obvious gaps.
Maintenance
Related MCP Connectors
KVK Handelsregister AI Connect: hosted MCP server for the Dutch business register.
Polish company records from the official KRS register API, with alerts on new registry entries.
Polish business register (REGON / BIR1.1) — resolve any Polish company by NIP, REGON or KRS number…
Verify Polish companies by NIP/KRS/REGON + EU VAT (VIES). 14 MCP tools (9 no-key).
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Slovak business registers (RPO) — AI agents can query 1.4M+ Slovak legal entities via Slovakia's official Statistical Office API. Search companies by name, IČO, or get full entity details including legal form, address, and statutory representatives.21MIT
- AlicenseAqualityDmaintenanceMCP server providing AI assistants access to Polish public registries (KRS, CEIDG) and statistical data (GUS BDL) for querying companies, sole proprietorships, and regional statistics.7MIT
- AlicenseAqualityCmaintenanceMCP server for the Polish company register (KRS) via the official Ministry of Justice API — entities, boards and shareholders with verifiable citations.3124 npm1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for verifying Polish business entities from the National Court Register (KRS) and VAT White List. Allows querying by KRS, NIP, or REGON to retrieve official company data including name, address, board, and capital.Apache 2.0