rejestr-io-mcp
MCP server providing access to Polish business registers (KRS, CRBR) via the rejestr.io API, enabling search, retrieval of organizations, beneficial owners, financial documents, and more.
README
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/M1-M4). - 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.
Wymagania
- Python >= 3.11
- uv
- 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 .env
Uruchomienie
Transport stdio (domyślny, do integracji z Claude Desktop/Claude Code):
uv run rejestr-io-mcp
Transport HTTP (domyślnie nasłuch tylko na 127.0.0.1):
uv run rejestr-io-mcp --transport http --port 8000
Aby 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 8000
Konfiguracja 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 |
|---|---|---|---|
REJESTR_IO_API_KEY |
tak | — | Klucz API rejestr.io |
REJESTR_IO_BASE_URL |
nie | https://rejestr.io/api/v2/ |
Bazowy adres API |
REJESTR_IO_CACHE_TTL_SECONDS |
nie | 300 |
TTL cache w pamięci (sekundy) |
REJESTR_IO_CACHE_MAX_SIZE |
nie | 512 |
Maks. liczba wpisów w cache |
REJESTR_IO_DOWNLOAD_DIR |
nie | ./downloads |
Katalog zapisu plików PDF |
MCP_TRANSPORT |
nie | stdio |
stdio lub http |
MCP_HTTP_PORT |
nie | 8000 |
Port nasłuchu dla MCP_TRANSPORT=http |
MCP_HTTP_HOST |
nie | 127.0.0.1 |
Adres nasłuchu dla MCP_TRANSPORT=http. Domyślnie tylko pętla zwrotna (localhost); ustaw np. 0.0.0.0, aby udostępnić serwer w swojej sieci |
MCP_HTTP_AUTH_TOKEN |
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 |
|---|---|---|
search_organizations |
Wyszukiwanie organizacji w KRS wg nazwy, NIP/REGON, formy prawnej, kodów PKD, statusów, adresu, z paginacją | — |
get_organization |
Podstawowe dane organizacji wg numeru KRS lub NIP (np. 12345 albo nip1234567890) |
— |
get_organization_krs_chapter |
Jeden rozdział KRS organizacji: general, branches, shares, mentions, liabilities, transformations |
branches, liabilities, transformations — Premium+ |
get_organization_beneficial_owners |
Beneficjenci rzeczywiści (CRBR) organizacji | Premium+ |
get_organization_relations |
Aktualne lub historyczne powiązania organizacji z innymi organizacjami i osobami w KRS | — |
get_organization_krs_extract |
Pobranie odpisu z KRS (PDF): current (aktualny) lub full (pełny) |
current — Premium+, full — Biznes |
list_organization_krs_entries |
Lista wszystkich wpisów do KRS zarejestrowanych dla organizacji | — |
get_person |
Aktualne dane osoby występującej w KRS wg jej identyfikatora | — |
get_person_relations |
Aktualne lub historyczne powiązania osoby z organizacjami w KRS | — |
list_organization_financial_documents |
Lista grup dokumentów finansowych (wg okresu sprawozdawczego) dostępnych w KRS dla organizacji | Premium+ |
get_organization_financial_document |
Jeden dokument finansowy organizacji: format='pdf' (plik) albo format='json' (treść sparsowana) |
pdf — Premium+, json — Biznes |
get_account_balance |
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 -v
Wszystkie 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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。