io.github.matematicsolutions/mcp-krs

Registre officiel Administration et juridique

MCP server for the Polish KRS company registry via the official Ministry of Justice API.

Que pouvez-vous faire avec io.github.matematicsolutions/mcp-krs ?

  • 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
  • krs - 1-10 digits, leading zeros padded automatically
  • rejestr - P (entrepreneurs register, default) or S (associations register).

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @matematicsolutions/mcp-krs
Claude Code
claude mcp add mcp-krs -- npx -y @matematicsolutions/mcp-krs@1.2.2
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mcp-krs": {
            "command": "npx",
            "args": [
                "-y",
                "@matematicsolutions/mcp-krs@1.2.2"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. mcp-krs
  2. Installation (one command)
  3. Why
  4. Tools
  5. Stack
  6. Build + run
  7. Wiring into Patron
  8. Smoke test
  9. GDPR notes
  10. Lineage
  11. License
  12. Part of MateMatic

mcp-krs

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 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 MateMatic

This connector queries its source live. It is one of the Polish and EU source connectors bundled in PATRON and works with any MCP client.

mcp-saos, mcp-nsa, mcp-isap, mcp-krs and mcp-eu-sparql share one 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.

Questions fréquentes

Qu'est-ce que io.github.matematicsolutions/mcp-krs ?

MCP server for the Polish KRS company registry via the official Ministry of Justice API.

Comment installer io.github.matematicsolutions/mcp-krs ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add mcp-krs -- npx -y @matematicsolutions/mcp-krs@1.2.2. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.matematicsolutions/mcp-krs ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.matematicsolutions/mcp-krs est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.matematicsolutions/mcp-krs ?

Il est publié par matematicsolutions. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.