Skip to main content
Glama
emilpinski

mcp-polish-data

by emilpinski

mcp-polish-data

CI

Status

Claude、Cursor、Windsurf向けのポーランド公的データ(KRS、CEIDG、GUS BDL)MCPサーバー。

Landing page

概要

AIアシスタントがチャット画面を離れることなく、ポーランド政府のレジストリやGUS統計に直接アクセスできるようにするModel Context Protocol (MCP) サーバーです。一度インストールすれば、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 — 県別の人口、失業率、平均総給与、統計変数の検索

  • グレースフル・デグラデーション — CEIDGがJWTトークンを必要とする場合、サーバーはクラッシュする代わりに役立つメッセージを提供します

  • ゼロコンフィグ — pipインストールのみ、基本機能にAPIキーは不要

  • Python 3.11+ — async/await、httpx、FastMCP 2.0を採用

スタック

レイヤー

テクノロジー

プロトコル

Model Context Protocol (MCP)

フレームワーク

FastMCP 2.0

HTTP

httpx (async)

Python

3.11+

ビルド

Hatchling

テスト

pytest, pytest-asyncio

ライセンス

MIT

はじめに

pip install mcp-polish-data

Claude 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"

利用可能なツール

ツール

説明

krs_search_company(nip)

NIPによる企業検索(VATホワイトリスト経由 — KRS APIは名称検索をサポートしていません)

krs_get_company_details(krs_number)

9桁または10桁のKRS番号による全抽出データ

ceidg_search_business(name, nip, regon, surname)

CEIDGでの個人事業主検索

gus_get_population(unit_name, year)

県別の人口

gus_get_unemployment_rate(year)

県別の失業率

gus_get_average_salary(year)

県別の平均総給与

gus_search_variable(query)

GUS BDL内の統計変数の検索

環境変数

変数

説明

必須

CEIDG_TOKEN

高度なCEIDGエンドポイント用のJWTトークン

オプション

プロンプト例

  • "NIP 5270103391を調べて、会社名と住所を教えて"

  • "2023年の全県の失業率を比較して"

  • "ポメラニアとマゾフシェの平均給与は?"

  • "クラクフにいる姓がKowalskiのCEIDG個人事業主をすべて見つけて"

ステータス

稼働中 — mcp-polish-data.vercel.app | PyPI: mcp-polish-data


作成者: Emil Piński

スクリーンショット

Landing page and documentation API endpoints overview

Available Tools

7 tools
ceidg_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNonazwa firmy
nipNonumer NIP (10 cyfr)
regonNonumer REGON (9 lub 14 cyfr)
surnameNonazwisko przedsiębiorcy
max_itemsNomaksymalna liczba wyników

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNorok (domyślnie 2023)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
unit_nameNonazwa województwa (opcjonalnie)
yearNorok (domyślnie 2023)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNorok (domyślnie 2023)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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").

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesfragment nazwy zmiennej
page_sizeNoliczba wyników

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
krs_numberYes9- lub 10-cyfrowy numer KRS (np. "0000127815" dla Orlen)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nipNonumer NIP (10 cyfr) — preferowane
nameNonazwa firmy (zwraca instrukcje, bo API nie wspiera search-by-name)
max_itemsNomaksymalna liczba wyników

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 7 tool updatesv0.1.0
    • First observedceidg_search_business
    • First observedgus_get_average_salary
    • First observedgus_get_population
    • First observedgus_get_unemployment_rate
    • First observedgus_search_variable
    • First observedkrs_get_company_details
    • First observedkrs_search_company

TDQS

A4/5.0

Scored across 7 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for the Polish company register (KRS) via the official Ministry of Justice API — entities, boards and shareholders with verifiable citations.
    3
    28 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP 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
  • A
    license
    A
    quality
    C
    maintenance
    MCP 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.
    5
    7 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Polish company registries that enables looking up companies by NIP or KRS using public government APIs with no authentication required.
    2
    MIT