{"_id":"@ansvar/costa-rican-law-mcp","_rev":"4-7f66cd5688da9a5b7b9e53d325d67b8f","name":"@ansvar/costa-rican-law-mcp","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.1":{"name":"@ansvar/costa-rican-law-mcp","version":"1.0.1","keywords":["mcp","model-context-protocol","costa-rican-law","data-protection","cybersecurity","legislation","legal","compliance","ansvar"],"author":{"name":"Ansvar Systems","email":"hello@ansvar.eu"},"license":"Apache-2.0","_id":"@ansvar/costa-rican-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/Costa-Rican-law-mcp/issues"},"bin":{"costa-rican-law-mcp":"dist/index.js"},"dist":{"shasum":"eabeff7d69b4e6d190fc4bd27080806468a92999","tarball":"https://registry.npmjs.org/@ansvar/costa-rican-law-mcp/-/costa-rican-law-mcp-1.0.1.tgz","fileCount":120,"integrity":"sha512-k5KOEHW0svHYRPyf51TK+aJ7VL69PGFU47sKvQAAY7o6VMMHIeuAVVp6GE/o7osFHU+MIjEQu7c+L1c+ZZbnZQ==","signatures":[{"sig":"MEUCIQCU3lFqFirlV9ip9litaQTMUSgVmh/PnJ76gkdLtLHeDAIgKNNTo60NbcGUNqbxH37M/9VxEN2SwptR/OqNAngDzu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ansvar%2fcosta-rican-law-mcp@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265110},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"a5d1a67e99c8d17e043579e471543e0676b439a5","mcpName":"eu.ansvar/costa-rican-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/Costa-Rican-law-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Costa Rican law database covering data protection, cybersecurity, e-commerce, and criminal law provisions via Model Context Protocol","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/costa-rican-law-mcp_1.0.1_1771781871952_0.605748386523163","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Ansvar MCP servers are now distributed as source from github.com/Ansvar-Systems/costa-rican-law-mcp under Apache 2.0. Self-hosting instructions: see the repo README. Hosted gateway: ansvar.eu"},"2.0.0":{"name":"@ansvar/costa-rican-law-mcp","version":"2.0.0","keywords":["mcp","model-context-protocol","costa-rican-law","data-protection","cybersecurity","legislation","legal","compliance","ansvar"],"author":{"name":"Ansvar Systems","email":"hello@ansvar.eu"},"license":"Apache-2.0","_id":"@ansvar/costa-rican-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/Costa-Rican-law-mcp/issues"},"bin":{"costa-rican-law-mcp":"dist/index.js"},"dist":{"shasum":"458a7dfedfc34f0a232768b5be3fbc15326fb281","tarball":"https://registry.npmjs.org/@ansvar/costa-rican-law-mcp/-/costa-rican-law-mcp-2.0.0.tgz","fileCount":129,"integrity":"sha512-Nl9yf9ZMfotVk2iuBSa6R5/UrqlM0e7L/jyet68+dC4DwLMALAA+iH8vbimkANWPoOFSOl0GBGfQKuXXalUYPw==","signatures":[{"sig":"MEUCIAGheExlkeN6QR9icnc0E5OZYK5qeoGbtKjehAJelFytAiEA4OzviKEppYSnOFjWhKjRiltnwFrTYSSMbYQMGD8JQfY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ansvar%2fcosta-rican-law-mcp@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":324580},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"878e91cdf37ddc44735555ad618fc798c667f623","mcpName":"eu.ansvar/costa-rican-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/Costa-Rican-law-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Costa Rican law database with 12,091 laws and 75,793 provisions from SCIJ via Model Context Protocol","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/costa-rican-law-mcp_2.0.0_1772104480208_0.09864134655057644","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Ansvar MCP servers are now distributed as source from github.com/Ansvar-Systems/costa-rican-law-mcp under Apache 2.0. Self-hosting instructions: see the repo README. Hosted gateway: ansvar.eu"},"2.0.1":{"name":"@ansvar/costa-rican-law-mcp","version":"2.0.1","keywords":["mcp","model-context-protocol","costa-rican-law","data-protection","cybersecurity","legislation","legal","compliance","ansvar"],"author":{"name":"Ansvar Systems","email":"hello@ansvar.eu"},"license":"Apache-2.0","_id":"@ansvar/costa-rican-law-mcp@2.0.1","maintainers":[{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"}],"homepage":"https://ansvar.eu","bugs":{"url":"https://github.com/Ansvar-Systems/Costa-Rican-law-mcp/issues"},"bin":{"costa-rican-law-mcp":"dist/index.js"},"dist":{"shasum":"09f50a0c23d67516210b335cd254b596df9221ae","tarball":"https://registry.npmjs.org/@ansvar/costa-rican-law-mcp/-/costa-rican-law-mcp-2.0.1.tgz","fileCount":133,"integrity":"sha512-fv2OVHYjTAJHcCBoPqinWa1m+62KwtovdQAR5a25ckx3i/OoB66K9fKEoDz/YGKULRHPNvewxKQpBn6bFbgsdg==","signatures":[{"sig":"MEUCIB8TNqHreg0L/Ony3l82vCi56cLlFaYTP7obA4FP2PCUAiEAgZsYRdmAfzpxUiXO2uNhRuwBBab9FCFDojr1N0aUi8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289630921},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"47f62a2ca69311edd6a965074a7e82e1cf19fb60","mcpName":"eu.ansvar/costa-rican-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/Costa-Rican-law-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Costa Rican law database with 16,724 laws and 120,455 provisions from SCIJ via Model Context Protocol","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/costa-rican-law-mcp_2.0.1_1772195214388_0.5978156662986989","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Ansvar MCP servers are now distributed as source from github.com/Ansvar-Systems/costa-rican-law-mcp under Apache 2.0. Self-hosting instructions: see the repo README. Hosted gateway: ansvar.eu"}},"time":{"created":"2026-02-22T17:37:51.887Z","modified":"2026-05-02T05:46:07.924Z","1.0.1":"2026-02-22T17:37:52.090Z","2.0.0":"2026-02-26T11:14:40.373Z","2.0.1":"2026-02-27T12:26:57.563Z"},"bugs":{"url":"https://github.com/Ansvar-Systems/Costa-Rican-law-mcp/issues"},"author":{"name":"Ansvar Systems","email":"hello@ansvar.eu"},"license":"Apache-2.0","homepage":"https://ansvar.eu","keywords":["mcp","model-context-protocol","costa-rican-law","data-protection","cybersecurity","legislation","legal","compliance","ansvar"],"repository":{"url":"git+https://github.com/Ansvar-Systems/Costa-Rican-law-mcp.git","type":"git"},"description":"Costa Rican law database with 16,724 laws and 120,455 provisions from SCIJ via Model Context Protocol","maintainers":[{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"}],"readme":"# Costa Rican Law MCP Server\n\n**The SCIJ alternative for the AI age.**\n\n[![npm version](https://badge.fury.io/js/@ansvar%2Fcosta-rican-law-mcp.svg)](https://www.npmjs.com/package/@ansvar/costa-rican-law-mcp)\n[![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![GitHub stars](https://img.shields.io/github/stars/Ansvar-Systems/Costa-Rican-law-mcp?style=social)](https://github.com/Ansvar-Systems/Costa-Rican-law-mcp)\n[![CI](https://github.com/Ansvar-Systems/Costa-Rican-law-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Ansvar-Systems/Costa-Rican-law-mcp/actions/workflows/ci.yml)\n[![Provisions](https://img.shields.io/badge/provisions-120%2C455-blue)]()\n\nQuery **16,724 Costa Rican laws** -- from the Penal Code and Data Protection Law to the Telecommunications Law, Digital Signatures Act, and more -- directly from Claude, Cursor, or any MCP-compatible client.\n\nIf you're building legal tech, compliance tools, or doing Costa Rican 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\nCosta Rican legal research means navigating [SCIJ](https://pgrweb.go.cr/scij/) (Sistema Costarricense de Informacion Juridica), downloading HTML pages from an ASP.NET portal, and manually cross-referencing between laws and articles. Whether you're:\n\n- A **lawyer** validating citations in a brief or contract\n- A **compliance officer** checking data protection obligations under Ley 8968\n- A **legal tech developer** building tools on Costa Rican law\n- A **researcher** tracing legislative provisions across 16,724 laws\n\n...you shouldn't need dozens of browser tabs and manual cross-referencing. Ask Claude. Get the exact provision. With context.\n\nThis MCP server makes Costa Rican law **searchable, cross-referenceable, and AI-readable**.\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://costa-rican-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 costa-rican-law --transport http https://costa-rican-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    \"costa-rican-law\": {\n      \"type\": \"url\",\n      \"url\": \"https://costa-rican-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    \"costa-rican-law\": {\n      \"type\": \"http\",\n      \"url\": \"https://costa-rican-law-mcp.vercel.app/mcp\"\n    }\n  }\n}\n```\n\n### Use Locally (npm)\n\n```bash\nnpx @ansvar/costa-rican-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    \"costa-rican-law\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ansvar/costa-rican-law-mcp\"]\n    }\n  }\n}\n```\n\n**Cursor / VS Code:**\n\n```json\n{\n  \"mcp.servers\": {\n    \"costa-rican-law\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ansvar/costa-rican-law-mcp\"]\n    }\n  }\n}\n```\n\n---\n\n## Example Queries\n\nOnce connected, just ask naturally:\n\n- *\"What does Ley 8968 say about data protection consent?\"*\n- *\"Find provisions about delitos informaticos in Costa Rican law\"*\n- *\"Is the Telecommunications Law (Ley 8642) still in force?\"*\n- *\"What does Article 196 bis of the Penal Code say about computer crimes?\"*\n- *\"Search for firma digital requirements across Costa Rican statutes\"*\n- *\"Validate the citation 'Articulo 5 Ley 8968'\"*\n- *\"Build a legal stance on personal data protection in Costa Rica\"*\n\n---\n\n## What's Included\n\n| Category | Count | Details |\n|----------|-------|---------|\n| **Laws** | 16,724 statutes | Census-first from SCIJ (18,761 discovered, 15,997 accessible) |\n| **Provisions** | 120,455 articles | Full-text searchable with FTS5 |\n| **Legal Definitions** | 3,620 definitions | Extracted from definition articles |\n| **Database Size** | ~276 MB | Optimized SQLite, portable |\n| **Weekly Freshness Checks** | Automated | Drift detection against SCIJ |\n\n### Key Laws\n\n| Law | Description | Provisions |\n|-----|-------------|-----------|\n| Ley 8968 | Data Protection Law | Personal data, consent, data subject rights |\n| Ley 9048 | Computer Crime Reform | Cybercrime provisions in the Penal Code |\n| Ley 8642 | General Telecommunications Law | Telecom regulation and oversight |\n| Ley 8454 | Digital Signatures and Certificates | Electronic documents and PKI |\n| Ley 4573 | Penal Code | Criminal law including cyber offenses |\n| Ley 8220 | Administrative Simplification | Anti-red-tape obligations |\n| Ley 10500 | Communications Interception Modernization | Judicial authorization rules |\n\n**Verified data only** -- every provision is ingested from official SCIJ sources (Procuraduria General de la Republica). Zero LLM-generated content.\n\n---\n\n## Why This Works\n\n**Verbatim Source Text (No LLM Processing):**\n- All statute text is ingested from [SCIJ](https://pgrweb.go.cr/scij/) (Procuraduria General de la Republica)\n- Provisions are returned **unchanged** from SQLite FTS5 database rows\n- Zero LLM summarization or paraphrasing -- the database contains statute text, not AI interpretations\n\n**Smart Context Management:**\n- Search returns ranked provisions with BM25 scoring (safe for context)\n- Provision retrieval gives exact text by law identifier + article number\n- Cross-references help navigate without loading everything at once\n\n**Technical Architecture:**\n```\nSCIJ HTML --> Parse --> SQLite --> FTS5 snippet() --> MCP response\n               ^                        ^\n        Provision parser         Verbatim database query\n```\n\n### Traditional Research vs. This MCP\n\n| Traditional Approach | This MCP Server |\n|---------------------|-----------------|\n| Search SCIJ by law number | Search by plain language: *\"proteccion datos personales\"* |\n| Navigate multi-article statutes manually | Get the exact provision with context |\n| Manual cross-referencing between laws | `build_legal_stance` aggregates across sources |\n| \"Is this statute still in force?\" --> check manually | `check_currency` tool --> answer in seconds |\n| No API, no integration | MCP protocol --> AI-native |\n\n**Traditional:** Search SCIJ --> Navigate ASP.NET portal --> Ctrl+F --> Cross-reference between laws --> Repeat\n\n**This MCP:** *\"What are the consent requirements under Ley 8968 and how do they compare to GDPR?\"* --> Done.\n\n---\n\n## Available Tools (13)\n\n### Core Legal Research Tools (8)\n\n| Tool | Description |\n|------|-------------|\n| `search_legislation` | FTS5 full-text search across 75,042 provisions with BM25 ranking. Supports quoted phrases, boolean operators, prefix wildcards |\n| `get_provision` | Retrieve specific provision by law identifier + article number (e.g., \"cr-ley8968\" + \"1\") |\n| `check_currency` | Check if a statute is in force, amended, or repealed |\n| `validate_citation` | Validate citation against database -- zero-hallucination check |\n| `build_legal_stance` | Aggregate citations from multiple statutes for a legal topic |\n| `format_citation` | Format citations per Costa Rican conventions |\n| `list_sources` | List all available statutes with metadata, coverage scope, and data provenance |\n| `about` | Server info, capabilities, dataset statistics, and coverage summary |\n\n### EU/International Law Integration Tools (5)\n\n| Tool | Description |\n|------|-------------|\n| `get_eu_basis` | Get EU directives/regulations that a Costa Rican statute references |\n| `get_costa_rican_implementations` | Find Costa Rican laws referencing a specific EU act |\n| `search_eu_implementations` | Search EU documents with Costa Rican reference counts |\n| `get_provision_eu_basis` | Get EU law references for a specific provision |\n| `validate_eu_compliance` | Check alignment status of Costa Rican statutes against EU directives |\n\n---\n\n## EU Law Integration\n\nCosta Rica is not an EU member state, but certain Costa Rican laws share principles with EU frameworks:\n\n- **Ley 8968** (Data Protection) shares significant overlap with GDPR principles on consent, data subject rights, and data controller obligations\n- **Ley 8454** (Digital Signatures) aligns with eIDAS concepts for electronic signatures and certificates\n- Costa Rica participates in multilateral frameworks that share principles with EU data protection\n\nThe EU bridge tools allow you to explore these alignment relationships -- checking which Costa Rican provisions correspond to EU requirements, and vice versa.\n\n> **Note:** EU cross-references reflect alignment relationships, not transposition. Costa Rica adopts its own legislative approach.\n\n---\n\n## Data Sources & Freshness\n\nAll content is sourced from authoritative Costa Rican legal databases:\n\n- **[SCIJ](https://pgrweb.go.cr/scij/)** -- Sistema Costarricense de Informacion Juridica, operated by the Procuraduria General de la Republica (PGR)\n\n### Data Provenance\n\n| Field | Value |\n|-------|-------|\n| **Authority** | Procuraduria General de la Republica (PGR) |\n| **Retrieval method** | HTML scrape from SCIJ date-range selective search |\n| **Language** | Spanish |\n| **License** | Government open access |\n| **Coverage** | 16,724 laws (64.6% of 18,761 discovered) |\n| **Last ingested** | 2026-02-26 |\n\n### Automated Freshness Checks (Weekly)\n\nA [weekly GitHub Actions workflow](.github/workflows/check-freshness.yml) monitors SCIJ for changes:\n\n| Check | Method |\n|-------|--------|\n| **Portal availability** | HEAD request to SCIJ |\n| **Document count** | Database vs. census comparison |\n| **Database age** | Build date threshold check |\n\n---\n\n## Security\n\nThis project uses multiple layers of automated security scanning:\n\n| Scanner | What It Does | Schedule |\n|---------|-------------|----------|\n| **CodeQL** | Static analysis for security vulnerabilities | Weekly + PRs |\n| **Semgrep** | SAST scanning (OWASP top 10, secrets, TypeScript) | Every push |\n| **Gitleaks** | Secret detection across git history | Every push |\n| **Trivy** | CVE scanning on filesystem and npm dependencies | Daily |\n| **Socket.dev** | Supply chain attack detection | PRs |\n| **Dependabot** | Automated dependency updates | Weekly |\n\nSee [SECURITY.md](SECURITY.md) for the full policy and vulnerability reporting.\n\n---\n\n## Important Disclaimers\n\n### Legal Advice\n\n> **THIS TOOL IS NOT LEGAL ADVICE**\n>\n> Statute text is sourced from official SCIJ publications. However:\n> - This is a **research tool**, not a substitute for professional legal counsel\n> - **Court case coverage is not included** -- do not rely solely on this for case law research\n> - **Verify critical citations** against primary sources for court filings\n> - **EU cross-references** reflect alignment relationships, not transposition\n> - **Coverage is 100% of accessible content** -- 16,724 of 18,761 discovered laws are ingested (2,764 entries have no digitized text on the SCIJ portal)\n\n**Before using professionally, read:** [DISCLAIMER.md](DISCLAIMER.md) | [SECURITY.md](SECURITY.md)\n\n### Client Confidentiality\n\nQueries go through the Claude API. For privileged or confidential matters, use on-premise deployment.\n\n---\n\n## Development\n\n### Setup\n\n```bash\ngit clone https://github.com/Ansvar-Systems/Costa-Rican-law-mcp\ncd Costa-Rican-law-mcp\nnpm install\nnpm run build\nnpm test\n```\n\n### Running Locally\n\n```bash\nnpm run dev                                       # Start MCP server\nnpx @anthropic/mcp-inspector node dist/index.js   # Test with MCP Inspector\n```\n\n### Data Management\n\n```bash\nnpm run census                           # Enumerate all laws from SCIJ\nnpm run ingest                           # Ingest curated laws from SCIJ\nnpm run ingest -- --full-corpus          # Full corpus ingestion\nnpm run ingest -- --full-corpus --resume # Resume interrupted ingestion\nnpm run build:db                         # Rebuild SQLite database\nnpm run check-updates                    # Check for source updates\nnpm run drift:detect                     # Run drift detection\n```\n\n### Performance\n\n- **Search Speed:** <100ms for most FTS5 queries\n- **Database Size:** ~147 MB (efficient, portable)\n- **Reliability:** 64.6% ingestion success rate (SCIJ portal limitations)\n\n---\n\n## Related Projects: Complete Compliance Suite\n\nThis server is part of **Ansvar's Compliance Suite** -- MCP servers that work together for end-to-end compliance coverage:\n\n### [@ansvar/eu-regulations-mcp](https://github.com/Ansvar-Systems/EU_compliance_MCP)\n**Query 49 EU regulations directly from Claude** -- GDPR, AI Act, DORA, NIS2, MiFID II, eIDAS, and more. Full regulatory text with article-level search. `npx @ansvar/eu-regulations-mcp`\n\n### [@ansvar/us-regulations-mcp](https://github.com/Ansvar-Systems/US_Compliance_MCP)\n**Query US federal and state compliance laws** -- HIPAA, CCPA, SOX, GLBA, FERPA, and more. `npx @ansvar/us-regulations-mcp`\n\n### [@ansvar/security-controls-mcp](https://github.com/Ansvar-Systems/security-controls-mcp)\n**Query 261 security frameworks** -- ISO 27001, NIST CSF, SOC 2, CIS Controls, SCF, and more. `npx @ansvar/security-controls-mcp`\n\n### [@ansvar/automotive-cybersecurity-mcp](https://github.com/Ansvar-Systems/Automotive-MCP)\n**Query UNECE R155/R156 and ISO 21434** -- Automotive cybersecurity compliance. `npx @ansvar/automotive-cybersecurity-mcp`\n\n**70+ national law MCPs** covering Australia, Brazil, Canada, China, Denmark, Finland, France, Germany, Ghana, Iceland, India, Ireland, Israel, Italy, Japan, Kenya, Netherlands, Nigeria, Norway, Singapore, Slovenia, South Korea, Sweden, Switzerland, Thailand, UAE, UK, and more.\n\n---\n\n## Contributing\n\nContributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\nPriority areas:\n- Remaining law ingestion (6,684 of 18,761 IDs pending SCIJ availability)\n- EU cross-reference expansion\n- Court case law coverage\n- Historical statute versions and amendment tracking\n- Decreto Ejecutivo and Reglamento coverage\n\n---\n\n## Roadmap\n\n- [x] Core statute database with FTS5 search\n- [x] Census-first full corpus discovery (18,761 laws)\n- [x] Full corpus ingestion (16,724 laws, 75,042 provisions, 809 definitions)\n- [x] EU/international law alignment tools\n- [x] Vercel Streamable HTTP deployment\n- [x] npm package publication\n- [x] Drift detection and weekly freshness checks\n- [ ] Remaining law ingestion (SCIJ portal recovery)\n- [ ] Decreto Ejecutivo and Reglamento coverage\n- [ ] Court case law expansion\n- [ ] Historical statute versions (amendment tracking)\n\n---\n\n## Citation\n\nIf you use this MCP server in academic research:\n\n```bibtex\n@software{costa_rican_law_mcp_2026,\n  author = {Ansvar Systems AB},\n  title = {Costa Rican Law MCP Server: AI-Powered Legal Research Tool},\n  year = {2026},\n  url = {https://github.com/Ansvar-Systems/Costa-Rican-law-mcp},\n  note = {16,724 Costa Rican laws with 120,455 provisions and 3,620 definitions}\n}\n```\n\n---\n\n## License\n\nApache License 2.0. See [LICENSE](./LICENSE) for details.\n\n### Data Licenses\n\n- **Legislation:** Procuraduria General de la Republica (government open access via SCIJ)\n- **EU Metadata:** EUR-Lex (EU public domain)\n\n---\n\n## About Ansvar Systems\n\nWe build AI-accelerated compliance and legal research tools for the global market. This MCP server started as our internal reference tool -- turns out everyone building compliance tools has the same research frustrations.\n\nSo we're open-sourcing it. Navigating 16,724 laws shouldn't require a law degree.\n\n**[ansvar.eu](https://ansvar.eu)** -- Stockholm, Sweden\n\n---\n\n<p align=\"center\">\n  <sub>Built with care in Stockholm, Sweden</sub>\n</p>\n","readmeFilename":"README.md"}