{"_id":"@ansvar/polish-law-mcp","_rev":"3-4dfb207ba746480f61fd1d9ef68c8172","name":"@ansvar/polish-law-mcp","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.1":{"name":"@ansvar/polish-law-mcp","version":"1.0.1","keywords":["mcp","model-context-protocol","polish-law","rodo","gdpr","uodo","data-protection","cybersecurity","ksc","cybercrime","kodeks-karny","ksh","legislation","legal","compliance","isap","ansvar"],"author":{"name":"Ansvar Systems","email":"hello@ansvar.eu"},"license":"Apache-2.0","_id":"@ansvar/polish-law-mcp@1.0.1","maintainers":[{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"}],"homepage":"https://ansvar.eu","bugs":{"url":"https://github.com/Ansvar-Systems/polish-law-mcp/issues"},"bin":{"polish-law-mcp":"dist/index.js"},"dist":{"shasum":"c59a6ed4afe9727433013597cf9ecfb725dc1f18","tarball":"https://registry.npmjs.org/@ansvar/polish-law-mcp/-/polish-law-mcp-1.0.1.tgz","fileCount":117,"integrity":"sha512-LUcgna6kv8P5xzmGIMzxjbA/Yb661Hhw45Pzrocyvd2RWplv2RgGSReMSB30kScywyr6alLGKyxmv7O2G+cmFg==","signatures":[{"sig":"MEUCIQCgvxyY4DT/Xz1ZqwJbRlcGtai/ZbAWyMoeuD2Hr48BWQIgDBFG11gijLlDzf9hhSeaI7ddQZxNnREI5gMXHWxFMWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ansvar%2fpolish-law-mcp@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3908242},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"89de94caea51c6d4062ffa27fd569325328ddd7a","mcpName":"eu.ansvar/polish-law-mcp","scripts":{"dev":"node --import tsx src/index.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","start":"node dist/index.js","ingest":"node --import tsx scripts/ingest.ts","build:db":"node --import tsx scripts/build-db.ts","validate":"npm run lint && npm test && npm run test:contract","test:watch":"vitest","postinstall":"test -d dist || npm run build || true","drift:detect":"node --import tsx scripts/drift-detect.ts","test:contract":"vitest run __tests__/contract/","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"},"overrides":{"ajv":"^8.18.0","undici":"^7.0.0","path-to-regexp":"^8.0.0"},"repository":{"url":"git+https://github.com/Ansvar-Systems/polish-law-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Polish law database covering data protection (RODO/GDPR implementing provisions), national cybersecurity system (KSC), cybercrime (Kodeks karny), commercial companies (KSH), and e-services with Polish full-text search","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@ansvar/mcp-sqlite":"^1.0.3","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^22.15.29","@vercel/node":"^5.6.4","better-sqlite3":"^12.6.2","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/polish-law-mcp_1.0.1_1771782000940_0.7399188416487386","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Ansvar MCP servers are now distributed as source from github.com/Ansvar-Systems/polish-law-mcp under Apache 2.0. Self-hosting instructions: see the repo README. Hosted gateway: ansvar.eu"},"2.0.0":{"name":"@ansvar/polish-law-mcp","version":"2.0.0","keywords":["mcp","model-context-protocol","polish-law","rodo","gdpr","uodo","data-protection","cybersecurity","ksc","cybercrime","kodeks-karny","ksh","legislation","legal","compliance","isap","ansvar"],"author":{"name":"Ansvar Systems","email":"hello@ansvar.eu"},"license":"Apache-2.0","_id":"@ansvar/polish-law-mcp@2.0.0","maintainers":[{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"}],"homepage":"https://ansvar.eu","bugs":{"url":"https://github.com/Ansvar-Systems/polish-law-mcp/issues"},"bin":{"polish-law-mcp":"dist/index.js"},"dist":{"shasum":"6028bb08f9e1e4f1b4f89c7102e40a5d55b18083","tarball":"https://registry.npmjs.org/@ansvar/polish-law-mcp/-/polish-law-mcp-2.0.0.tgz","fileCount":125,"integrity":"sha512-v0W2DfeaeYnD8rAwq0W8IUzOAJi/N7SclqDwZITRRtsOcDBt/M+8gPIxlVWX6sOePbGdKd8VPJjT5kZnixfT0w==","signatures":[{"sig":"MEQCIDXIoqBVR5trBFJeO9zMQrBkfLl8WEZRJmxvs3y1NsfoAiA0bXEAPOv7AzEkNKQeDcJFQ+cqAwmilPEnk+KCbiIgdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":348469476},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"9867f0a5b6def168d49012bda859f715d7c4155c","mcpName":"eu.ansvar/polish-law-mcp","scripts":{"dev":"node --import tsx src/index.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","start":"node dist/index.js","census":"node --import tsx scripts/census.ts","ingest":"node --import tsx scripts/ingest.ts","build:db":"node --import tsx scripts/build-db.ts","validate":"npm run lint && npm test && npm run test:contract","test:watch":"vitest","postinstall":"test -d dist || npm run build || true","drift:detect":"node --import tsx scripts/drift-detect.ts","check-updates":"node --import tsx scripts/check-updates.ts","test:contract":"vitest run __tests__/contract/","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"},"overrides":{"ajv":"^8.18.0","undici":"^7.0.0","path-to-regexp":"^8.0.0"},"repository":{"url":"git+https://github.com/Ansvar-Systems/polish-law-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Complete Polish law database — 8,943 Acts (Ustawy), 161,705 provisions from the Sejm ELI API covering all parliamentary legislation published in Dziennik Ustaw (1918-2026) with Polish full-text search and EU cross-references","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@ansvar/mcp-sqlite":"^1.0.3","@modelcontextprotocol/sdk":"^1.25.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","typescript":"^5.9.3","@types/node":"^22.15.29","@vercel/node":"^5.6.4","better-sqlite3":"^12.6.2","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/polish-law-mcp_2.0.0_1772182464168_0.8552997490017478","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Ansvar MCP servers are now distributed as source from github.com/Ansvar-Systems/polish-law-mcp under Apache 2.0. Self-hosting instructions: see the repo README. Hosted gateway: ansvar.eu"}},"time":{"created":"2026-02-22T17:40:00.841Z","modified":"2026-05-02T05:48:15.627Z","1.0.1":"2026-02-22T17:40:01.156Z","2.0.0":"2026-02-27T08:54:26.994Z"},"bugs":{"url":"https://github.com/Ansvar-Systems/polish-law-mcp/issues"},"author":{"name":"Ansvar Systems","email":"hello@ansvar.eu"},"license":"Apache-2.0","homepage":"https://ansvar.eu","keywords":["mcp","model-context-protocol","polish-law","rodo","gdpr","uodo","data-protection","cybersecurity","ksc","cybercrime","kodeks-karny","ksh","legislation","legal","compliance","isap","ansvar"],"repository":{"url":"git+https://github.com/Ansvar-Systems/polish-law-mcp.git","type":"git"},"description":"Complete Polish law database — 8,943 Acts (Ustawy), 161,705 provisions from the Sejm ELI API covering all parliamentary legislation published in Dziennik Ustaw (1918-2026) with Polish full-text search and EU cross-references","maintainers":[{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"}],"readme":"# Polish Law MCP Server\n\n**The Sejm alternative for the AI age.**\n\n[![npm](https://img.shields.io/npm/v/@ansvar/polish-law-mcp)](https://www.npmjs.com/package/@ansvar/polish-law-mcp)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)\n[![CI](https://github.com/Ansvar-Systems/polish-law-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Ansvar-Systems/polish-law-mcp/actions/workflows/ci.yml)\n[![MCP Registry](https://img.shields.io/badge/MCP-Registry-green)](https://registry.modelcontextprotocol.io/)\n[![OpenSSF Scorecard](https://img.shields.io/ossf-scorecard/github.com/Ansvar-Systems/polish-law-mcp)](https://securityscorecards.dev/viewer/?uri=github.com/Ansvar-Systems/polish-law-mcp)\n[![Database](https://img.shields.io/badge/database-pre--built-green)]()\n[![Provisions](https://img.shields.io/badge/provisions-161%2C705-blue)]()\n\nQuery **8,943 Polish laws** -- from the RODO implementing provisions and Kodeks karny to the KSC, Kodeks spolek handlowych, and more -- directly from Claude, Cursor, or any MCP-compatible client.\n\nIf you're building legal tech, compliance tools, or doing Polish legal research, this is your verified reference database.\n\nBuilt by [Ansvar Systems](https://ansvar.eu) -- Stockholm, Sweden\n\n---\n\n## Why This Exists\n\nPolish legal research is scattered across ISAP (Internetowy System Aktow Prawnych), the Dziennik Ustaw, and commercial platforms. Whether you're:\n- A **lawyer** validating citations in a brief or contract under Polish law\n- A **compliance officer** checking RODO/GDPR implementing provisions or KSC obligations\n- A **legal tech developer** building tools on Polish legislation\n- A **researcher** tracing legislative history through the Dziennik Ustaw\n\n...you shouldn't need dozens of browser tabs and manual PDF cross-referencing. Ask Claude. Get the exact provision. With context.\n\nThis MCP server makes Polish law **searchable, cross-referenceable, and AI-readable**.\n\n---\n\n## Example Queries\n\nOnce connected, just ask naturally:\n\n- *\"Co mowi RODO o zgodzie na przetwarzanie danych?\"*\n- *\"Znajdz przepisy o ochronie danych osobowych w polskim prawie\"*\n- *\"What does the KSC say about incident reporting?\"*\n- *\"Find cybercrime provisions in the Kodeks karny (Art. 267-269b)\"*\n- *\"Is the Kodeks spolek handlowych still in force?\"*\n- *\"What EU directives does the DPA 2018 implement?\"*\n- *\"Validate this legal citation\"*\n- *\"Build a legal stance on data breach notification requirements in Poland\"*\n\n---\n\n## Deployment Tier\n\n**MEDIUM** -- dual tier, free database bundled in npm package.\n\n| Tier | Platform | Database | Content |\n|------|----------|----------|---------|\n| **Free** | Vercel (Hobby) / npm (stdio) | Core legislation (~100-180 MB) | Key laws (DPA 2018, KSC, Kodeks karny cybercrime, KSH, e-Services Act, Telecommunications Law), FTS search, EU cross-references |\n| **Professional** | Azure Container Apps / Docker / Local | Full database (~500 MB - 900 MB) | + All ustawy and rozporzadzenia, UODO decisions and guidance, Supreme Court/Constitutional Tribunal summaries, NIS2 transposition materials |\n\nThe full database is larger due to the comprehensive scope of Polish legislation and supplementary regulatory materials. The free tier contains all key data protection, cybersecurity, cybercrime, commercial, and e-services legislation from ISAP.\n\n---\n\n## Data Sources\n\n| Source | Authority | Method | Update Frequency | License | Coverage |\n|--------|-----------|--------|-----------------|---------|----------|\n| [ISAP](https://isap.sejm.gov.pl) | Kancelaria Sejmu RP (Chancellery of the Sejm) | HTML Scrape / API | Weekly | Government Open Data (public domain per Art. 4 Copyright Act) | All Polish legislation published in Dziennik Ustaw and Monitor Polski |\n\n> Full provenance metadata: [`sources.yml`](./sources.yml)\n\n---\n\n## Quick Start\n\n### Use Remotely (No Install Needed)\n\n> Connect directly to the hosted version -- zero dependencies, nothing to install.\n\n**Endpoint:** `https://polish-law-mcp.vercel.app/mcp`\n\n| Client | How to Connect |\n|--------|---------------|\n| **Claude.ai** | Settings > Connectors > Add Integration > paste URL |\n| **Claude Code** | `claude mcp add polish-law --transport http https://polish-law-mcp.vercel.app/mcp` |\n| **Claude Desktop** | Add to config (see below) |\n| **GitHub Copilot** | Add to VS Code settings (see below) |\n\n**Claude Desktop** -- add to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"polish-law\": {\n      \"type\": \"url\",\n      \"url\": \"https://polish-law-mcp.vercel.app/mcp\"\n    }\n  }\n}\n```\n\n**GitHub Copilot** -- add to VS Code `settings.json`:\n\n```json\n{\n  \"github.copilot.chat.mcp.servers\": {\n    \"polish-law\": {\n      \"type\": \"http\",\n      \"url\": \"https://polish-law-mcp.vercel.app/mcp\"\n    }\n  }\n}\n```\n\n### Use Locally (npm)\n\n```bash\nnpx @ansvar/polish-law-mcp\n```\n\n**Claude Desktop** -- add to `claude_desktop_config.json`:\n\n**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"polish-law\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ansvar/polish-law-mcp\"]\n    }\n  }\n}\n```\n\n**Cursor / VS Code:**\n\n```json\n{\n  \"mcp.servers\": {\n    \"polish-law\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ansvar/polish-law-mcp\"]\n    }\n  }\n}\n```\n\n---\n\n## Tools\n\n| Tool | Description | Free Tier | Professional |\n|------|-------------|-----------|-------------|\n| `get_provision` | Retrieve a specific article from a Polish law or code | Yes | Yes |\n| `search_legislation` | Full-text search across all Polish legislation (Polish) | Yes | Yes |\n| `list_laws` | List all available laws with metadata | Yes | Yes |\n| `get_law_structure` | Get table of contents / structure of a law or code | Yes | Yes |\n| `get_provision_eu_basis` | Cross-reference Polish law to EU directives/regulations | Yes | Yes |\n| `search_rozporzadzenia` | Search rozporzadzenia (regulations) and executive instruments | No (upgrade) | Yes |\n| `get_uodo_guidance` | Retrieve UODO decisions and guidance | No (upgrade) | Yes |\n\n---\n\n## Key Legislation Covered\n\n| Law | Identifier | Domain | Key Topics |\n|-----|-----------|--------|------------|\n| **DPA 2018** | Ustawa o ochronie danych osobowych (Dz.U. 2018 poz. 1000) | Data Protection | GDPR/RODO implementing provisions, UODO structure and powers, administrative procedures, certification |\n| **KSC** | Ustawa o krajowym systemie cyberbezpieczenstwa (Dz.U. 2018 poz. 1560) | Cybersecurity | National cybersecurity system, CSIRT teams, incident reporting, essential services operators, NIS implementation |\n| **Kodeks karny (cybercrime)** | Art. 267-269b | Cybercrime | Unauthorized access (267), data destruction (268), system sabotage (268a), critical system sabotage (269), hacking tools (269b) |\n| **KSH** | Kodeks spolek handlowych (Dz.U. 2000 nr 94 poz. 1037) | Company Law | Sp. z o.o. and S.A. companies, partnerships, corporate governance, shareholders' rights |\n| **e-Services Act** | Ustawa o swiadczeniu uslug droga elektroniczna (Dz.U. 2002 nr 144 poz. 1204) | e-Commerce | Electronic service providers, hosting liability, commercial communications, consumer information |\n| **Telecommunications Law** | Prawo telekomunikacyjne (Dz.U. 2004 nr 171 poz. 1800) | Telecommunications | Telecom regulation, UKE authority, licensing, data retention, lawful interception |\n\n---\n\n## Database Estimates\n\n| Component | Free Tier | Full (Professional) |\n|-----------|-----------|---------------------|\n| Core codes and key laws | ~70-130 MB | ~70-130 MB |\n| All ustawy and rozporzadzenia | -- | ~300-500 MB |\n| UODO decisions and guidance | -- | ~50-100 MB |\n| Case law summaries | -- | ~70-150 MB |\n| Cross-references and metadata | ~5 MB | ~15 MB |\n| **Total** | **~100-180 MB** | **~500 MB - 900 MB** |\n\n**Delivery strategy:** Free-tier DB bundled in npm package (Strategy A -- fits within Vercel 250 MB function limit). If final size exceeds 250 MB after ingestion, switch to Strategy B (runtime download from GitHub Releases).\n\n---\n\n## Regulatory Context\n\n- **Supervisory Authority:** UODO (Urzad Ochrony Danych Osobowych - Personal Data Protection Office) with growing enforcement activity\n- **RODO** is the Polish name for GDPR (Rozporzadzenie o Ochronie Danych Osobowych); the DPA 2018 provides national implementing provisions\n- **KSC** established Poland's national cybersecurity system with three CSIRT teams: CSIRT NASK (private sector), CSIRT GOV (government), CSIRT MON (military)\n- **NASK** (Naukowa i Akademicka Siec Komputerowa) operates the national cybersecurity research center\n- Polish legal texts are **explicitly excluded from copyright** under Art. 4 of the Copyright Act, ensuring free reuse\n- **Dziennik Ustaw** (Journal of Laws) is the sole authoritative publication vehicle for Polish legislation\n- Poland is the **EU's sixth largest economy** and the largest in Central and Eastern Europe\n- NIS2 transposition is expected to expand KSC significantly with new entity categories and reporting obligations\n\n---\n\n## Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/Ansvar-Systems/polish-law-mcp.git\ncd polish-law-mcp\n\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run tests\nnpm test\n\n# Run contract tests\nnpm run test:contract\n\n# Build database (requires raw data in data/ directory)\nnpm run build:db\n\n# Build free-tier database\nnpm run build:db:free\n\n# Run drift detection\nnpm run drift:detect\n\n# Full validation\nnpm run validate\n```\n\n---\n\n## Architecture\n\n```\npolish-law-mcp/\n├── .github/\n│   ├── workflows/\n│   │   ├── ci.yml                    # Test + lint + security scan\n│   │   ├── publish.yml               # npm publish on version tags\n│   │   ├── check-source-updates.yml  # Data freshness monitoring\n│   │   └── drift-detect.yml          # Upstream drift detection\n│   ├── SECURITY.md\n│   ├── SECURITY-SETUP.md\n│   └── ISSUE_TEMPLATE/\n│       └── data-error.md\n├── data/\n│   └── .gitkeep\n├── fixtures/\n│   ├── golden-tests.json             # 12 contract tests\n│   ├── golden-hashes.json            # 6 drift detection anchors\n│   └── README.md\n├── scripts/\n│   ├── build-db.ts\n│   ├── build-db-free.ts\n│   ├── download-free-db.sh\n│   ├── ingest.ts\n│   ├── drift-detect.ts\n│   └── check-source-updates.ts\n├── src/\n│   ├── server.ts\n│   ├── db.ts\n│   └── tools/\n│       ├── get-provision.ts\n│       ├── search-legislation.ts\n│       ├── list-laws.ts\n│       ├── get-law-structure.ts\n│       ├── get-provision-eu-basis.ts\n│       ├── search-rozporzadzenia.ts\n│       └── get-uodo-guidance.ts\n├── __tests__/\n│   ├── unit/\n│   ├── contract/\n│   │   └── golden.test.ts\n│   └── integration/\n├── sources.yml\n├── server.json\n├── package.json\n├── tsconfig.json\n├── vercel.json\n├── CHANGELOG.md\n├── LICENSE\n└── README.md\n```\n\n---\n\n## Notes on Polish Data Protection Landscape\n\n**RODO (GDPR)** and the **DPA 2018** have distinctive Polish implementation features:\n\n- Poland's DPA 2018 focuses on **UODO structure and procedures** rather than substantive data protection rules (which come directly from GDPR/RODO)\n- **UODO** has been growing in enforcement activity, with increasing fine amounts\n- Poland maintains **sector-specific data protection provisions** in telecommunications and health legislation\n- **Age of digital consent** set at 16 (GDPR default)\n\n**KSC** (National Cybersecurity System) is comprehensive:\n- Three-CSIRT model: **CSIRT NASK** (private sector), **CSIRT GOV** (government), **CSIRT MON** (military)\n- **Essential services operators** must implement security measures and report incidents\n- **Digital service providers** have separate obligations\n- NIS2 transposition will significantly expand the scope and requirements\n\n**Kodeks karny** cybercrime provisions (Arts. 267-269b) cover:\n- Art. 267: Unauthorized access to information\n- Art. 268: Destruction or alteration of data\n- Art. 268a: Disruption of automated data processing\n- Art. 269: Sabotage of computer systems of particular importance\n- Art. 269b: Manufacturing or possession of hacking tools\n\nPoland is the **largest economy in Central and Eastern Europe** and a key market for EU-wide compliance programs.\n\n---\n\n## Related Documents\n\n- [MCP Quality Standard](../../mcp-quality-standard.md) -- quality requirements for all Ansvar MCPs\n- [MCP Infrastructure Blueprint](../../mcp-infrastructure-blueprint.md) -- infrastructure implementation templates\n- [MCP Deployment Tiers](../../mcp-deployment-tiers.md) -- free vs. professional tier strategy\n- [MCP Server Registry](../../mcp-server-registry.md) -- operational registry of all MCPs\n- [MCP Remote Access](../../mcp-remote-access.md) -- public Vercel endpoint URLs\n\n---\n\n## Security\n\nReport vulnerabilities to **security@ansvar.eu** (48-hour acknowledgment SLA).\n\nSee [SECURITY.md](.github/SECURITY.md) for full disclosure policy.\n\n---\n\n**Maintained by:** Ansvar Systems Engineering\n**Contact:** hello@ansvar.eu\n","readmeFilename":"README.md"}