Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Polish Open Data (unofficial)

NUGET · POLISHOPENDATA.MCP

Polish registers: KRS, VAT, bank checks, parcels, geocoding, property prices (RCN), optional REGON.

+3 this week 83 Trust /100

Last scanned (4 hours ago)

Scores higher than 73% of NuGet servers

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Build provenance not yet verified. View diagnostics → Unverified
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 1 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2429 tokens (~303/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 25 Oct 26 0
    • Stability: 0.97 → pass security
  • 24 Oct 26 +16
    • Malware scan: unverified → pass ▲ security
  • 23 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Schema quality: 256 → 303 ▼ functional
    • Package version: 1.5.0 → 1.6.0 functional
  • 22 Oct 26 +1
    • Security disclosure: unverified → pass ▲ functional
  • 21 Oct 26 0
    • Security disclosure: pass → unverified ▼ functional
  • 19 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Oct 26 +39
    • Malware scan: pass → unverified ▼ security
    • Injection markers: unverified → pass ▲ security
    • Schema quality: 197 → 256 ▼ functional
    • Schema quality: 197 → 219 ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • Stability: unverified → 0.67 ▲ functional
    • Package version: 1.1.0 → 1.5.0 functional
    • Package version: 1.3.0 → 1.5.0 functional
    • Package version: 1.1.0 → 1.4.1 functional
    • Package version: 1.3.0 → 1.4.1 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 25 Oct 2026 · Analysed nuget/PolishOpenData.Mcp@1.6.0

Provenance Inconclusive

We could not complete the check, so nothing is claimed either way. This is a gap on our side, not a finding about the package.

Result Inconclusive
Ecosystem nuget
Reason Signature present, unverified

Signer

Signed as Repository signature, names nuget.org
Subject CN=NuGet.org Repository by Microsoft,O=NuGet.org Repository by Microsoft,L=Redmond,ST=Washington,C=US
Issuer CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1,O=DigiCert\, Inc.,C=US
Valid from 23 Feb 2024
Valid until 18 May 2027
Service index https://api.nuget.org/v3/index.json
Owners JacekSmi

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

Registry declarations For information only

What the registry and the package's own manifest say about this version. The publisher or the registry writes these, nothing here is verified, and none of it affects the score.

Repository https://github.com/JacekSmi/PolishOpenData
Repository type git
Commit 59a94d2546f435f90343eec7e54281c6d95cd8be
Project URL https://github.com/JacekSmi/PolishOpenData
MCP tools · 8 exposed · ~2,002 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
check_vat_bank_account ~152

Checks whether a bank account is on the Polish VAT whitelist (Biała Lista) for a taxpayer identified by NIP or REGON. Use before paying an invoice over 15,000 PLN; keep the returned request ID and time to document when the whitelist was checked and what it answered.

NameTypeReqDescription
bankAccountstringyesBank account number: 26-digit NRB or PL IBAN; spaces allowed.
datestring|null–Date to check in YYYY-MM-DD (default today in Poland).
nipstring|null–NIP of the taxpayer (give nip or regon).
regonstring|null–REGON of the taxpayer (give nip or regon).
NameTypeReqDescription
assignedToActiveVatPayerboolean––
bankAccountstringyes–
meaningstringyes–
nipstring|null––
regonstring|null––
requestDateTimestring––
requestIdstringyes–
sourceobjectyes–

No examples provided.

check_vat_bank_account_offline ~220

Checks pairs of NIP and bank account against the Ministry of Finance daily flat file of the VAT whitelist (plik płaski): offline, no request limit, many pairs at once (up to 50), and nothing about the pairs leaves this machine. Answers active, exempt or not_found; not_found means not found in the file, not proof that the account is absent from the whitelist. The first call for a date downloads about 250 MB and takes several minutes, much longer when the Ministry's server is slow. It does not return a request ID; for a check with a request ID use check_vat_bank_account.

NameTypeReqDescription
datestring|null–Date to check in YYYY-MM-DD (default today in Poland). Only the last 30 days and tomorrow are available.
pairsarrayyes1 to 50 pairs, each { "nip": NIP of the taxpayer (dashes and a PL prefix allowed), "bankAccount": 26-digit NRB or PL IBAN, spaces allowed }.
NameTypeReqDescription
fileDatestring––
generatedOnstring––
resultsarrayyes–
sourceobjectyes–

No examples provided.

find_parcel ~456

Finds Polish cadastral parcels (działki ewidencyjne) with GUGiK's ULDK service, by exactly one of: a parcel ID (TERYT format, e.g. 146510_8.0507.41/1), WGS-84 coordinates (latitude + longitude; latitude comes first), an address, or a region name with a parcel number (e.g. "Krzewina 134", which can match several parcels). Returns the parcel ID, number, region, commune, county, voivodeship and the center of its bounding box in WGS-84; includeGeometry adds the full boundary as WKT in EPSG:4326 (longitude latitude order, as WKT writes it; can be long for a large parcel; not available for regionAndNumber searches). An address must resolve to a single address point to pick a parcel, otherwise the geocoder's candidates are returned. Data comes from EGiB via GUGiK. Never returns or accepts land-registry (KW) numbers or owner data.

NameTypeReqDescription
addressstring|null–Address with a house number, e.g. "Warszawa, Krucza 50". It is geocoded first, so a street or town alone gives candidates, not a parcel.
includeGeometryboolean–Also return the parcel boundary as WKT in EPSG:4326 (longitude latitude order, as WKT writes it; not for regionAndNumber).
latitudenumber|null–WGS-84 latitude in degrees north, 48.9 to 55.0 (give together with longitude).
longitudenumber|null–WGS-84 longitude in degrees east, 14.0 to 24.2 (give together with latitude).
parcelIdstring|null–Parcel ID in TERYT format: commune code, region, optional sheet and number, e.g. 146510_8.0507.41/1.
regionAndNumberstring|null–Region name and parcel number, e.g. "Krzewina 134"; can match several parcels. No geometry is returned for this search.
NameTypeReqDescription
candidatesarray|null––
matchedAddressobject|null––
notestring|null––
parcelsarrayyes–
sourcesarrayyes–

No examples provided.

geocode_address ~163

Finds the coordinates of a Polish address (for example "Warszawa, Krucza 50") with GUGiK's address geocoder (UUG). Each match says whether it is an address, a street or a city: a partial address gives a street or city match whose point is only a representative point. Coordinates are WGS-84 (latitude, longitude). Public data from the national address register via GUGiK, based on EGiB and the address registers. Never returns or accepts land-registry (KW) numbers or owner data.

NameTypeReqDescription
addressstringyesFree-text address with the town and, for an exact point, the street and house number, e.g. "Warszawa, Krucza 50".
NameTypeReqDescription
matchesarrayyes–
notestring|null––
sourceobjectyes–

No examples provided.

get_krs_extract ~107

Returns a summary of the current National Court Register (KRS) extract: name, legal form, NIP/REGON, address, share capital, management and supervisory boards (names masked by the ministry), proxies, shareholders (companies and natural persons with masked names), and PKD activities. Reports removed entities with their removal date.

NameTypeReqDescription
krsstringyesKRS number (up to 10 digits), e.g. 28860 or 0000028860.
NameTypeReqDescription
notestring|null––
removedOnstring|null––
sourcesarray––
statusstringyes–
summaryobject|null––

No examples provided.

lookup_company ~185

Looks up a Polish company or organisation by exactly one of NIP, REGON or KRS number. Combines the VAT whitelist (Biała Lista: VAT status, seat address, bank accounts) with the National Court Register (KRS: legal form, share capital, registration, removal). If the lookup is by NIP or REGON and KRS fails, the whitelist part is still returned, with the KRS error in warnings. Public registry data.

NameTypeReqDescription
datestring|null–Date to check in YYYY-MM-DD (Biała Lista only; default today in Poland).
krsstring|null–KRS number (up to 10 digits).
nipstring|null–NIP tax number (10 digits; dashes and a PL prefix are allowed).
regonstring|null–REGON (9 or 14 digits).
NameTypeReqDescription
foundboolean––
krsstring|null––
krsRegistryobject|null––
namestring|null––
nipstring|null––
querystringyes–
regonstring|null––
sourcesarray––
vatobject|null––
warningsarray––

No examples provided.

property_prices ~548

Answers what real estate sold for in a Polish area: the median and quartile price per square metre of flats (premises) and the single transactions, newest first, for premises, parcels or buildings. Data come from the RCN register (Rejestr Cen Nieruchomości) via GUGiK and are published with a delay of several months; the result says how old the newest transaction is. Single transactions are public register entries (address, price, deed number); buyers and sellers are shown only by kind. Informational, not a valuation. Search by exactly one of: an address (geocoded first; it must resolve to a single address point, otherwise the geocoder's candidates are returned), WGS-84 coordinates (latitude + longitude; latitude comes first) with a radius, or a powiat code. Never returns or accepts land-registry (KW) numbers or owner data.

NameTypeReqDescription
addressstring|null–Address with a house number, e.g. "Warszawa, Krucza 50"; searches within radiusMeters of it. A street or town alone gives candidates, not prices.
dateFromstring|null–First day of the period, YYYY-MM-DD. Default: 24 months before dateTo.
dateTostring|null–Last day of the period, YYYY-MM-DD. Default: today (Warsaw time).
kindstring|null–premises (flats, garages, shops: default), parcels or buildings. Statistics are given for premises only.
latitudenumber|null–WGS-84 latitude in degrees north, 48.9 to 55.0 (give together with longitude).
longitudenumber|null–WGS-84 longitude in degrees east, 14.0 to 24.2 (give together with latitude).
marketstring|null–any (default), primary (from a developer) or secondary (resale).
maxTransactionsinteger–How many single transactions to list, 0 to 50 (default 20); the statistics always cover all found.
powiatstring|null–Four-digit TERYT powiat code, e.g. 1465 for Warsaw; searches the whole powiat (it may match too many transactions: narrow the period).
premisesFunctionstring|null–For kind premises: residential, garage, commercial, other or any. Default: residential. Not valid for parcels or buildings.
radiusMetersinteger|null–Search radius in metres around the address or coordinates, 50 to 2500 (default 500). Not for a powiat search.
NameTypeReqDescription
areaobjectyes–
candidatesarray|null––
kindstringyes–
marketstringyes–
matchedAddressobject|null––
newestTransactionstring|null––
notesarrayyes–
periodobjectyes–
premisesFunctionstring|null––
sourcesarrayyes–
statisticsobject|null––
transactionCountintegeryes–
transactionsarrayyes–
transactionsOmittedintegeryes–

No examples provided.

validate_identifier ~171

Validates Polish identifiers offline (no network): NIP tax number, REGON, KRS number, NRB bank account, or land-registry (księga wieczysta, KW) number such as WA1M/00012345/1. Explains checksum failures and suggests likely typo fixes for KW numbers.

NameTypeReqDescription
kindstring|null–Optional kind: nip, regon, krs, nrb or kw. Leave empty to detect it from the format.
valuestringyesThe identifier to check, e.g. 774-000-14-54, 610188201, 0000028860, PL06 1600 1127 1843 9838 2000 0034 or WL1A/00272852/9.
NameTypeReqDescription
inputstringyes–
resultsarrayyes–

No examples provided.

Install

How do I install the Polish Open Data (unofficial) MCP server?

Polish Open Data (unofficial) runs locally as a NuGet package, launched with dnx PolishOpenData.Mcp@1.6.0 --yes. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

nuget · PolishOpenData.Mcp

# add to Claude Code
claude mcp add jaceksmi-polishopendata -- dnx PolishOpenData.Mcp@1.6.0 --yes
Common questions

What is the Polish Open Data (unofficial) MCP server?

Polish Open Data (unofficial) is an MCP server listed in the public MCP registry as io.github.JacekSmi/PolishOpenData. Polish registers: KRS, VAT, bank checks, parcels, geocoding, property prices (RCN), optional REGON. This page covers its NuGet package (PolishOpenData.Mcp).

Is the Polish Open Data (unofficial) MCP server safe to use?

Polish Open Data (unofficial) scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 October 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Polish Open Data (unofficial) MCP server expose?

Polish Open Data (unofficial) exposes 8 tools: geocode_address, get_krs_extract, validate_identifier, find_parcel, lookup_company, and 3 more. Their descriptions and schemas cost roughly 2,002 tokens of context every time the server is loaded.

Is the Polish Open Data (unofficial) MCP server still maintained?

Polish Open Data (unofficial) is still listed as active in the MCP registry. We last reached this channel on 25 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Polish Open Data (unofficial) MCP server under?

Polish Open Data (unofficial) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.