
Know-your-business checks for Polish companies: KRS, owners, insolvency, sanctions, gazette notices.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional: Bearer mcpk_… key from https://compabase.com/integrations?tab=mcp. Clients with OAuth support can sign in instead.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get the registry profile of one Polish company: name, legal form, address, industry (PKD), share capital, representation rules, recent registry changes, VAT status and headline financials for the latest filed period. Identify the company by name, KRS number or company tax number (NIP). For earlier years or full statements use get_financials.
KRS number of the company in the Polish National Court Register (10 digits).
Polish company tax number (NIP) of the business, 10 digits.
Company name, used when the KRS or NIP is not known.
Get the registry profile of one Polish company: name, legal form, address, industry (PKD), share capital, representation rules, recent registry changes, VAT status and headline financials for the latest filed period. Identify the company by name, KRS number or company tax number (NIP). For earlier years or full statements use get_financials.
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
}
}
}Get the text of a Polish company's articles of association or statute from the court register document repository. Use for questions about share transfers, pre-emption rights, voting rights, management board powers or company duration. Identify the company by name, KRS number or company tax number (NIP).
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
| doc_id | string | Optional: specific rar_doc_id. Omit for the latest articles / statute. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
},
"doc_id": {
"type": "string",
"description": "Optional: specific rar_doc_id. Omit for the latest articles / statute."
}
}
}Get CRBR beneficial owners for a KRS company. All names are returned (same as zarząd / wspólnicy). PESEL is never included (birth_year only). JDG are not in CRBR.
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
}
}
}Get notices about a Polish company published in the Court and Commercial Gazette (Monitor Sądowy i Gospodarczy): calls to creditors, liquidation, mergers and transformations. Identify the company by name, KRS number or company tax number (NIP).
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
}
}
}Get insolvency and restructuring proceedings of a Polish company from the National Debtors Register (KRZ). Identify the company by name, KRS number or company tax number (NIP).
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
}
}
}KNF register (Polish Financial Supervision Authority): licences and entries of a financial company — banks, payment / e-money institutions, investment firms, insurers, lending institutions, agents. Returns entries with kind, KNF number, status, registration / decision / strike-off dates and services. Keyed by NIP; null when the company has no KNF entry.
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
}
}
}Get people associated with a company — management board, supervisory board, shareholders, proxies. Returns display names, role labels, and relationship types (management, supervisory, ownership, procuration). Identify by name, KRS, or NIP.
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
| relationship_type | string | Filter: management, supervisory (rada nadzorcza), ownership, procuration. Omit for all. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
},
"relationship_type": {
"type": "string",
"description": "Filter: management, supervisory (rada nadzorcza), ownership, procuration. Omit for all."
}
}
}Official MSWiA sanctions listing for one company. Returns measures and legal grounds when the company is listed; null when it is not. Matched by KRS, NIP, or REGON. The same payload is included on get_company as sanctions.
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
}
}
}Secured liabilities from the latest financial-statement notes (period ending 2025+): mortgages (hipoteki), registered / financial pledges (zastawy), transfers of ownership, assignments — with creditor, amount, secured debt, asset and land-register (KW) numbers. Keyed by KRS; null when nothing is disclosed.
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
}
}
}Get Warsaw Stock Exchange listing for a company — ticker, ISIN, market (GPW main / NewConnect / GlobalConnect), last close and change, market cap, shares outstanding, TTM EPS, TTM P/E (falls back to last annual filing), last quarterly results, next earnings date, dividend per share and yield. Quotes delayed ~15 minutes, in PLN. Snapshot plus a few recent daily bars — not full OHLCV history. Keyed by NIP. Identify company by name, KRS, or NIP.
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| name | string | Company name, used when the KRS or NIP is not known. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
}
}
}Get current billing period usage and remaining quota — mcp_queries, api_requests, export_companies, ask_ai_credits, watchlist_companies. Includes limits and reset date.
No arguments.
{
"type": "object",
"properties": {}
}Search and filter Polish KRS companies (spółki). Compabase also holds the full CEIDG/JDG register; this tool does not browse JDG — those without a public contact email are hidden because of RODO. Default `fields=summary` returns a compact row (name, NIP, KRS, location, PKD, latest financials, email/phone/website) — small enough for MCP clients. `fields=contacts_only` is name/NIP/KRS/city/email/phone/website only. `fields=full` returns every company_search column plus contacts and may exceed client size limits. Use for rankings, sector filters, city/county/region browsing, name search, or NIP/KRS lookup. When a PKD is mostly JDG, a sparse result includes a `hint` (full CEIDG is in the database; listing is RODO-gated). Do not call export_companies just to get a handful of emails or phones.
| Argument | Type | Description |
|---|---|---|
| krs | string | KRS number of the company in the Polish National Court Register (10 digits). |
| nip | string | Polish company tax number (NIP) of the business, 10 digits. |
| pkd | string | Primary PKD code prefix, e.g. '46.90.Z' or '46'. |
| city | string | City name — KRS records use uppercase, e.g. 'WARSZAWA', 'POZNAŃ'. |
| name | string | Company name, used when the KRS or NIP is not known. |
| year | integer | Filter to companies whose latest financial_period_to falls within this calendar year (e.g. 2024). Use only for sector/ranking browse — omit when looking up a company by name, KRS, or NIP. |
| limit | integer | Max results (default: 10, max: 50). |
| county | string | County / powiat (lowercase). |
| fields | string | Response size. Default summary (name, NIP, KRS, location, PKD, latest financials, email/phone/website). contacts_only: name, NIP, KRS, city, email, phone, website. full: every company_search column plus contacts — often too large for MCP clients. |
| region | string | Voivodeship (lowercase), e.g. 'mazowieckie', 'wielkopolskie'. |
| all_pkd | string | Match any PKD code in the company's activity list (not just primary). |
| sort_by | string | Sort field (default: revenue_total). registration_date + sort_dir=desc lists the newest registrations first. revenue_growth_pct + sort_dir=desc lists the fastest-growing companies (y/y revenue growth from KRS financial statements; combine with revenue_min to skip small companies). |
| currency | string | Currency for monetary filters. Default: pln. |
| sort_dir | string | Sort direction (default: desc). |
| has_email | boolean | true = only companies with email on record. Matching rows include contacts.email. Omit otherwise. |
| is_active | boolean | true = active only, false = closed only. Omit for all. |
| ebitda_max | number | Maximum EBITDA. |
| ebitda_min | number | Minimum EBITDA. |
| legal_form | string | Legal form fragment, e.g. 'spółka z o.o.' or 'akcyjna'. |
| profit_max | number | Maximum net profit. |
| profit_min | number | Minimum net profit. |
| capital_max | number | Maximum share capital. |
| capital_min | number | Minimum share capital. |
| has_website | boolean | true = only companies with website on record. Matching rows include contacts.website. Omit otherwise. |
| postal_code | string | Postal code prefix, e.g. '00-9' or '61-'. |
| revenue_max | number | Maximum total revenue. |
| revenue_min | number | Minimum total revenue. |
| total_assets_max | number | Maximum total assets. |
| total_assets_min | number | Minimum total assets. |
| estimated_value_max | number | Maximum Ohlson estimated equity value in PLN. |
| estimated_value_min | number | Minimum Ohlson estimated equity value in PLN. |
| profit_operating_max | number | Maximum operating profit (PLN). Omit if unused. |
| profit_operating_min | number | Minimum operating profit (PLN). Negative allowed. Omit if unused. |
| registration_date_max | string | Latest KRS registration date, YYYY-MM-DD (inclusive). |
| registration_date_min | string | Earliest KRS registration date, YYYY-MM-DD (inclusive). For newly registered companies use today's date for both registration_date_min and registration_date_max. |
{
"type": "object",
"properties": {
"krs": {
"type": "string",
"description": "KRS number of the company in the Polish National Court Register (10 digits)."
},
"nip": {
"type": "string",
"description": "Polish company tax number (NIP) of the business, 10 digits."
},
"pkd": {
"type": "string",
"description": "Primary PKD code prefix, e.g. '46.90.Z' or '46'."
},
"city": {
"type": "string",
"description": "City name — KRS records use uppercase, e.g. 'WARSZAWA', 'POZNAŃ'."
},
"name": {
"type": "string",
"description": "Company name, used when the KRS or NIP is not known."
},
"year": {
"type": "integer",
"description": "Filter to companies whose latest financial_period_to falls within this calendar year (e.g. 2024). Use only for sector/ranking browse — omit when looking up a company by name, KRS, or NIP."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Max results (default: 10, max: 50)."
},
"county": {
"type": "string",
"description": "County / powiat (lowercase)."
},
"fields": {
"enum": [
"contacts_only",
"summary",
"full"
],
"type": "string",
"description": "Response size. Default summary (name, NIP, KRS, location, PKD, latest financials, email/phone/website). contacts_only: name, NIP, KRS, city, email, phone, website. full: every company_search column plus contacts — often too large for MCP clients."
},
"region": {
"type": "string",
"description": "Voivodeship (lowercase), e.g. 'mazowieckie', 'wielkopolskie'."
},
"all_pkd": {
"type": "string",
"description": "Match any PKD code in the company's activity list (not just primary)."
},
"sort_by": {
"enum": [
"revenue_total",
"profit_net",
"total_assets",
"profit_operating",
"ebitda",
"capital_total",
"estimated_value",
"registration_date",
"revenue_growth_pct"
],
"type": "string",
"description": "Sort field (default: revenue_total). registration_date + sort_dir=desc lists the newest registrations first. revenue_growth_pct + sort_dir=desc lists the fastest-growing companies (y/y revenue growth from KRS financial statements; combine with revenue_min to skip small companies)."
},
"currency": {
"enum": [
"pln",
"usd",
"eur"
],
"type": "string",
"description": "Currency for monetary filters. Default: pln."
},
"sort_dir": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction (default: desc)."
},
"has_email": {
"type": "boolean",
"description": "true = only companies with email on record. Matching rows include contacts.email. Omit otherwise."
},
"is_active": {
"type": "boolean",
"description": "true = active only, false = closed only. Omit for all."
},
"ebitda_max": {
"type": "number",
"description": "Maximum EBITDA."
},
"ebitda_min": {
"type": "number",
"description": "Minimum EBITDA."
},
"legal_form": {
"type": "string",
"description": "Legal form fragment, e.g. 'spółka z o.o.' or 'akcyjna'."
},
"profit_max": {
"type": "number",
"description": "Maximum net profit."
},
"profit_min": {
"type": "number",
"description": "Minimum net profit."
},
"capital_max": {
"type": "number",
"description": "Maximum share capital."
},
"capital_min": {
"type": "number",
"description": "Minimum share capital."
},
"has_website": {
"type": "boolean",
"description": "true = only companies with website on record. Matching rows include contacts.website. Omit otherwise."
},
"postal_code": {
"type": "string",
"description": "Postal code prefix, e.g. '00-9' or '61-'."
},
"revenue_max": {
"type": "number",
"description": "Maximum total revenue."
},
"revenue_min": {
"type": "number",
"description": "Minimum total revenue."
},
"total_assets_max": {
"type": "number",
"description": "Maximum total assets."
},
"total_assets_min": {
"type": "number",
"description": "Minimum total assets."
},
"estimated_value_max": {
"type": "number",
"description": "Maximum Ohlson estimated equity value in PLN."
},
"estimated_value_min": {
"type": "number",
"description": "Minimum Ohlson estimated equity value in PLN."
},
"profit_operating_max": {
"type": "number",
"description": "Maximum operating profit (PLN). Omit if unused."
},
"profit_operating_min": {
"type": "number",
"description": "Minimum operating profit (PLN). Negative allowed. Omit if unused."
},
"registration_date_max": {
"type": "string",
"description": "Latest KRS registration date, YYYY-MM-DD (inclusive)."
},
"registration_date_min": {
"type": "string",
"description": "Earliest KRS registration date, YYYY-MM-DD (inclusive). For newly registered companies use today's date for both registration_date_min and registration_date_max."
}
}
}