Nip Krs
FreeNot checkedMCP server for Polish company registries that enables looking up companies by NIP or KRS using public government APIs with no authentication required.
About
MCP server for Polish company registries that enables looking up companies by NIP or KRS using public government APIs with no authentication required.
README
MCP server for Polish company registries. Look up any Polish company by NIP (tax id) or KRS (court registry number) from Claude Code, Claude Desktop, or any MCP-compatible AI client.
Uses two public government APIs — no authentication required. Data flows only between your machine and the official Polish government endpoints (Ministry of Finance + Ministry of Justice).
Why this exists
Every Polish business, accountant, or developer working with Polish data eventually needs to:
- Verify if a client's NIP is a real, active VAT payer
- Check if a vendor's invoice can be tax-deducted (VAT status on the invoice date)
- Look up a company's full legal registry entry — board members, capital, address history
- Confirm a bank account belongs to a whitelisted vendor (to avoid split-payment penalties)
Doing this manually via web forms is tedious. This MCP lets an AI do it in one shot.
Features (v0.1)
Two tools:
lookup_by_nip— official Biała Lista MF entry. Returns: legal name, address, VAT status (Czynny / Zwolniony / Wykreślony), REGON, KRS, list of whitelisted bank accounts. Supports historical dates (up to 5 years back) — critical for tax-deductibility of past invoices.lookup_by_krs— full KRS registry entry. Returns: name, legal form, address, share capital, board members, PKD codes, shareholders. Supports both registers:P(Przedsiębiorcy — companies) andS(Stowarzyszenia — associations, foundations, NGOs).
Planned for v0.2:
lookup_by_regon— GUS BIR API (requires free API key)search_by_name— fuzzy search across biała lista and KRSbulk_check_accounts— verify many bank accounts against biała lista in one call
Requirements
- Python 3.10+
- No API keys. No accounts. No signup. Both APIs are fully public.
Setup
git clone https://github.com/bartosz-kuc/nip-krs-mcp.git
cd nip-krs-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
Register with Claude Code:
claude mcp add pl-registries /absolute/path/to/venv/bin/python /absolute/path/to/server.py
Or with Claude Desktop — edit claude_desktop_config.json:
{
"mcpServers": {
"pl-registries": {
"command": "/absolute/path/to/venv/bin/python",
"args": ["/absolute/path/to/server.py"]
}
}
}
Tools appear as mcp__pl-registries__lookup_by_nip etc.
Example usage
"Check if Google Poland is an active VAT payer."
AI calls lookup_by_nip("5252344078") → returns full biała lista entry with VAT status.
"What was Orange Polska's VAT status on 2025-11-15?"
AI calls lookup_by_nip("5260250995", date="2025-11-15") — status as of that date, important for confirming tax deductibility of an invoice you're posting late.
"Who's on the board of KRS 0000006042?"
AI calls lookup_by_krs("0000006042", register="P") → returns full registry entry with board composition.
Data flow
Your AI client
↕ MCP stdio
This server (Python, on your machine)
↕ HTTPS
Public Polish gov APIs (wl-api.mf.gov.pl, api-krs.ms.gov.pl)
No third party in the middle. No accounts. Nothing to breach.
Security notes
- Nothing to leak. No credentials, no tokens, no OAuth — this MCP has no secrets at all.
- Rate limits. Both APIs enforce rate limits (biała lista: 10 req/sec, KRS: similar). This client does not currently implement retry/backoff; a burst may return HTTP 429.
- Data is public. Anything this MCP returns is already public information you could pull manually from https://www.podatki.gov.pl/wykaz-podatnikow-vat/ or https://ekrs.ms.gov.pl/.
Author
Bartosz Kuć — Warsaw-based developer, JDG owner running skanfirmy.pl (Polish company verification tools).
Site: https://skanfirmy.pl
GitHub: https://github.com/bartosz-kuc
Email: [email protected]
Consulting
Available for consulting on Polish tax and business integrations (KSeF, GUS/NFZ/GIOŚ APIs, mBank data), MCP server design, and AI-assisted tooling for JDGs and small teams. See skanfirmy.pl/uslugi for productized packages (audit 3k PLN, setup 8-15k PLN, retainer 2-4k PLN/mo), or reach out via email.
License
MIT — see LICENSE.
Related
- honest-gmail-mcp — local Gmail MCP
- honest-calendar-mcp — local Google Calendar MCP
- ksef-mcp — Polish KSeF (e-invoicing) MCP
Installing Nip Krs
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/bartosz-kuc/nip-krs-mcpFAQ
Is Nip Krs MCP free?
Yes, Nip Krs MCP is free — one-click install via Unyly at no cost.
Does Nip Krs need an API key?
No, Nip Krs runs without API keys or environment variables.
Is Nip Krs hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Nip Krs in Claude Desktop, Claude Code or Cursor?
Open Nip Krs on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Nip Krs with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
