Skip to main content
Glama

Server Details

Verify Polish companies by NIP/KRS/REGON + EU VAT (VIES). 14 MCP tools (9 no-key).

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
bartosz-kuc/skanfirmy-mcp
GitHub Stars
0
Server Listing
skanfirmy-mcp
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 14 tools

Disambiguation4/5

Most tools target a distinct registry or action: sprawdz_nip (single entity VAT+KRS), sprawdz_lista_nip (bulk), sprawdz_regon (GUS), sprawdz_vies (EU VIES), sprawdz_rachunek (account check). The main soft overlap is sprawdz_nip vs sprawdz_lista_nip, which both return VAT White List data, but the descriptions clearly steer bulk vs single use. Monitoring tools (observe_nip, unobserve_nip, list_observations, changes_since, set_webhook) are cleanly separated.

Naming Consistency3/5

All names are snake_case and follow a verb_noun shape (observe_nip, sprawdz_nip, szukaj_pkd), so the pattern is readable. However, the set mixes English (changes_since, list_observations, set_webhook, unobserve_nip) with Polish (sprawdz_*, szukaj_*, generuj_*, oblicz_*) verbs, which is an inconsistent convention for an agent to predict.

Tool Count4/5

14 tools sits comfortably in a well-scoped range, and each covers a distinct lookup or monitoring step. A couple (szukaj_katalog_api, oblicz_odsetki) are adjacent utilities rather than core registry operations, but they still earn a place.

Completeness4/5

The surface covers the domain well: single and bulk NIP checks, REGON, VIES, bank-account verification, PKD lookup, micro-account generation, interest calculation, and a full monitoring lifecycle (observe/list/changes/webhook/unobserve). Gaps are minor — lookup is NIP-driven with no name/KRS-number search, and no deeper KRS financial-statement access — but core workflows have no dead ends.

Available Tools

14 tools
changes_sinceA
Read-onlyIdempotent
Inspect

Return changes (VAT status, bank accounts, or registry data — name, address, KRS, REGON — from the White List) detected since a given date for the NIPs you monitor. The field property is one of: status_vat, account_added, account_removed, name, address, krs, regon. For natural persons (entities without a KRS number; natural_person: true) only status_vat, account_added and account_removed are returned, account numbers are masked (check digits + last 4, e.g. 61…2874) and name is null (GDPR); check a specific account with sprawdz_rachunek. A polling channel for agents. Requires a skanfirmy API key.

Inputs: since, api_key.

generuj_mikrorachunekA
Read-onlyIdempotent
Inspect

Generate the individual tax micro-account (for PIT/CIT/VAT payments) from a NIP. The server does not accept PESEL (personal ID) — for a PESEL compute it locally: BBAN = "101000712221" + PESEL + "0", IBAN = "PL" + ISO 7064 mod-97 check digits + BBAN (or use skanfirmy.pl/mikrorachunek, which computes it in the browser).

Inputs: identyfikator (required).

list_observationsA
Read-onlyIdempotent
Inspect

Return the list of NIPs you monitor, with their current VAT status and last-checked date (name is null for natural persons running a business). Each entry keeps the raw Ministry of Finance literal in status_vat and, when a status is known, adds derived language-neutral fields vat_active (boolean) and status_vat_code (active/exempt/not_registered). Requires a skanfirmy API key.

Inputs: api_key.

oblicz_odsetkiA
Read-onlyIdempotent
Inspect

Calculate statutory or commercial (B2B) late-payment interest, broken down by NBP reference-rate periods.

Inputs: typ (required), kwota (required), dataDo (required), dataOd (required).

observe_nipA
Idempotent
Inspect

Add a NIP to monitoring. You get notified (via changes_since or email) when its VAT status, bank account, or registry data shown on the Ministry of Finance White List (name, address, KRS, REGON) changes. For natural persons running a business (entities without a KRS number) only the VAT status and masked bank accounts are monitored (GDPR): no name, address or REGON changes. Requires a skanfirmy API key (Authorization: Bearer, or the api_key argument). Free plan: up to 10 NIPs.

Inputs: nip (required), api_key.

set_webhookA
Destructive
Inspect

Set (or clear) a push webhook URL for your monitoring, instead of or in addition to polling. When we detect a change for a monitored NIP, we send a POST signed with HMAC-SHA256 (X-Skanfirmy-Signature header). Returns the secret ONCE. Pass an empty url to disable. Requires a skanfirmy API key. Public https addresses only (port 443).

Inputs: url, api_key.

sprawdz_lista_nipA
Read-onlyIdempotent
Inspect

Bulk-check up to 30 NIPs in one call to the Ministry of Finance VAT White List: VAT status, bank accounts, REGON, KRS number and address of each entity. For entities without a KRS number (natural persons) the address is reduced to the town and bank accounts to their count, and no REGON number or registration date is returned (GDPR) — check a specific account with sprawdz_rachunek. For verifying a portfolio of counterparties. Ministry limits: max 30 NIPs per call; the Ministry's daily query limit is shared by the whole service — when it is exhausted, the tool returns an error. Does not fetch full KRS data (use sprawdz_nip for individual entities). If every NIP in the list is an entity with a KRS number already checked today, the result comes from a same-day cache without a Ministry query: mfCached is true and mfRequestDateTime is the time of the oldest of those queries.

Inputs: nipy (required).

sprawdz_nipA
Read-onlyIdempotent
Inspect

Check VAT status (VAT White List / Biała Lista) and KRS data for a Polish company by NIP. For entities without a KRS number (sole proprietors and civil partnerships, i.e. natural persons) personal data is limited (GDPR): the address is reduced to the town (the White List does not say whether it is a business or a home address), and bank accounts to their count — check a specific account with sprawdz_rachunek; no REGON number, registration date or PKD codes are returned for them (the ceidg field is always null). The privacy field lists what was hidden. White List data for entities with a KRS number may come from a same-day cache: then mfCached is true and bl.mfRequestDateTime is the time of the original Ministry query. If the full White List refuses the query (Ministry limit), the result may be status-only (source: status-only): bl is null and vatStatus has only the VAT status from the Ministry's API2, without name, address or bank accounts.

Inputs: nip (required).

sprawdz_rachunekA
Read-onlyIdempotent
Inspect

Check whether a bank account number (NRB) appears in the VAT White List for a given NIP. Due diligence for payments above PLN 15,000.

Inputs: nip (required), numerRachunku (required).

sprawdz_regonA
Read-onlyIdempotent
Inspect

Look up entity data in the REGON register (Statistics Poland / GUS BIR) by NIP: REGON number, official name, legal form (legal or natural person), address (voivodeship, county, municipality). Covers ALL entities, including sole proprietors that are not in the KRS. For natural persons (GUS type F / LF) and civil partnerships (s.c.) only the NIP, name, entity type code (typ), form (forma: 'osoba fizyczna' / 'jednostka lokalna osoby fizycznej' / 'spółka cywilna'), town and activity status (status: active / ended) are returned — no REGON number, address, administrative units or dates (GDPR); the full entry is in the GUS REGON search (privacy.officialSource).

Inputs: nip (required).

sprawdz_viesA
Read-onlyIdempotent
Inspect

Validate a counterparty's EU VAT number in the VIES system (European Commission). For Polish (PL) numbers the address is reduced to the town, because the number may belong to a natural person (GDPR).

Inputs: vatNumber (required), countryCode (required).

szukaj_katalog_apiA
Read-onlyIdempotent
Inspect

Search otwarteAPI.pl, a catalog of public Polish and EU APIs (VAT, KRS, GUS, NBP, ECB, Eurostat and more). Returns matching entries with a link to each API's official docs. An empty query returns the whole catalog (optionally narrowed by scope or topic).

Inputs: temat, zasieg, zapytanie.

szukaj_pkdA
Read-onlyIdempotent
Inspect

Search PKD 2025 business activity codes by activity name or code number.

Inputs: zapytanie (required).

unobserve_nipA
DestructiveIdempotent
Inspect

Stop watching a NIP — the watch is deleted right away. Requires a skanfirmy API key.

Inputs: nip (required), api_key.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      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
      D
      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
      11 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables real-time verification of Polish NIP (Tax Identification Numbers) using the official Ministry of Finance API. Also supports checking if a bank account belongs to a specific NIP.
      2
      12 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables looking up Polish companies by NIP, REGON, or KRS number to retrieve their registered name, legal address, and entity type from Statistics Poland's official register.
      304 npm
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.