Polish MCP Servers

Stdio MCP server for official Polish public data and law: 12 tools for Sejm ELI legal acts, SAOS court judgments, EU-funds and CEE tenders, EV charging stations (EIPA), vehicle registrations (CEPiK), building permits (GUNB), land parcels and zoning (ULDK), healthcare facilities (RPWDL), developer apartment prices and PSE electricity data. Runs public Apify Actors with your APIFY_TOKEN; npx -y polish-mcp-servers.

Documentation

Polish MCP servers

Glama

Local Model Context Protocol server for Polish public data. It speaks stdio and exposes 12 tools, one for each public Apify Actor by enterprising_hamster.

tools/list answers with no APIFY_TOKEN and no network. tools/call runs that Actor on your Apify account. Create a token at console.apify.com/settings/integrations and set APIFY_TOKEN. A call without a token returns an MCP tool error that points at that page.

AI agents without an Apify account can buy a prepaid Apify API token at agi.apify.com (x402, MPP or Skyfire; minimum $1, expires after 14 days, unused balance is not refunded) and set it as APIFY_TOKEN. See Agentic payments with x402.

Each call returns at most 100 dataset items and at most 256 KiB of JSON. Pass maxItems to ask for fewer. When the Actor schema already defaults maxItems to 100 or less, that default stands. The law tool defaults to 20, because that Actor's schema has no maxItems.

Tools

ToolReturnsActor
polish-law-mcp-serverOne Polish law result. Set tool to search_legal_acts, get_legal_act, get_legal_act_text, list_changed_legal_acts, search_court_judgments, or get_court_judgment, and pass arguments.Store
polish-legal-acts-eliDziennik Ustaw and Monitor Polski act metadata, with optional text.Store
polish-court-judgments-saosSAOS judgments with metadata and optional full text.Store
polish-eu-funds-tenders-baza-konkurencyjnosciEU-funds procurement notices from Baza Konkurencyjności.Store
cee-public-tendersCzech, Slovak, Hungarian, and Ukrainian public tenders.Store
polish-ev-charging-stations-eipaEIPA charging stations with location, connectors, power, and live status.Store
polish-vehicle-registrations-cepikAggregated CEPiK registration counts. No VINs or owners.Store
polish-building-permits-gunbGUNB building permits and notifications. Private investors are anonymised.Store
polish-land-parcels-uldk-zoningULDK parcel location and area, plus MPZP and POG zoning. No owners.Store
polish-healthcare-facilities-rpwdlRPWDL facilities with address, contact, specialties, and beds.Store
polish-developer-apartment-pricesDeveloper apartment and house offers, with price per m², from dane.gov.pl.Store
polish-electricity-market-psePSE electricity prices and grid rows (RCE, day-ahead, imbalance, load, generation).Store

The full tool and parameter descriptions that clients see live in catalog/tool-descriptions.json. Every tool is annotated readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true: it only reads the public source, but each tools/call starts a paid Apify Actor run, billed pay-per-event to the Apify account behind APIFY_TOKEN, and waits up to 300 s for it.

polish-mcp-servers and polish-mcp list all 12. polish-law-mcp lists only polish-law-mcp-server. polish-public-registers lists the other 11, including cee-public-tenders.

Install

From npm (polish-mcp-servers):

npx -y polish-mcp-servers

Law only, or registers only:

npx -y --package polish-mcp-servers polish-law-mcp
npx -y --package polish-mcp-servers polish-public-registers

Alternative, straight from GitHub (latest main, no npm registry):

npx -y github:kamilkaczmareksolutions/polish-mcp-servers
npx -y --package github:kamilkaczmareksolutions/polish-mcp-servers polish-law-mcp
npx -y --package github:kamilkaczmareksolutions/polish-mcp-servers polish-public-registers

From a checkout, npm install compiles the server:

git clone https://github.com/kamilkaczmareksolutions/polish-mcp-servers.git
cd polish-mcp-servers
npm install
node dist/main.js

node dist/law.js and node dist/registers.js start the other two profiles.

Docker image. tools/list needs no secrets.

docker build -t polish-mcp-servers .
docker run --rm -i polish-mcp-servers

Pass the token only when you want tools/call to run an Actor.

docker run --rm -i -e APIFY_TOKEN=<YOUR_APIFY_TOKEN> polish-mcp-servers

Configure Claude Desktop and Cursor

Claude Desktop reads claude_desktop_config.json. Cursor reads ~/.cursor/mcp.json or .cursor/mcp.json in a project.

{
  "mcpServers": {
    "polish-mcp": {
      "command": "npx",
      "args": ["-y", "polish-mcp-servers"],
      "env": {
        "APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
      }
    },
    "polish-law": {
      "command": "npx",
      "args": ["-y", "--package", "polish-mcp-servers", "polish-law-mcp"],
      "env": {
        "APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
      }
    },
    "polish-public-registers": {
      "command": "npx",
      "args": ["-y", "--package", "polish-mcp-servers", "polish-public-registers"],
      "env": {
        "APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Omit APIFY_TOKEN if you only want tools/list.

Hosted servers

The same data is also available as hosted MCP servers on Apify. Point your client at a URL and authenticate with your Apify account. Those servers still run as Apify Actors.

  • Polish Law MCP: Polish statutes from the Sejm ELI API (Dziennik Ustaw, Monitor Polski) and court judgments from SAOS.
  • Polish Public Registers: 10 official Polish registers (EU-funded tenders, EV charging stations, vehicle registrations, building permits, land parcels and zoning, healthcare facilities, developer apartment prices, electricity market, legal acts, court judgments).
ServerMCP Registry nameMCP URL (Streamable HTTP)
Polish Law MCPio.github.kamilkaczmareksolutions/polish-law-mcphttps://mcp.apify.com/?tools=enterprising_hamster/polish-law-mcp-server
Polish Law MCP (direct, Apify Standby)same entry, second remotehttps://enterprising-hamster--polish-law-mcp-server.apify.actor/mcp
Polish Public Registersio.github.kamilkaczmareksolutions/polish-public-registerssee full URL below

Polish Public Registers URL

https://mcp.apify.com/?tools=enterprising_hamster/polish-eu-funds-tenders-baza-konkurencyjnosci,enterprising_hamster/polish-ev-charging-stations-eipa,enterprising_hamster/polish-vehicle-registrations-cepik,enterprising_hamster/polish-building-permits-gunb,enterprising_hamster/polish-land-parcels-uldk-zoning,enterprising_hamster/polish-healthcare-facilities-rpwdl,enterprising_hamster/polish-developer-apartment-prices,enterprising_hamster/polish-electricity-market-pse,enterprising_hamster/polish-legal-acts-eli,enterprising_hamster/polish-court-judgments-saos

You can drop Actors from the tools= list to expose only the registers you need.

Polish Law MCP tools

Apify Actor: enterprising_hamster/polish-law-mcp-server

The hosted law server exposes six tools. The local server keeps them behind the single tool polish-law-mcp-server.

ToolWhat it does
search_legal_actsSearch acts in Dziennik Ustaw and Monitor Polski (Sejm ELI). Returns act summaries with ELI ids.
get_legal_actMetadata of one act: status, in-force flag, key dates, issuing body, implemented EU acts, newest consolidated text, references.
get_legal_act_textPlain text of an act or a single article, current wording from the newest consolidated text, in bounded windows.
list_changed_legal_actsActs whose ELI record changed since a given time (new publications, amendments, status or reference updates).
search_court_judgmentsSearch judgments in SAOS (System Analizy Orzeczeń Sądowych).
get_court_judgmentFull judgment: metadata, legal bases, cited regulations (with ELI ids), cited cases, summary, text in bounded windows.

Through mcp.apify.com the same six tools are exposed with an Apify prefix (enterpri--polish-law-mcp-server--…). The Standby URL exposes them under the names above.

Pricing (pay per event, FREE/BRONZE Apify plan tier):

EventPrice
Tool call returning search results or metadata$0.005
Tool call returning the full text of a legal act or court judgment$0.015

Polish Public Registers tools

Each Actor is exposed as one MCP tool that runs the Actor. The Apify MCP server also adds four helper tools: get-actor-run, get-dataset-items, get-key-value-store-record, abort-actor-run (14 tools in total).

Prices are per delivered result, FREE/BRONZE Apify plan tier. Higher plan tiers pay less; see each Actor page.

Register (source)Apify ActorPrice per result
EU-funds tenders (Baza Konkurencyjności)polish-eu-funds-tenders-baza-konkurencyjnosci$0.003 announcement; $0.008 announcement with details
EV charging stations (EIPA / UDT)polish-ev-charging-stations-eipa$0.003 station; $0.001 station with anonymised private operator
Vehicle registrations (CEPiK open data, aggregates only)polish-vehicle-registrations-cepik$0.003 statistics row
Building permits (GUNB RWDZ)polish-building-permits-gunb$0.002 project; $0.006 project with organisation investor
Land parcels and zoning (GUGiK ULDK, MPZP, POG)polish-land-parcels-uldk-zoning$0.004 parcel; $0.02 parcel with zoning
Healthcare facilities (RPWDL)polish-healthcare-facilities-rpwdl$0.004 facility
Developer apartment prices (dane.gov.pl)polish-developer-apartment-prices$0.002 offer; $0.004 price change
Electricity market (PSE API)polish-electricity-market-pse$0.0003 market data row
Legal acts (Sejm ELI)polish-legal-acts-eli$0.002 act metadata; $0.008 act with text
Court judgments (SAOS)polish-court-judgments-saos$0.003 judgment metadata; $0.01 judgment with full text

Apify platform usage may be billed on top, depending on your Apify plan.

Authentication and billing

Both hosted servers run under your own Apify account, and you pay for the results you request.

  • OAuth via mcp.apify.com. Clients that support MCP OAuth sign you in to Apify. No token in the config.
  • Bearer token. Send Authorization: Bearer <YOUR_APIFY_TOKEN>. Get the token at console.apify.com/settings/integrations. Required for the Standby URL.

Requests without credentials get HTTP 401.

Hosted client configuration

Replace <YOUR_APIFY_TOKEN> with your token, or omit headers if your client supports OAuth.

Claude.ai and Claude Desktop. Settings → Connectors → Add custom connector, then paste the MCP URL (for example https://mcp.apify.com/?tools=enterprising_hamster/polish-law-mcp-server). Sign in to Apify when prompted.

Cursor, ~/.cursor/mcp.json or .cursor/mcp.json in a project:

{
  "mcpServers": {
    "polish-law": {
      "url": "https://mcp.apify.com/?tools=enterprising_hamster/polish-law-mcp-server",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    },
    "polish-public-registers": {
      "url": "https://mcp.apify.com/?tools=enterprising_hamster/polish-eu-funds-tenders-baza-konkurencyjnosci,enterprising_hamster/polish-ev-charging-stations-eipa,enterprising_hamster/polish-vehicle-registrations-cepik,enterprising_hamster/polish-building-permits-gunb,enterprising_hamster/polish-land-parcels-uldk-zoning,enterprising_hamster/polish-healthcare-facilities-rpwdl,enterprising_hamster/polish-developer-apartment-prices,enterprising_hamster/polish-electricity-market-pse,enterprising_hamster/polish-legal-acts-eli,enterprising_hamster/polish-court-judgments-saos",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

VS Code, .vscode/mcp.json:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "apify-token",
      "description": "Apify API token",
      "password": true
    }
  ],
  "servers": {
    "polish-law": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=enterprising_hamster/polish-law-mcp-server",
      "headers": {
        "Authorization": "Bearer ${input:apify-token}"
      }
    }
  }
}

Add polish-public-registers the same way with its URL.

Official MCP Registry

  • io.github.kamilkaczmareksolutions/polish-law-mcp
  • io.github.kamilkaczmareksolutions/polish-public-registers

Look them up at https://registry.modelcontextprotocol.io/v0.1/servers?search=kamilkaczmareksolutions.

Data sources

All data comes from official Polish public registers and open-data APIs: Sejm ELI, SAOS, Baza Konkurencyjności, EIPA (UDT), CEPiK, GUNB, GUGiK ULDK, RPWDL, dane.gov.pl, PSE. Personal data is limited. Building-permit investors who are private persons are anonymised, private EV station operators are anonymised, CEPiK data is aggregated (no VINs or owners), and ULDK parcels come without owners.

License

This repository is released under the MIT License.