eu.ansvar/spanish-law-mcp
平台与服务by ansvar-systems
通过 MCP 访问西班牙法律,支持对各类 statutes 与 provisions 进行全文检索。
什么是 eu.ansvar/spanish-law-mcp?
通过 MCP 访问西班牙法律,支持对各类 statutes 与 provisions 进行全文检索。
README
Spanish Law MCP Server
The BOE (Boletín Oficial del Estado) alternative for the AI age.
Query 12,181 Spanish statutes -- from la LOPDGDD y el RGPD, el Código Penal, and el Estatuto de los Trabajadores to el Código Civil, la Ley de Sociedades de Capital, and more -- directly from Claude, Cursor, or any MCP-compatible client.
If you're building legal tech, compliance tools, or doing Spanish legal research, this is your verified reference database.
Built by Ansvar Systems -- Stockholm, Sweden
Why This Exists
Spanish legal research means navigating the Boletín Oficial del Estado, regional BOCAs, and EUR-Lex, then manually reconciling between national and EU law. Whether you're:
- A lawyer validating citations in a brief or contract
- A compliance officer checking LOPDGDD obligations or ENS requirements
- A legal tech developer building tools on Spanish law
- A researcher tracing legislative provisions across 12,181 national statutes
...you shouldn't need dozens of browser tabs and manual cross-referencing. Ask Claude. Get the exact provision. With context.
This MCP server makes Spanish law searchable, cross-referenceable, and AI-readable.
Quick Start
Use Remotely (No Install Needed)
Connect directly to the hosted version -- zero dependencies, nothing to install.
Endpoint: https://mcp.ansvar.eu/law-es/mcp
| Client | How to Connect |
|---|---|
| Claude.ai | Settings > Connectors > Add Integration > paste URL |
| Claude Code | claude mcp add spanish-law --transport http https://mcp.ansvar.eu/law-es/mcp |
| Claude Desktop | Add to config (see below) |
| GitHub Copilot | Add to VS Code settings (see below) |
Claude Desktop -- add to claude_desktop_config.json:
{
"mcpServers": {
"spanish-law": {
"type": "url",
"url": "https://mcp.ansvar.eu/law-es/mcp"
}
}
}
GitHub Copilot -- add to VS Code settings.json:
{
"github.copilot.chat.mcp.servers": {
"spanish-law": {
"type": "http",
"url": "https://mcp.ansvar.eu/law-es/mcp"
}
}
}
Use Locally (npm)
npx @ansvar/spanish-law-mcp
Claude Desktop -- add to claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"spanish-law": {
"command": "npx",
"args": ["-y", "@ansvar/spanish-law-mcp"]
}
}
}
Cursor / VS Code:
{
"mcp.servers": {
"spanish-law": {
"command": "npx",
"args": ["-y", "@ansvar/spanish-law-mcp"]
}
}
}
Example Queries
Once connected, just ask naturally:
- "¿Qué dice el artículo 6 de la LOPDGDD sobre el tratamiento de datos personales?"
- "Búsqueda 'protección de datos' en el derecho español (LOPDGDD, RGPD)"
- "¿Qué artículos del Código Penal regulan los delitos informáticos?"
- "Encuentra disposiciones sobre despido improcedente en el Estatuto de los Trabajadores"
- "What EU directives does the LOPDGDD implement?"
- "Which Spanish laws implement the NIS2 Directive?"
- "Valida la cita 'Art. 197 CP' (Código Penal)"
- "Busca 'responsabilidad civil' en el Código Civil español"
- "Compare incident notification requirements under NIS2 and the Spanish transposition"
- "¿Está en vigor el Real Decreto-ley 14/2019 sobre medidas urgentes de administración digital?"
What's Included
| Category | Count | Details |
|---|---|---|
| Statutes | 12,181 statutes | Comprehensive Spanish legislation from BOE |
| Provisions | 297,760 articles | Full-text searchable with FTS5 |
| Preparatory Works | 12,193 documents | Premium tier -- exposiciones de motivos, proyectos de ley |
| Case Law | 0 (free tier) | Reserved for future ingestion |
| Agency Guidance | 0 (free tier) | Reserved for future ingestion |
| Database Size | ~849 MB | Optimized SQLite, portable |
| Daily Updates | Automated | Freshness checks against BOE |
Verified data only -- every citation is validated against official sources (BOE, boe.es). Zero LLM-generated content.
See It In Action
Why This Works
Verbatim Source Text (No LLM Processing):
- All statute text is ingested from the BOE Datos Abiertos API (boe.es/datosabiertos)
- Provisions are returned unchanged from SQLite FTS5 database rows
- Zero LLM summarization or paraphrasing -- the database contains regulation text, not AI interpretations
Smart Context Management:
- Search returns ranked provisions with BM25 scoring (safe for context)
- Provision retrieval gives exact text by statute identifier + article number
- Cross-references help navigate without loading everything at once
Technical Architecture:
BOE Datos Abiertos API --> Parse --> SQLite --> FTS5 snippet() --> MCP response
^ ^
Provision parser Verbatim database query
Traditional Research vs. This MCP
| Traditional Approach | This MCP Server |
|---|---|
| Search BOE by statute name | Search by plain Spanish: "protección datos personales" |
| Navigate multi-title statutes manually | Get the exact article with context |
| Manual cross-referencing between codes | build_legal_stance aggregates across sources |
| "¿Está este artículo vigente?" -> check manually | check_currency tool -> answer in seconds |
| Find EU basis -> dig through EUR-Lex | get_eu_basis -> linked EU directives instantly |
| Check BOE, EUR-Lex, AEPD separately | Daily automated freshness checks |
| No API, no integration | MCP protocol -> AI-native |
Traditional: Search BOE -> Download PDF -> Ctrl+F -> Cross-reference with RGPD -> Check EUR-Lex -> Repeat
This MCP: "¿Qué normativa europea da base al artículo 22 de la LOPDGDD sobre decisiones automatizadas?" -> Done.
Available Tools (13)
Core Legal Research Tools (8)
| Tool | Description |
|---|---|
search_legislation | FTS5 full-text search across 297,760 provisions with BM25 ranking |
get_provision | Retrieve specific provision by statute identifier + article number |
validate_citation | Validate citation against database (zero-hallucination check) |
build_legal_stance | Aggregate citations from statutes, preparatory works, and case law |
format_citation | Format citations per Spanish conventions (full/short/pinpoint) |
check_currency | Check if statute is in force, amended, or repealed |
list_sources | List all available statutes with metadata and data provenance |
about | Server info, capabilities, dataset statistics, and coverage summary |
EU Law Integration Tools (5)
| Tool | Description |
|---|---|
get_eu_basis | Get EU directives/regulations underlying a Spanish statute |
get_spanish_implementations | Find Spanish laws implementing a specific EU act |
search_eu_implementations | Search EU documents with Spanish implementation counts |
get_provision_eu_basis | Get EU law references for a specific provision |
validate_eu_compliance | Check implementation status against EU directives |
EU Law Integration
Spain is a full EU member state. Spanish law has systematic EU cross-references across data protection, cybersecurity, financial regulation, and consumer rights.
| Metric | Value |
|---|---|
| EU Integration | Full EU member (accession 1986) |
| GDPR Implementation | LOPDGDD (Ley Orgánica 3/2018, AEPD oversight) |
| NIS2 Transposition | Real Decreto-ley + Ley de Seguridad de las Redes y Sistemas de Información |
| AI Act | Direct application (EU regulation, no transposition needed) |
| ENS | Esquema Nacional de Seguridad (Real Decreto 311/2022) |
| EUR-Lex Integration | Automated metadata fetching |
Key EU Acts with Spanish Implementations
- GDPR (2016/679) -- LOPDGDD (Ley Orgánica 3/2018) + AEPD decisions
- NIS2 Directive (2022/2555) -- Ley de Ciberseguridad (transposition pending as of 2026)
- eIDAS Regulation (910/2014) -- Ley 6/2020 (firma y certificados electrónicos)
- AI Act (2024/1689) -- Direct application
- DORA (2022/2554) -- Direct application in financial sector
See EU_INTEGRATION_GUIDE.md for detailed documentation.
Data Sources & Freshness
All content is sourced from authoritative Spanish legal databases:
- BOE Datos Abiertos -- Boletín Oficial del Estado open data API
- EUR-Lex -- Official EU law database (metadata only)
Data Provenance
| Field | Value |
|---|---|
| Authority | Agencia Estatal Boletín Oficial del Estado |
| Retrieval method | BOE Datos Abiertos REST API |
| Languages | Spanish (official language of law) |
| License | BOE open data (Reutilización de la información del sector público) |
| Coverage | 12,181 consolidated statutes (national + regional) |
| Last ingested | 2026-02-25 |
Automated Freshness Checks (Daily)
A daily GitHub Actions workflow monitors all data sources:
| Source | Check | Method |
|---|---|---|
| Statute amendments | BOE API date comparison | All 12,181 statutes checked |
| New statutes | BOE publications (90-day window) | Diffed against database |
| Preparatory works | BOE proyecto de ley API (30-day window) | New texts detected |
| EU reference staleness | Git commit timestamps | Flagged if >90 days old |
Security
This project uses multiple layers of automated security scanning:
| Scanner | What It Does | Schedule |
|---|---|---|
| CodeQL | Static analysis for security vulnerabilities | Weekly + PRs |
| Semgrep | SAST scanning (OWASP top 10, secrets, TypeScript) | Every push |
| Gitleaks | Secret detection across git history | Every push |
| Trivy | CVE scanning on filesystem and npm dependencies | Daily |
| Docker Security | Container image scanning + SBOM generation | Daily |
| Socket.dev | Supply chain attack detection | PRs |
| OSSF Scorecard | OpenSSF best practices scoring | Weekly |
| Dependabot | Automated dependency updates | Weekly |
See SECURITY.md for the full policy and vulnerability reporting.
Important Disclaimers
Legal Advice
THIS TOOL IS NOT LEGAL ADVICE
Statute text is sourced from official BOE publications. However:
- This is a research tool, not a substitute for professional legal counsel
- Court case coverage is not included in the free tier -- do not rely solely on this for case law research
- Verify critical citations against primary sources for court filings
- EU cross-references are extracted from Spanish statute text, not EUR-Lex full text
- Regional legislation (Comunidades Autónomas) may not be fully covered
Before using professionally, read: DISCLAIMER.md | PRIVACY.md
Client Confidentiality
Queries go through the Claude API. For privileged or confidential matters, use on-premise deployment. For guidance on professional obligations, consult the Consejo General de la Abogacía Española. See PRIVACY.md for compliance guidance.
Documentation
- EU Integration Guide -- Detailed EU cross-reference documentation
- EU Usage Examples -- Practical EU lookup examples
- Security Policy -- Vulnerability reporting and scanning details
- Disclaimer -- Legal disclaimers and professional use notices
- Privacy -- Client confidentiality and data handling
Development
Setup
git clone https://github.com/Ansvar-Systems/spanish-law-mcp
cd spanish-law-mcp
npm install
npm run build
npm test
Running Locally
npm run dev # Start MCP server
npx @anthropic/mcp-inspector node dist/index.js # Test with MCP Inspector
Data Management
npm run ingest # Ingest statutes from BOE Datos Abiertos
npm run build:db # Rebuild SQLite database
npm run drift:detect # Run drift detection against anchors
npm run check-updates # Check for amendments and new statutes
npm run census # Generate coverage census report
Performance
- Search Speed: <100ms for most FTS5 queries
- Database Size: ~849 MB (efficient, portable)
- Reliability: 100% ingestion success rate across 12,181 statutes
Related Projects: Complete Compliance Suite
This server is part of Ansvar's Compliance Suite -- MCP servers that work together for end-to-end compliance coverage:
@ansvar/eu-regulations-mcp
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
@ansvar/spanish-law-mcp (This Project)
Query 12,181 Spanish statutes directly from Claude -- LOPDGDD, Código Penal, Estatuto de los Trabajadores, Código Civil, and more. Full provision text with EU cross-references. npx @ansvar/spanish-law-mcp
@ansvar/french-law-mcp
Query 3,958 French statutes -- Code civil, Code pénal, loi Informatique et Libertés, and more. npx @ansvar/french-law-mcp
@ansvar/security-controls-mcp
Query 261 security frameworks -- ISO 27001, NIST CSF, SOC 2, CIS Controls, SCF, and more. npx @ansvar/security-controls-mcp
@ansvar/sanctions-mcp
Offline-capable sanctions screening -- OFAC, EU, UN sanctions lists. pip install ansvar-sanctions-mcp
Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
Priority areas:
- Court case law expansion (Tribunal Supremo, Audiencia Nacional)
- AEPD decisions and guidance ingestion
- Historical statute versions and amendment tracking
- Autonomous community legislation coverage
Roadmap
- Core statute database with FTS5 search
- Full corpus ingestion (12,181 statutes, 297,760 provisions)
- EU law integration tools
- Vercel Streamable HTTP deployment
- npm package publication
- Premium preparatory works (12,193 documents)
- Tribunal Supremo case law coverage
- AEPD guidance documents
- Historical statute versions (amendment tracking)
- Autonomous community legislation
Citation
If you use this MCP server in academic research:
@software{spanish_law_mcp_2026,
author = {Ansvar Systems AB},
title = {Spanish Law MCP Server: Production-Grade Legal Research Tool},
year = {2026},
url = {https://github.com/Ansvar-Systems/spanish-law-mcp},
note = {12,181 Spanish statutes with 297,760 provisions and EU law cross-references}
}
License
Apache License 2.0. See LICENSE for details.
Data Licenses
- Statutes & Legislation: Agencia Estatal BOE (open data -- reutilización sector público)
- EU Metadata: EUR-Lex (EU public domain)
About Ansvar Systems
We build AI-accelerated compliance and legal research tools for the European market. This MCP server started as our internal reference tool for Spanish law -- turns out everyone building for the Spanish and EU markets has the same research frustrations.
So we're open-sourcing it. Navigating 12,181 statutes shouldn't require a law degree.
ansvar.eu -- Stockholm, Sweden
<p align="center"> <sub>Built with care in Stockholm, Sweden</sub> </p>
常见问题
eu.ansvar/spanish-law-mcp 是什么?
通过 MCP 访问西班牙法律,支持对各类 statutes 与 provisions 进行全文检索。
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
MCP服务构建器
by alirezarezvani
从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。
✎ 帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。