mcp-polish-data
mcp-polish-data
Claude, Cursor 및 Windsurf를 위한 폴란드 공공 데이터(KRS, CEIDG, GUS BDL) MCP 서버.

소개
AI 어시스턴트가 채팅창을 벗어나지 않고도 폴란드 정부 레지스트리 및 GUS 통계 데이터에 직접 접근할 수 있게 해주는 MCP(Model Context Protocol) 서버입니다. 한 번 설치하면 Claude나 Cursor가 자동으로 KRS에서 기업을 조회하고, CEIDG에서 개인 사업자를 확인하며, GUS BDL에서 지역 통계를 검색하는 방법을 알게 됩니다.
MIT 라이선스이며, API 키가 필요하지 않습니다.
Related MCP server: krs-verify
주요 기능
KRS — NIP로 기업 조회 (VAT 화이트리스트 경유 — KRS API는 이름 검색을 지원하지 않음), 9자리 또는 10자리 KRS 번호로 전체 추출물 조회
CEIDG — 이름, NIP, REGON 또는 소유자 성으로 개인 사업자 검색
GUS BDL — 주(voivodeship)별 인구, 실업률, 평균 총급여, 통계 변수 검색
우아한 오류 처리 — CEIDG에서 JWT 토큰이 필요한 경우, 서버가 충돌하는 대신 유용한 메시지를 제공
제로 구성 — 간단한 pip 설치, 기본 기능 사용 시 API 키 불필요
Python 3.11+ — async/await, httpx, FastMCP 2.0 지원
기술 스택
계층 | 기술 |
프로토콜 | Model Context Protocol (MCP) |
프레임워크 | FastMCP 2.0 |
HTTP | httpx (비동기) |
Python | 3.11+ |
빌드 | Hatchling |
테스트 | pytest, pytest-asyncio |
라이선스 | MIT |
시작하기
pip install mcp-polish-dataClaude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json (Windows) 파일을 편집하세요:
{
"mcpServers": {
"polish-data": {
"command": "mcp-polish-data"
}
}
}Claude Desktop을 재시작하면 도구가 자동으로 나타납니다.
Cursor / Windsurf
git clone https://github.com/emilpinski/mcp-polish-data
cd mcp-polish-data
pip install -e ".[dev]"
pytest tests/ -v -m "not integration"사용 가능한 도구
도구 | 설명 |
| NIP로 기업 검색 (VAT 화이트리스트 경유 — KRS API는 이름 검색을 지원하지 않음) |
| 9자리 또는 10자리 KRS 번호로 전체 추출물 조회 |
| CEIDG에서 개인 사업자 검색 |
| 주(voivodeship)별 인구 |
| 주(voivodeship)별 실업률 |
| 주(voivodeship)별 평균 총급여 |
| GUS BDL에서 통계 변수 검색 |
환경 변수
변수 | 설명 | 필수 여부 |
| 고급 CEIDG 엔드포인트를 위한 JWT 토큰 | 선택 사항 |
예시 프롬프트
"NIP 5270103391을 조회해서 회사 이름과 주소를 알려줘"
"2023년 모든 주(voivodeship)의 실업률을 비교해줘"
"포메라니아와 마조비아의 평균 급여는 얼마인가요?"
"크라쿠프에 있는 성이 Kowalski인 모든 CEIDG 개인 사업자를 찾아줘"
상태
라이브 — mcp-polish-data.vercel.app | PyPI: mcp-polish-data
제작자: Emil Piński
스크린샷

Available Tools
7 toolsceidg_search_businessA
Szukaj przedsiębiorcy (jednoosobowej działalności gospodarczej) w CEIDG.
Użyj gdy użytkownik pyta o JDG, freelancera, osobę fizyczną prowadzącą działalność gospodarczą. Dla spółek użyj krs_search_company.
Wymaga co najmniej jednego z: name, nip, regon, surname.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | nazwa firmy | |
| nip | No | numer NIP (10 cyfr) | |
| regon | No | numer REGON (9 lub 14 cyfr) | |
| surname | No | nazwisko przedsiębiorcy | |
| max_items | No | maksymalna liczba wyników |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It mentions requirements but does not disclose behavioral traits like auth, rate limits, or what happens with invalid input. However, it does specify the tool is for searching and expects at least one parameter, which is basic behavioral info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with three sections, but the first line is in Polish while sibling tools are in English. Could be shorter by removing repetition, but it's well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 params, simple search), no output schema needed since search results are standard. Description covers purpose, usage, requirements, and sibling distinction, making it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by stating that at least one of the four core parameters is required, which is not in schema. It also groups name, nip, regon, surname as the required ones, enhancing parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for sole proprietorships in CEIDG, using specific verbs 'Szukaj' and specifying the resource 'przedsiębiorcy (jednoosobowej działalności gospodarczej)'. It also distinguishes from sibling tool krs_search_company, which is for companies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool (JDG, freelancer) and when not (spółki, use krs_search_company). It also specifies required parameters: at least one of name, nip, regon, surname.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gus_get_average_salaryB
Pobierz przeciętne miesięczne wynagrodzenie brutto dla województw z GUS BDL.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | rok (domyślnie 2023) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry the entire burden. It correctly implies a read-only data retrieval operation, but does not disclose whether it requires authentication, rate limits, or data freshness (e.g., if only one year is available). It's adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that clearly communicates the purpose. It is front-loaded but uses a non-standard term 'Pobierz' which may or may not be universally understood; however, it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no nested objects, has output schema), the description is mostly adequate. However, it could mention that the output schema exists and note any regional coverage limitations (e.g., only for Polish voivodeships). The context signals show low complexity, so a moderate score is fair.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (one parameter 'year' with default and Polish description). The description adds 'domyślnie 2023' which is already in the schema default, and does not provide additional meaning beyond that. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Pobierz' (download/get) and clearly states the resource: 'przeciętne miesięczne wynagrodzenie brutto dla województw z GUS BDL'. This distinguishes it from sibling tools which retrieve population, unemployment, or search variables/companies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. It doesn't state any prerequisites, limitations, or when it would be inappropriate compared to other tools like 'gus_get_unemployment_rate' or 'gus_search_variable'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gus_get_populationA
Pobierz dane demograficzne (ludność) z GUS BDL.
Domyślnie zwraca ludność wszystkich 16 województw na 31 XII danego roku. Podaj unit_name (np. "Mazowieckie") aby zawęzić wyniki.
| Name | Required | Description | Default |
|---|---|---|---|
| unit_name | No | nazwa województwa (opcjonalnie) | |
| year | No | rok (domyślnie 2023) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the default return set (all voivodeships) and the year default, which gives agents a good behavioral understanding. However, it does not mention potential limitations or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (three sentences) with the most important information front-loaded. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 optional parameters, high schema coverage, and an output schema (not shown but present), the description is complete enough. It covers purpose, default behavior, and how to use the optional parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the effect of unit_name (to filter results) and the default for year. It also gives a concrete example for unit_name, which enhances understanding beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches demographic (population) data from GUS BDL, with a specific verb ("Pobierz") and resource (ludność z GUS BDL). It distinguishes from sibling tools like gus_get_average_salary and gus_get_unemployment_rate by explicitly mentioning population as the data type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the default behavior (all 16 voivodeships) and how to narrow results using the unit_name parameter. It does not explicitly mention when not to use it or contrast with siblings, but the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gus_get_unemployment_rateA
Pobierz stopy bezrobocia rejestrowanego dla 16 województw z GUS BDL.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | rok (domyślnie 2023) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. Description implies this is a read operation retrieving data. It does not mention any destructive actions, authentication, or rate limits. However, it's a simple retrieval with one parameter, so the risk is low. A 3 is adequate given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence that conveys essential information. No wasted words. Front-loaded with key verb 'Pobierz' (retrieve) and object.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is simple (one optional parameter, output schema present), the description covers the main purpose. It could mention that data is for Poland and specifies the granularity (16 voivodeships). Output schema likely describes return structure, so description need not detail return values. High completeness for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one parameter 'year' with description and default). The description adds no extra meaning to the parameter beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states Polish and English: retrieves registered unemployment rates for 16 voivodeships from GUS BDL. It's specific about resource (unemployment rate), scope (16 voivodeships), and source (GUS BDL), distinguishing it from siblings like average salary or population.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool vs siblings. Context implies it's for unemployment rate data. No guidance on when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gus_search_variableA
Szukaj zmiennej statystycznej w GUS BDL po fragmencie nazwy.
Użyj gdy potrzebujesz wskaźnika którego nie ma w dedykowanych narzędziach (np. "emisja CO2", "liczba lekarzy", "turystyka").
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | fragment nazwy zmiennej | |
| page_size | No | liczba wyników |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description bears full burden. It indicates the tool searches by name fragment (query param) and returns results (page_size), but does not clarify behavioral aspects like pagination behavior, sorting, or error handling (e.g., what if no results?). It does not mention authentication needs or rate limits. Acceptable for a search tool but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise: two short sentences. The first sentence defines the tool's purpose, and the second provides usage context with examples. No extraneous information. Perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a simple search interface with 2 parameters and an output schema, the description adequately covers the main use case. It does not explain the output schema or return format, but since an output schema exists, that is not required. It could mention the language (Polish) of the database and results, but overall sufficient for a straightforward search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes both parameters ('query' as name fragment, 'page_size' as number of results). The description confirms that query is a fragment of the variable name and page_size controls result count, but adds no additional meaning beyond the schema. Baseline score 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool action: 'Search for a statistical variable in GUS BDL by name fragment.' It specifies the verb (search), resource (statistical variable in GUS BDL), and scope (by name fragment). It differentiates from sibling tools by mentioning its use when a desired indicator is not available in dedicated tools (e.g. specific indicators like CO2 emissions, number of doctors, tourism), which are not covered by siblings like gus_get_population or gus_get_average_salary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides explicit use case: 'Use when you need an indicator not available in dedicated tools' and gives examples of queries. This implies when not to use it (when dedicated tools exist), but does not explicitly state alternative tools or when to use siblings. The context is clear for distinguishing from specialized tools, but lacks direct references to sibling methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
krs_get_company_detailsA
Pobierz pełne dane spółki z KRS na podstawie numeru KRS.
Zwraca pełen odpis aktualny: dane rejestrowe, siedzibę, zarząd, kapitał zakładowy, PKD, prokurentów, sprawozdania finansowe.
| Name | Required | Description | Default |
|---|---|---|---|
| krs_number | Yes | 9- lub 10-cyfrowy numer KRS (np. "0000127815" dla Orlen) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It explicitly lists the data returned (rejestrowe, siedzibę, zarząd, kapitał zakładowy, PKD, prokurentów, sprawozdania finansowe) and implies it provides the full current extract, revealing scope beyond simple retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is 3 lines, front-loads the main action, and lists key data elements efficiently. It is concise but covers essential aspects without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with full schema coverage and an output schema present, the description adequately covers what the tool returns. It does not explain error cases or prerequisites, but for this simple tool, completeness is high.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the parameter (krs_number with format example). The description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Pobierz pełne dane spółki z KRS' (download full company data from KRS) and specifies the resource (based on KRS number), distinguishing it from sibling tools like 'krs_search_company' which likely searches, not retrieves detailed data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, but the context signals indicate siblings: 'krs_search_company' likely for searching vs this for details. Usage is implied by the verb 'Pobierz' (download) but no exclusions or selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
krs_search_companyA
Szukaj podmiotu gospodarczego — preferowana metoda po NIP.
Używa Białej Listy VAT Ministerstwa Finansów — zwraca dane dowolnego podatnika (spółki, JDG, instytucji) po numerze NIP: nazwa, REGON, numer KRS, adres, zarząd, wspólnicy, rachunki bankowe.
Publiczne API KRS nie obsługuje wyszukiwania po nazwie — dlatego najlepszą metodą identyfikacji podmiotu jest NIP.
| Name | Required | Description | Default |
|---|---|---|---|
| nip | No | numer NIP (10 cyfr) — preferowane | |
| name | No | nazwa firmy (zwraca instrukcje, bo API nie wspiera search-by-name) | |
| max_items | No | maksymalna liczba wyników |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses critical behavioral traits: it uses a specific government database (Biała Lista VAT MF), what data fields are returned (name, REGON, KRS, address, management, shareholders, bank accounts), and the limitation that name search returns instructions rather than results. Since no annotations are provided, the description compensates well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose. It uses three clear sentences. The only minor issue is that it could be slightly more structured with a brief summary upfront.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description does not need to explain return values. It covers the tool's data source, returned fields, and key limitation well. It could be slightly more complete by noting pagination or max_items effect, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema already describes all three parameters with 100% coverage, so baseline is 3. The description reiterates the NIP preference and name limitation but does not add significant new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for business entities (Szukaj podmiotu gospodarczego) and specifies it uses the White List of VAT taxpayers returning detailed data by NIP number. It distinguishes itself from siblings by noting that the public KRS API does not support search by name, so NIP is preferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends using NIP as the preferred method and explains why name search is not supported. However, it does not provide explicit when-not-to-use scenarios or mention alternatives for name-based search (e.g., ceidg_search_business).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.1.0- First observed
ceidg_search_business - First observed
gus_get_average_salary - First observed
gus_get_population - First observed
gus_get_unemployment_rate - First observed
gus_search_variable - First observed
krs_get_company_details - First observed
krs_search_company
TDQS
Scored across 7 tools
Tools are mostly distinct: CEIDG vs KRS for different entity types, GUS tools for different statistics. However, ceidg_search_business and krs_search_company could be confused when searching for a company that might be in both, but descriptions clarify which to use.
All tools follow a consistent 'datasource_action_entity' pattern (e.g., ceidg_search_business, gus_get_average_salary, krs_search_company). No mixing of conventions.
7 tools is appropriate for a Polish business data server covering CEIDG, KRS, and GUS statistical data. Each tool serves a distinct purpose without being too few or too many.
Covers key business lookup (CEIDG, KRS) and major GUS indicators (salary, population, unemployment) with a generic search. Missing some Polish databases (e.g., REGON) but core workflows are well-supported.
Maintenance
Related MCP Connectors
MCP server for 3M+ Polish companies — KRS & CEIDG financials, ownership, and industry search.
MCP server for structured Dutch vehicle data and license plate intelligence. Access RDW-based vehicle specifications, registration details, APK information, fuel and emissions data, weights, dimensions, ownership-related signals and other vehicle knowledge through KentekenKompas.nl. Built for AI assistants, agents and applications that need reliable, machine-readable information about vehicles registered in the Netherlands.
Polish company registry: 4.4M firms, KRS/REGON data, VAT white list checks, financial statements
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for the Polish company register (KRS) via the official Ministry of Justice API — entities, boards and shareholders with verifiable citations.328 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
- AlicenseAqualityCmaintenanceMCP server that provides AI agents with Polish business data tools: identifier validation (NIP, PESEL, REGON, KRS, IBAN), VAT whitelist checks, EU VIES lookups, and NBP exchange rates.57 npmMIT
- AlicenseAqualityBmaintenanceMCP server for Polish company registries that enables looking up companies by NIP or KRS using public government APIs with no authentication required.2MIT