Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Krs

FreeNot checked

MCP server for the Polish company register (KRS) via the official Ministry of Justice API — entities, boards and shareholders with verifiable citations.

GitHubEmbed

About

MCP server for the Polish company register (KRS) via the official Ministry of Justice API — entities, boards and shareholders with verifiable citations.

README

Installation (one command)

Published on npm + MCP Registry (io.github.matematicsolutions/mcp-krs). Run without cloning:

npx -y @matematicsolutions/mcp-krs

MCP client configuration (stdio):

{ "mcpServers": { "mcp-krs": { "command": "npx", "args": ["-y", "@matematicsolutions/mcp-krs"] } } }

(Building from source - below.)

MCP License: MIT Node

MCP server for the Krajowy Rejestr Sadowy / KRS (National Court Register) via the official, free Ministerstwo Sprawiedliwosci (Ministry of Justice) API (api-krs.ms.gov.pl/api/krs).

Why

A law firm asks about a counterparty -> Patron returns full register data: name, legal form, NIP, REGON, address, share capital, board composition, representation rules, commercial proxies (prokurenci), primary PKD code, status (active / liquidation / bankruptcy). Plus a URL to the Ministry of Justice search tool.

Critical for contract work: the question "can this person sign this contract for company X on their own" reduces to two moves - krs__get_board with the KRS number, then comparing the representation rules against the signing party.

Tools

  • get_entity(krs, rejestr?) - current extract (full entity data).
  • get_entity_full(krs, rejestr?) - full extract (with entry history).
  • get_board(krs, rejestr?) - short form: representation only (rules + composition) + commercial proxies (prokurenci).

Parameters:

  • krs - 1-10 digits, leading zeros padded automatically (28860 -> 0000028860).
  • rejestr - P (entrepreneurs register, default) or S (associations register).

Every response contains structuredContent.citations with fields: title, url (Ministry of Justice search), krs, nazwa, nip, regon, forma_prawna, status, miejscowosc, sad_rejestrowy, rejestr.

Patron reads the field automatically and renders it in the UI panel as a "Krajowy Rejestr Sadowy (KRS - MS)" section.

Stack

  • Node 18+ (built-in fetch)
  • @modelcontextprotocol/sdk
  • Stdio transport
  • Throttle 500 ms (2 req/s) - the Ministry of Justice API is tolerant, but be polite

Build + run

npm install
npm run build
node dist/index.js

Wiring into Patron

In patron/backend/mcp-servers.json:

{
  "name": "krs",
  "transport": "stdio",
  "command": "node",
  "args": ["C:/Users/<YOUR-USER>/mcp-krs/dist/index.js"],
  "enabled": true
}

Smoke test

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"s","version":"0"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_board","arguments":{"krs":"28860"}}}' \
  | node dist/index.js

Should return ORLEN SA, representation rules "two board members acting jointly", board composition, commercial proxies (prokurenci) + URL.

GDPR notes

The Ministry of Justice API returns masked personal data of board members in its responses (asterisks in surnames after the 2023 amendment). Patron passes this through raw and does not unmask it. For full surnames, the law-firm user opens the Ministry of Justice link in a browser after logging in.

Lineage

API contract from the official documentation MS api-krs.ms.gov.pl. TypeScript implementation from scratch.

License

MIT.

Part of the MateMatic legal stack

This server is one of five MCP connectors covering Polish jurisdiction + EU law, used by Patron (AGPL-3.0) and any other MCP-aware legal AI agent.

  • mcp-krs (this repo) - Polish company registry (official MS API)
  • mcp-saos - common courts, SN, TK, KIO
  • mcp-nsa - NSA + 16 WSA administrative courts
  • mcp-isap - Polish legislation (Dz.U. + M.P.)
  • mcp-eu-sparql - EU law + CJEU (EUR-Lex)

All five MCP servers share the same structuredContent.citations contract: each tool returns an array of {title, url, snippet?, ...metadata} that legal agents can render directly in their citation panel.

See matematicsolutions/.github for the full org profile.

from github.com/matematicsolutions/mcp-krs

Install Krs in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install mcp-krs

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add mcp-krs -- npx -y @matematicsolutions/mcp-krs

FAQ

Is Krs MCP free?

Yes, Krs MCP is free — one-click install via Unyly at no cost.

Does Krs need an API key?

No, Krs runs without API keys or environment variables.

Is 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 Krs in Claude Desktop, Claude Code or Cursor?

Open 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

Compare Krs with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs