polish-mcp-servers 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -12
- package/catalog/actors.json +227 -0
- package/catalog/tool-descriptions.json +6 -0
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -1,11 +1,47 @@
|
|
|
1
1
|
# Polish MCP servers
|
|
2
2
|
|
|
3
3
|
[](https://glama.ai/mcp/servers/kamilkaczmareksolutions/polish-mcp-servers)
|
|
4
|
+
[](https://www.npmjs.com/package/polish-mcp-servers)
|
|
5
|
+

|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
**Give Claude, Cursor or any MCP client one-command access to Polish public data: statutes, court judgments, KRS companies, company lookup by NIP/REGON, tenders, building permits, land parcels, EV chargers, electricity prices and more (14 tools).**
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
<sub>Staged demo with sample output; real runs need an Apify token. The tool list is real; the company in the result is fictional, laid out the way the server returns it (`{items, truncated}` with the KRS Actor's dataset fields).</sub>
|
|
12
|
+
|
|
13
|
+
## Why
|
|
14
|
+
|
|
15
|
+
Polish public data is spread over a dozen official APIs and portals (Sejm ELI, SAOS, KRS, CEPiK, GUNB, ULDK, PSE, dane.gov.pl ...), each with its own format, paging and quirks. LLM agents can't use them out of the box. This server wraps them as MCP tools with typed input schemas and read-only annotations, so an agent can search acts, read a judgment, or pull EV chargers, building permits or electricity prices without you writing glue code.
|
|
16
|
+
|
|
17
|
+
## Quick start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx -y polish-mcp-servers # all 14 tools
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Then add it to your client (Claude Desktop, Cursor, VS Code: see [Configure Claude Desktop and Cursor](#configure-claude-desktop-and-cursor)) with `APIFY_TOKEN` in `env`.
|
|
24
|
+
|
|
25
|
+
## How it works
|
|
26
|
+
|
|
27
|
+
- Stdio MCP server built on `@modelcontextprotocol/sdk`. Three profiles: `polish-mcp-servers` (all 14 tools), `polish-law-mcp` (law only), `polish-public-registers` (the other 13).
|
|
28
|
+
- The tool list, input schemas and descriptions come from a bundled catalog (`catalog/`), so `tools/list` needs no token and no network.
|
|
29
|
+
- `tools/call` runs the matching public Apify Actor with `run-sync-get-dataset-items` (pinned build, up to 300 s) on your Apify account and returns the dataset items as JSON.
|
|
30
|
+
|
|
31
|
+
## Limitations
|
|
32
|
+
|
|
33
|
+
- Every `tools/call` starts a paid Apify Actor run, billed pay-per-event to the account behind `APIFY_TOKEN` (prices below). Listing tools is free.
|
|
34
|
+
- Responses are capped at 100 items and 256 KiB of JSON per call.
|
|
35
|
+
- Data is only as fresh and complete as the upstream public source.
|
|
36
|
+
|
|
37
|
+
## Details
|
|
38
|
+
|
|
39
|
+
Local [Model Context Protocol](https://modelcontextprotocol.io) server for Polish public data. It speaks stdio and exposes 14 tools, one for each public Apify Actor by [enterprising_hamster](https://apify.com/enterprising_hamster).
|
|
6
40
|
|
|
7
41
|
`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](https://console.apify.com/settings/integrations) and set `APIFY_TOKEN`. A call without a token returns an MCP tool error that points at that page.
|
|
8
42
|
|
|
43
|
+
AI agents without an Apify account can buy a prepaid Apify API token at [agi.apify.com](https://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](https://docs.apify.com/integrations/x402).
|
|
44
|
+
|
|
9
45
|
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`.
|
|
10
46
|
|
|
11
47
|
## Tools
|
|
@@ -24,22 +60,32 @@ Each call returns at most 100 dataset items and at most 256 KiB of JSON. Pass `m
|
|
|
24
60
|
| `polish-healthcare-facilities-rpwdl` | RPWDL facilities with address, contact, specialties, and beds. | [Store](https://apify.com/enterprising_hamster/polish-healthcare-facilities-rpwdl) |
|
|
25
61
|
| `polish-developer-apartment-prices` | Developer apartment and house offers, with price per m², from dane.gov.pl. | [Store](https://apify.com/enterprising_hamster/polish-developer-apartment-prices) |
|
|
26
62
|
| `polish-electricity-market-pse` | PSE electricity prices and grid rows (RCE, day-ahead, imbalance, load, generation). | [Store](https://apify.com/enterprising_hamster/polish-electricity-market-pse) |
|
|
63
|
+
| `polish-new-companies-krs` | New and changed companies from the KRS bulletin with NIP, REGON, PKD, and share capital. No personal data. | [Store](https://apify.com/enterprising_hamster/polish-new-companies-krs) |
|
|
64
|
+
| `polish-company-lookup-regon` | Company lookup by NIP, REGON or KRS in the GUS REGON register: name, legal form, address, PKD, status, optional VAT status. No GUS key needed, no phone or email. | [Store](https://apify.com/enterprising_hamster/polish-company-lookup-regon) |
|
|
27
65
|
|
|
28
66
|
The full tool and parameter descriptions that clients see live in [`catalog/tool-descriptions.json`](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.
|
|
29
67
|
|
|
30
|
-
`polish-mcp-servers` and `polish-mcp` list all
|
|
68
|
+
`polish-mcp-servers` and `polish-mcp` list all 14. `polish-law-mcp` lists only `polish-law-mcp-server`. `polish-public-registers` lists the other 13, including `cee-public-tenders`.
|
|
31
69
|
|
|
32
70
|
## Install
|
|
33
71
|
|
|
34
|
-
From
|
|
72
|
+
From npm ([`polish-mcp-servers`](https://www.npmjs.com/package/polish-mcp-servers)):
|
|
35
73
|
|
|
36
74
|
```bash
|
|
37
|
-
npx -y
|
|
75
|
+
npx -y polish-mcp-servers
|
|
38
76
|
```
|
|
39
77
|
|
|
40
78
|
Law only, or registers only:
|
|
41
79
|
|
|
42
80
|
```bash
|
|
81
|
+
npx -y --package polish-mcp-servers polish-law-mcp
|
|
82
|
+
npx -y --package polish-mcp-servers polish-public-registers
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Alternative, straight from GitHub (latest `main`, no npm registry):
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npx -y github:kamilkaczmareksolutions/polish-mcp-servers
|
|
43
89
|
npx -y --package github:kamilkaczmareksolutions/polish-mcp-servers polish-law-mcp
|
|
44
90
|
npx -y --package github:kamilkaczmareksolutions/polish-mcp-servers polish-public-registers
|
|
45
91
|
```
|
|
@@ -77,21 +123,21 @@ Claude Desktop reads `claude_desktop_config.json`. Cursor reads `~/.cursor/mcp.j
|
|
|
77
123
|
"mcpServers": {
|
|
78
124
|
"polish-mcp": {
|
|
79
125
|
"command": "npx",
|
|
80
|
-
"args": ["-y", "
|
|
126
|
+
"args": ["-y", "polish-mcp-servers"],
|
|
81
127
|
"env": {
|
|
82
128
|
"APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
|
|
83
129
|
}
|
|
84
130
|
},
|
|
85
131
|
"polish-law": {
|
|
86
132
|
"command": "npx",
|
|
87
|
-
"args": ["-y", "--package", "
|
|
133
|
+
"args": ["-y", "--package", "polish-mcp-servers", "polish-law-mcp"],
|
|
88
134
|
"env": {
|
|
89
135
|
"APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
|
|
90
136
|
}
|
|
91
137
|
},
|
|
92
138
|
"polish-public-registers": {
|
|
93
139
|
"command": "npx",
|
|
94
|
-
"args": ["-y", "--package", "
|
|
140
|
+
"args": ["-y", "--package", "polish-mcp-servers", "polish-public-registers"],
|
|
95
141
|
"env": {
|
|
96
142
|
"APIFY_TOKEN": "<YOUR_APIFY_TOKEN>"
|
|
97
143
|
}
|
|
@@ -107,7 +153,7 @@ Omit `APIFY_TOKEN` if you only want `tools/list`.
|
|
|
107
153
|
The same data is also available as hosted MCP servers on [Apify](https://apify.com/enterprising_hamster). Point your client at a URL and authenticate with your Apify account. Those servers still run as Apify Actors.
|
|
108
154
|
|
|
109
155
|
- **Polish Law MCP**: Polish statutes from the Sejm ELI API (Dziennik Ustaw, Monitor Polski) and court judgments from SAOS.
|
|
110
|
-
- **Polish Public Registers**:
|
|
156
|
+
- **Polish Public Registers**: 12 official Polish registers (EU-funded tenders, EV charging stations, vehicle registrations, building permits, land parcels and zoning, healthcare facilities, developer apartment prices, electricity market, new companies from KRS, company lookup in REGON, legal acts, court judgments).
|
|
111
157
|
|
|
112
158
|
| Server | MCP Registry name | MCP URL (Streamable HTTP) |
|
|
113
159
|
|---|---|---|
|
|
@@ -118,7 +164,7 @@ The same data is also available as hosted MCP servers on [Apify](https://apify.c
|
|
|
118
164
|
### Polish Public Registers URL
|
|
119
165
|
|
|
120
166
|
```
|
|
121
|
-
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
|
|
167
|
+
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-new-companies-krs,enterprising_hamster/polish-company-lookup-regon,enterprising_hamster/polish-legal-acts-eli,enterprising_hamster/polish-court-judgments-saos
|
|
122
168
|
```
|
|
123
169
|
|
|
124
170
|
You can drop Actors from the `tools=` list to expose only the registers you need.
|
|
@@ -149,7 +195,7 @@ Pricing (pay per event, FREE/BRONZE Apify plan tier):
|
|
|
149
195
|
|
|
150
196
|
### Polish Public Registers tools
|
|
151
197
|
|
|
152
|
-
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` (
|
|
198
|
+
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` (16 tools in total).
|
|
153
199
|
|
|
154
200
|
Prices are per delivered result, FREE/BRONZE Apify plan tier. Higher plan tiers pay less; see each Actor page.
|
|
155
201
|
|
|
@@ -163,6 +209,8 @@ Prices are per delivered result, FREE/BRONZE Apify plan tier. Higher plan tiers
|
|
|
163
209
|
| Healthcare facilities (RPWDL) | [polish-healthcare-facilities-rpwdl](https://apify.com/enterprising_hamster/polish-healthcare-facilities-rpwdl) | $0.004 facility |
|
|
164
210
|
| Developer apartment prices (dane.gov.pl) | [polish-developer-apartment-prices](https://apify.com/enterprising_hamster/polish-developer-apartment-prices) | $0.002 offer; $0.004 price change |
|
|
165
211
|
| Electricity market (PSE API) | [polish-electricity-market-pse](https://apify.com/enterprising_hamster/polish-electricity-market-pse) | $0.0003 market data row |
|
|
212
|
+
| New and changed companies (KRS API, Ministry of Justice) | [polish-new-companies-krs](https://apify.com/enterprising_hamster/polish-new-companies-krs) | $0.004 company |
|
|
213
|
+
| Company lookup by NIP, REGON, KRS (GUS REGON BIR1.2) | [polish-company-lookup-regon](https://apify.com/enterprising_hamster/polish-company-lookup-regon) | $0.003 company |
|
|
166
214
|
| Legal acts (Sejm ELI) | [polish-legal-acts-eli](https://apify.com/enterprising_hamster/polish-legal-acts-eli) | $0.002 act metadata; $0.008 act with text |
|
|
167
215
|
| Court judgments (SAOS) | [polish-court-judgments-saos](https://apify.com/enterprising_hamster/polish-court-judgments-saos) | $0.003 judgment metadata; $0.01 judgment with full text |
|
|
168
216
|
|
|
@@ -195,7 +243,7 @@ Cursor, `~/.cursor/mcp.json` or `.cursor/mcp.json` in a project:
|
|
|
195
243
|
}
|
|
196
244
|
},
|
|
197
245
|
"polish-public-registers": {
|
|
198
|
-
"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",
|
|
246
|
+
"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-new-companies-krs,enterprising_hamster/polish-company-lookup-regon,enterprising_hamster/polish-legal-acts-eli,enterprising_hamster/polish-court-judgments-saos",
|
|
199
247
|
"headers": {
|
|
200
248
|
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
|
|
201
249
|
}
|
|
@@ -239,7 +287,7 @@ Look them up at `https://registry.modelcontextprotocol.io/v0.1/servers?search=ka
|
|
|
239
287
|
|
|
240
288
|
## Data sources
|
|
241
289
|
|
|
242
|
-
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),
|
|
290
|
+
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, KRS, GUS REGON. 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), ULDK parcels come without owners, KRS rows carry company-level fields only (no board members or shareholders), and REGON rows carry no phone, fax or email.
|
|
243
291
|
|
|
244
292
|
## License
|
|
245
293
|
|
package/catalog/actors.json
CHANGED
|
@@ -2375,5 +2375,232 @@
|
|
|
2375
2375
|
}
|
|
2376
2376
|
}
|
|
2377
2377
|
}
|
|
2378
|
+
},
|
|
2379
|
+
{
|
|
2380
|
+
"actorId": "enterprising_hamster/polish-new-companies-krs",
|
|
2381
|
+
"name": "polish-new-companies-krs",
|
|
2382
|
+
"title": "Poland New Companies API – KRS Registrations Feed",
|
|
2383
|
+
"description": "New and changed Polish companies every day from the official KRS register (nowe spółki KRS): name, NIP, REGON, address, PKD, share capital, registration date. No personal data. For leads, KYC, CRM and AI agents (MCP). CSV, JSON, Excel.",
|
|
2384
|
+
"isPublic": true,
|
|
2385
|
+
"buildId": "3yawBGDegPz9hilZA",
|
|
2386
|
+
"buildNumber": "0.1.2",
|
|
2387
|
+
"inputSchema": {
|
|
2388
|
+
"title": "Poland new & changed companies (KRS)",
|
|
2389
|
+
"type": "object",
|
|
2390
|
+
"schemaVersion": 1,
|
|
2391
|
+
"properties": {
|
|
2392
|
+
"dateFrom": {
|
|
2393
|
+
"title": "From date",
|
|
2394
|
+
"type": "string",
|
|
2395
|
+
"editor": "textfield",
|
|
2396
|
+
"description": "First bulletin day (YYYY-MM-DD, Europe/Warsaw). Empty with dateTo empty means yesterday. One day when only dateFrom is set.",
|
|
2397
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
2398
|
+
},
|
|
2399
|
+
"dateTo": {
|
|
2400
|
+
"title": "To date",
|
|
2401
|
+
"type": "string",
|
|
2402
|
+
"editor": "textfield",
|
|
2403
|
+
"description": "Last bulletin day (inclusive). Must be used together with dateFrom. At most 31 days in the range.",
|
|
2404
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
2405
|
+
},
|
|
2406
|
+
"events": {
|
|
2407
|
+
"title": "Events",
|
|
2408
|
+
"type": "array",
|
|
2409
|
+
"editor": "select",
|
|
2410
|
+
"description": "New = registration date in the window. Changed = appeared on the bulletin but registered earlier. Last-entry date does not reclassify.",
|
|
2411
|
+
"items": {
|
|
2412
|
+
"type": "string",
|
|
2413
|
+
"enum": [
|
|
2414
|
+
"new",
|
|
2415
|
+
"changed"
|
|
2416
|
+
],
|
|
2417
|
+
"enumTitles": [
|
|
2418
|
+
"New registrations",
|
|
2419
|
+
"Changed companies"
|
|
2420
|
+
]
|
|
2421
|
+
},
|
|
2422
|
+
"default": [
|
|
2423
|
+
"new",
|
|
2424
|
+
"changed"
|
|
2425
|
+
]
|
|
2426
|
+
},
|
|
2427
|
+
"pkd": {
|
|
2428
|
+
"title": "PKD codes",
|
|
2429
|
+
"type": "array",
|
|
2430
|
+
"editor": "stringList",
|
|
2431
|
+
"description": "Match full PKD codes or prefixes (e.g. 93 matches 93.29.B). Empty = any activity.",
|
|
2432
|
+
"default": []
|
|
2433
|
+
},
|
|
2434
|
+
"voivodeships": {
|
|
2435
|
+
"title": "Voivodeships",
|
|
2436
|
+
"type": "array",
|
|
2437
|
+
"editor": "select",
|
|
2438
|
+
"description": "Registered seat must be in one of these voivodeships. Empty = whole country.",
|
|
2439
|
+
"items": {
|
|
2440
|
+
"type": "string",
|
|
2441
|
+
"enum": [
|
|
2442
|
+
"dolnośląskie",
|
|
2443
|
+
"kujawsko-pomorskie",
|
|
2444
|
+
"lubelskie",
|
|
2445
|
+
"lubuskie",
|
|
2446
|
+
"łódzkie",
|
|
2447
|
+
"małopolskie",
|
|
2448
|
+
"mazowieckie",
|
|
2449
|
+
"opolskie",
|
|
2450
|
+
"podkarpackie",
|
|
2451
|
+
"podlaskie",
|
|
2452
|
+
"pomorskie",
|
|
2453
|
+
"śląskie",
|
|
2454
|
+
"świętokrzyskie",
|
|
2455
|
+
"warmińsko-mazurskie",
|
|
2456
|
+
"wielkopolskie",
|
|
2457
|
+
"zachodniopomorskie"
|
|
2458
|
+
],
|
|
2459
|
+
"enumTitles": [
|
|
2460
|
+
"dolnośląskie",
|
|
2461
|
+
"kujawsko-pomorskie",
|
|
2462
|
+
"lubelskie",
|
|
2463
|
+
"lubuskie",
|
|
2464
|
+
"łódzkie",
|
|
2465
|
+
"małopolskie",
|
|
2466
|
+
"mazowieckie",
|
|
2467
|
+
"opolskie",
|
|
2468
|
+
"podkarpackie",
|
|
2469
|
+
"podlaskie",
|
|
2470
|
+
"pomorskie",
|
|
2471
|
+
"śląskie",
|
|
2472
|
+
"świętokrzyskie",
|
|
2473
|
+
"warmińsko-mazurskie",
|
|
2474
|
+
"wielkopolskie",
|
|
2475
|
+
"zachodniopomorskie"
|
|
2476
|
+
]
|
|
2477
|
+
},
|
|
2478
|
+
"default": []
|
|
2479
|
+
},
|
|
2480
|
+
"legalForms": {
|
|
2481
|
+
"title": "Legal forms",
|
|
2482
|
+
"type": "array",
|
|
2483
|
+
"editor": "stringList",
|
|
2484
|
+
"description": "Exact forma prawna strings after trimming. Empty = any form.",
|
|
2485
|
+
"default": []
|
|
2486
|
+
},
|
|
2487
|
+
"minShareCapital": {
|
|
2488
|
+
"title": "Minimum share capital",
|
|
2489
|
+
"type": "number",
|
|
2490
|
+
"editor": "number",
|
|
2491
|
+
"description": "Companies without share capital fail this filter when set.",
|
|
2492
|
+
"minimum": 0
|
|
2493
|
+
},
|
|
2494
|
+
"maxItems": {
|
|
2495
|
+
"title": "Max companies",
|
|
2496
|
+
"type": "integer",
|
|
2497
|
+
"editor": "number",
|
|
2498
|
+
"description": "Stop after this many companies are saved (default keeps Start runs cheap).",
|
|
2499
|
+
"default": 20,
|
|
2500
|
+
"minimum": 1,
|
|
2501
|
+
"maximum": 20000
|
|
2502
|
+
}
|
|
2503
|
+
}
|
|
2504
|
+
}
|
|
2505
|
+
},
|
|
2506
|
+
{
|
|
2507
|
+
"actorId": "enterprising_hamster/polish-company-lookup-regon",
|
|
2508
|
+
"name": "polish-company-lookup-regon",
|
|
2509
|
+
"title": "Poland Company Lookup API – REGON, NIP, KRS",
|
|
2510
|
+
"description": "Look up a Polish company by NIP, REGON or KRS in the official GUS REGON register: name, address, PKD, dates and optional VAT status. No phone, fax or email. For KYC, CRM and AI agents (MCP).",
|
|
2511
|
+
"isPublic": true,
|
|
2512
|
+
"buildId": "AEMWS4UulvF2UZSUU",
|
|
2513
|
+
"buildNumber": "0.1.3",
|
|
2514
|
+
"inputSchema": {
|
|
2515
|
+
"title": "Poland company lookup (REGON)",
|
|
2516
|
+
"type": "object",
|
|
2517
|
+
"schemaVersion": 1,
|
|
2518
|
+
"properties": {
|
|
2519
|
+
"nips": {
|
|
2520
|
+
"title": "NIP numbers",
|
|
2521
|
+
"type": "array",
|
|
2522
|
+
"editor": "stringList",
|
|
2523
|
+
"description": "Tax identifiers (NIP). Spaces, hyphens and a leading PL are ignored. Invalid checksums are returned as found=false and are not charged.",
|
|
2524
|
+
"default": [
|
|
2525
|
+
"7740001454",
|
|
2526
|
+
"6920000013",
|
|
2527
|
+
"5250007738",
|
|
2528
|
+
"5260250274"
|
|
2529
|
+
]
|
|
2530
|
+
},
|
|
2531
|
+
"regons": {
|
|
2532
|
+
"title": "REGON numbers",
|
|
2533
|
+
"type": "array",
|
|
2534
|
+
"editor": "stringList",
|
|
2535
|
+
"description": "9-digit subjects or 14-digit local units. Checksums are validated.",
|
|
2536
|
+
"default": [
|
|
2537
|
+
"000331501"
|
|
2538
|
+
]
|
|
2539
|
+
},
|
|
2540
|
+
"krsNumbers": {
|
|
2541
|
+
"title": "KRS numbers",
|
|
2542
|
+
"type": "array",
|
|
2543
|
+
"editor": "stringList",
|
|
2544
|
+
"description": "Court numbers. Shorter values are zero-padded to 10 digits. Looked up one at a time.",
|
|
2545
|
+
"default": []
|
|
2546
|
+
},
|
|
2547
|
+
"identifiers": {
|
|
2548
|
+
"title": "Mixed identifiers",
|
|
2549
|
+
"type": "array",
|
|
2550
|
+
"editor": "stringList",
|
|
2551
|
+
"description": "Optional prefixes NIP:, REGON: and KRS:. Without a prefix, 9 or 14 digits are a REGON and 10 digits with a valid NIP checksum are a NIP. Anything else returns the error \"ambiguous, use prefix\".",
|
|
2552
|
+
"default": []
|
|
2553
|
+
},
|
|
2554
|
+
"gusApiKey": {
|
|
2555
|
+
"title": "GUS API key",
|
|
2556
|
+
"type": "string",
|
|
2557
|
+
"editor": "textfield",
|
|
2558
|
+
"description": "Optional. Your own production BIR1 user key from GUS. Leave empty: the Actor uses its own production key.",
|
|
2559
|
+
"isSecret": true
|
|
2560
|
+
},
|
|
2561
|
+
"useTestEnvironment": {
|
|
2562
|
+
"title": "Use GUS test environment",
|
|
2563
|
+
"type": "boolean",
|
|
2564
|
+
"editor": "checkbox",
|
|
2565
|
+
"description": "When no production key is set, call the public GUS test service. Data is anonymized and frozen around 8 November 2014. Ignored when a key is set.",
|
|
2566
|
+
"default": false
|
|
2567
|
+
},
|
|
2568
|
+
"includeLocalUnits": {
|
|
2569
|
+
"title": "Include local units",
|
|
2570
|
+
"type": "boolean",
|
|
2571
|
+
"editor": "checkbox",
|
|
2572
|
+
"description": "Nest up to 50 local units (14-digit REGON) on each company. No extra charge. A 14-digit REGON in the input is its own row.",
|
|
2573
|
+
"default": false
|
|
2574
|
+
},
|
|
2575
|
+
"includeSoleTraders": {
|
|
2576
|
+
"title": "Include sole traders",
|
|
2577
|
+
"type": "boolean",
|
|
2578
|
+
"editor": "checkbox",
|
|
2579
|
+
"description": "When false, a sole trader (JDG) is returned with found=true and skipped=sole_trader and is not charged.",
|
|
2580
|
+
"default": true
|
|
2581
|
+
},
|
|
2582
|
+
"soleTraderFullAddress": {
|
|
2583
|
+
"title": "Full address for sole traders",
|
|
2584
|
+
"type": "boolean",
|
|
2585
|
+
"editor": "checkbox",
|
|
2586
|
+
"description": "Include street, building and apartment for a sole trader. Default is city, postal code, municipality, county and voivodeship only.",
|
|
2587
|
+
"default": false
|
|
2588
|
+
},
|
|
2589
|
+
"checkVatStatus": {
|
|
2590
|
+
"title": "Check VAT status",
|
|
2591
|
+
"type": "boolean",
|
|
2592
|
+
"editor": "checkbox",
|
|
2593
|
+
"description": "Ask the Ministry of Finance WL2 status method. Adds vatStatus, vatCheckedAt and vatRequestId. On failure the company is still returned with vatError. No bank accounts and no people.",
|
|
2594
|
+
"default": false
|
|
2595
|
+
},
|
|
2596
|
+
"maxItems": {
|
|
2597
|
+
"title": "Max companies",
|
|
2598
|
+
"type": "integer",
|
|
2599
|
+
"editor": "number",
|
|
2600
|
+
"description": "Stop after this many charged companies. Empty means no cap. Not-found rows and skipped sole traders do not count.",
|
|
2601
|
+
"minimum": 1
|
|
2602
|
+
}
|
|
2603
|
+
}
|
|
2604
|
+
}
|
|
2378
2605
|
}
|
|
2379
2606
|
]
|
|
@@ -38,5 +38,11 @@
|
|
|
38
38
|
},
|
|
39
39
|
"polish-electricity-market-pse": {
|
|
40
40
|
"description": "Returns Polish electricity market and grid data from the official PSE API (Polskie Sieci Elektroenergetyczne): RCE market price, day-ahead and imbalance prices, Kompas Energetyczny, load and generation mix, as 15-minute, hourly or daily rows. Filter by business-date range (history from 2024-06-14) or lastDays; next-day data appears once PSE publishes it, about 14:00 Europe/Warsaw. Use it for energy prices and grid statistics; no sibling tool covers electricity. Read-only: it only queries the public source and never writes to the registry; onlyNew merely keeps a stateKey memory in your own Apify account. Each call needs the APIFY_TOKEN env var and starts one paid run of the Apify Actor enterprising_hamster/polish-electricity-market-pse on your Apify account, billed pay-per-event per delivered data row plus any Apify platform usage; the server waits up to 300 s for the run and returns JSON {items, truncated} with at most maxItems (max 100) items and 256 KiB."
|
|
41
|
+
},
|
|
42
|
+
"polish-new-companies-krs": {
|
|
43
|
+
"description": "Returns new and changed Polish companies from the official KRS register of entrepreneurs (Krajowy Rejestr Sądowy, rejestr przedsiębiorców) via the Ministry of Justice KRS API: for each KRS number on the daily bulletin in the date window (empty dates mean yesterday, at most 31 days) one item with name, KRS, NIP, REGON, legal form, seat address, main and other PKD codes, share capital, registration and last-entry dates and eventType new or changed. Filter by events, PKD code prefixes, voivodeships, legal forms and minimum share capital; company-level fields only, no personal data such as board members or shareholders. Use it for new-company lead lists, KYC and CRM monitoring; for healthcare providers use polish-healthcare-facilities-rpwdl. Read-only: it only queries the public source and never writes to the registry. Each call needs the APIFY_TOKEN env var and starts one paid run of the Apify Actor enterprising_hamster/polish-new-companies-krs on your Apify account, billed pay-per-event per delivered company plus any Apify platform usage; the server waits up to 300 s for the run and returns JSON {items, truncated} with at most maxItems (max 100) items and 256 KiB."
|
|
44
|
+
},
|
|
45
|
+
"polish-company-lookup-regon": {
|
|
46
|
+
"description": "Looks up Polish companies and other registered subjects by NIP, REGON or KRS number in the official GUS REGON register (Statistics Poland, BIR1.2 API): for each identifier one item with registered name, REGON, NIP, KRS, entity type, legal and ownership form, seat address with TERYT, prevailing and other PKD codes, status (active, suspended, closed) and register dates, optionally VAT taxpayer status from the Ministry of Finance white list (WL2) and nested local units. No phone, fax or email; for sole traders the street is omitted unless soleTraderFullAddress is set. No GUS key is needed (gusApiKey is optional). Use it to identify a known company; for newly registered companies use polish-new-companies-krs. Read-only: it only queries the public source and never writes to the registry. Each call needs the APIFY_TOKEN env var and starts one paid run of the Apify Actor enterprising_hamster/polish-company-lookup-regon on your Apify account, billed pay-per-event per delivered company plus any Apify platform usage; the server waits up to 300 s for the run and returns JSON {items, truncated} with at most maxItems (max 100) items and 256 KiB."
|
|
41
47
|
}
|
|
42
48
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "polish-mcp-servers",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "MCP stdio server for Polish public law and registers. Lists
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "MCP stdio server for Polish public law and registers. Lists 14 Apify Actor tools without a token and runs them with APIFY_TOKEN.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Kamil Kaczmarek",
|
|
7
7
|
"homepage": "https://github.com/kamilkaczmareksolutions/polish-mcp-servers#readme",
|
|
@@ -21,7 +21,10 @@
|
|
|
21
21
|
"open-data",
|
|
22
22
|
"eli",
|
|
23
23
|
"saos",
|
|
24
|
-
"cepik"
|
|
24
|
+
"cepik",
|
|
25
|
+
"krs",
|
|
26
|
+
"regon",
|
|
27
|
+
"nip"
|
|
25
28
|
],
|
|
26
29
|
"type": "module",
|
|
27
30
|
"engines": {
|