Not in the top 1,000 by GitHub stars
bartosz-kuc/skanfirmy-mcp
Free MCP server to verify Polish companies (NIP/KRS/REGON) + EU VAT (VIES). 9 tools, no key. Live at skanfirmy.pl/mcp
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → a9d0ebb296a0
No earlier version was observed for comparison.
Heat
0.3- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- verify-polish-company
skill
How it works
verify-polish-company
When your agent uses it
Verify Polish companies and contractors by NIP, KRS, or REGON; check VAT status and bank accounts against the Ministry of Finance White List (Biała Lista); look up REGON/GUS registry data; read KRS registry data; and validate EU VAT numbers via VIES. Uses skanfirmy.pl's free, public API — no API key and no registration (per-IP rate limits apply). Use whenever the user needs to check a Polish business, a tax ID (NIP), a KRS number, a REGON, a counterparty's VAT status or bank account, or an EU VAT number (VIES).
What it loads into context
Frontmatter
155 tokensAlways available to the agent
SKILL.md
1,948 tokensWhen the skill is activated
Reference documents
638 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use it
- REST endpoints (GET, keyless)
- Choosing the right endpoint
- Error handling
- MCP option (for MCP-capable agents)
- Source & disclaimer
Files
LICENSEasset1,069 bytesREADME.mddoc2,367 bytesSKILL.mdcore6,892 bytesSKILL.mdcore6,892 bytesSKILL.mdcore6,892 bytes
Read SKILL.md
# Verify a Polish company (skanfirmy.pl)
This skill verifies Polish businesses straight from official government
registers (Ministry of Finance, Ministry of Justice / KRS, Statistics Poland /
GUS, and the European Commission / VIES) through **skanfirmy.pl**, a free public
API. Every endpoint is a plain `GET` that returns JSON when you add
`?format=json`. **No API key, no account.** The service is meant for single,
user-driven lookups, not bulk data harvesting: REST allows at most 20 requests
per 10 seconds from one IP address (HTTP 429 for 10 seconds above that), the MCP
server 60 per 10 seconds.
**Sole traders and other natural persons (JDG, civil partnerships) get minimised
data** (GDPR): name, NIP, VAT status, town and the *number* of White List
accounts — no REGON, no address, no registration date, no PKD and no list ofView the complete source on GitHubSkills included
- verify-polish-company
Repository facts
- License
- MIT
- Created
- Aug 3, 2026
- Last pushed
- Oct 18, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 2 notes
skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 31 network referencesin 2 files: skill/SKILL.md:56 skill/README.md:3
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- No access to secrets
- No requests to vote in Hot
Show all 31 signals by file
skill/README.md
- Network accessline 3
A single [Agent Skill](https://docs.claude.com/en/docs/agents-and-tools/agent-skills) - Network accessline 4
that teaches Claude (Claude Code, the Claude apps, or the Agent SDK) how to verify Polish companies through **[skanfirmy.pl](https://skanfirmy.pl)** — the same free, keyless API this repository documents. - Network accessline 5
verify Polish companies through **[skanfirmy.pl](https://skanfirmy.pl)** — the - Network accessline 15
- **VIES** validation of EU VAT numbers, - **bulk** checks of up to 30 NIPs in one call, - and the equivalent **MCP** tools at `https://skanfirmy.pl/mcp`. - Network accessline 17
- and the equivalent **MCP** tools at `https://skanfirmy.pl/mcp`. - Network accessline 26
git clone https://github.com/bartosz-kuc/skanfirmy-mcp - Network accessline 49
curl "https://skanfirmy.pl/regon/5260250995?format=json" - Network accessline 50
curl "https://skanfirmy.pl/nip/5260250995?format=json" - Network accessline 51
curl "https://skanfirmy.pl/vies/IE/6388047V?format=json" - Network accessline 54
The endpoint map for agents is at <https://skanfirmy.pl/llms.txt>, and the full
skill/SKILL.md
- Network accessline 56
| Endpoint | What it returns | |---|---| | `GET https://skanfirmy.pl/nip/{nip}` | VAT status + White List (accounts) + KRS data + REGON, combined in one response (minimised for natural persons, see above) | - Network accessline 57
|---|---| | `GET https://skanfirmy.pl/nip/{nip}` | VAT status + White List (accounts) + KRS data + REGON, combined in one response (minimised for natural persons, see above) | | `GET https://skanfirmy.pl/nips/{list}` | The same for **up to - Network accessline 58
| `GET https://skanfirmy.pl/nip/{nip}` | VAT status + White List (accounts) + KRS data + REGON, combined in one response (minimised for natural persons, see above) | - Network accessline 59
| `GET https://skanfirmy.pl/nips/{list}` | The same for **up to 30** comma-separated NIPs in one call (no KRS join) | - Network accessline 60
| `GET https://skanfirmy.pl/regon/{nip}` | REGON registry data: REGON number, official name, legal form, address (sole traders: name, form, town, activity status only) | - Network accessline 61
| `POST https://skanfirmy.pl/rachunek` | Is this bank account on the White List for this NIP? JSON body `{"nip": "…", "nrb": "…"}`; returns the Ministry's `accountAssigned` (`"TAK"`/`"NIE"`) and `requestId` | - Network accessline 62
| `GET https://skanfirmy.pl/vies/{country}/{number}` | Whether an EU VAT number is valid, plus the registered name/address | - Network accessline 67
# Full check by NIP (VAT status + White List + KRS + REGON) curl "https://skanfirmy.pl/nip/5260250995?format=json" - Network accessline 68
curl "https://skanfirmy.pl/nip/5260250995?format=json" - Network accessline 70
# REGON / GUS data only curl "https://skanfirmy.pl/regon/5260250995?format=json" - Network accessline 71
curl "https://skanfirmy.pl/regon/5260250995?format=json" - Network accessline 73
# EU VAT number (VIES) — country code + number without the prefix curl "https://skanfirmy.pl/vies/IE/6388047V?format=json" - Network accessline 74
curl "https://skanfirmy.pl/vies/IE/6388047V?format=json" - Network accessline 76
# Many NIPs at once (comma-separated, up to 30) curl "https://skanfirmy.pl/nips/5252344078,5260251049,7740001454?format=json" - Network accessline 77
curl "https://skanfirmy.pl/nips/5252344078,5260251049,7740001454?format=json" - Network accessline 116
`POST https://skanfirmy.pl/mcp` — stateless Streamable HTTP, JSON-RPC 2.0, no key, 60 requests per 10 seconds from one IP address. Tools: `sprawdz_nip`, `sprawdz_lista_nip`, `sprawdz_regon`, - Network accessline 118
`sprawdz_vies`, `sprawdz_rachunek`, `generuj_mikrorachunek`, `szukaj_pkd`, `oblicz_odsetki`, `szukaj_katalog_api`. A model-readable endpoint map lives at `https://skanfirmy.pl/llms.txt`. - Network accessline 120
`https://skanfirmy.pl/llms.txt`. - Network accessline 123
curl -s https://skanfirmy.pl/mcp \ - Network accessline 133
government API; scope and freshness match the underlying registers. Present results as coming from those registers, and link the user to the interactive tool at `https://skanfirmy.pl` when a human wants to check by hand. - Network accessline 135
tool at `https://skanfirmy.pl` when a human wants to check by hand.
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 31 facts
- Network access in prose of documentationskill/README.md:3Low confidence
- Network access in prose of documentationskill/README.md:4Low confidence
- Network access in prose of documentationskill/README.md:5Low confidence
- Network access in prose of documentationskill/README.md:15Low confidence
- Network access in prose of documentationskill/README.md:17Low confidence
- Network access in code of documentationskill/README.md:26Low confidence
- Network access in code of documentationskill/README.md:49Low confidence
- Network access in code of documentationskill/README.md:50Low confidence
- Network access in code of documentationskill/README.md:51Low confidence
- Network access in prose of documentationskill/README.md:54Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:56Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:57Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:58Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:59Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:60Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:61Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:62Low confidence
- Network access in code of the SKILL.mdskill/SKILL.md:67High confidence
- Network access in code of the SKILL.mdskill/SKILL.md:68High confidence
- Network access in code of the SKILL.mdskill/SKILL.md:70High confidence
- Network access in code of the SKILL.mdskill/SKILL.md:71High confidence
- Network access in code of the SKILL.mdskill/SKILL.md:73High confidence
- Network access in code of the SKILL.mdskill/SKILL.md:74High confidence
- Network access in code of the SKILL.mdskill/SKILL.md:76High confidence
- Network access in code of the SKILL.mdskill/SKILL.md:77High confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:116Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:118Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:120Low confidence
- Network access in code of the SKILL.mdskill/SKILL.md:123High confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:133Low confidence
- Network access in prose of the SKILL.mdskill/SKILL.md:135Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skill/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skill/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skill/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skill/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skill/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skill/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.