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.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit a9d0ebb296a08b3be212761c3ad4c9bd29d64118

0GitHub stars
0stars in 7 days
1skill in this repository
0commits in 30 days

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

Oct 25, 2026Oct 25, 20260

30-day change not yet available: not enough history.

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

1,948 tokens

When the skill is activated

Reference documents

638 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to use it
  2. REST endpoints (GET, keyless)
  3. Choosing the right endpoint
  4. Error handling
  5. MCP option (for MCP-capable agents)
  6. Source & disclaimer

Files

  • LICENSEasset1,069 bytes
  • README.mddoc2,367 bytes
  • SKILL.mdcore6,892 bytes
  • SKILL.mdcore6,892 bytes
  • SKILL.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 of
View the complete source on GitHub

Skills 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 shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skill/SKILL.md:1 Analysis 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

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skill/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skill/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skill/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skill/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skill/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.