legal-research-mcp
Legal Research MCP MVP 0.2-dev - Render Free
MCP de investigación de solo lectura listo para Render para la capa de investigación planificada de legal-tax-advisor-de v2.3.0.
Qué añade 0.2-dev
0.2-dev mantiene el contrato conservador de historial de enmiendas de 0.1 y añade una capacidad de recuperación específica:
get_official_document_text: abre un documento oficial alemán en PDF/HTML ya identificado desde una lista blanca estricta de hosts HTTPS, busca un localizador/consulta y devuelve evidencia con conciencia de página y hashes de contenido.
Esto cierra la brecha D1 observada en Copilot Studio: el agente podía identificar la Bundesrat-Drucksache 5/26 pero no podía abrir el Art. 30 Nr. 1 para verificar el comando de enmienda concreto.
Related MCP server: de-eli-mcp
Herramientas
search_primary_sources
Descubrimiento controlado para un pequeño registro de legislación validada (KStG, EStG, AO, GewStG). Solo descubrimiento.
get_norm
Recupera la disposición consolidada oficial vigente de gesetze-im-internet.de y devuelve metadatos de estructura/evidencia.
trace_norm_amendments
Implementación segura de conectividad de historial de enmiendas. Puede exponer un encabezado de enmiendas de estatuto completo como pista de descubrimiento, pero deliberadamente permanece partial/unknown hasta que se implemente un resolvedor de cadenas específico de disposiciones.
get_official_document_text
Abre un documento oficial identificado y recupera un pasaje exacto.
Entradas aceptadas:
uno de
urlodocument_id;locatory/oquery;max_passagesycontext_charsopcionales.
Atajos de ID de documento admitidos:
BR-Drs. 5/26-> PDF del servidor de documentos del Bundesrat;BT-Drs. 21/3343-> PDF del servidor de documentos del Bundestag;BGBl. 2026 I Nr. 33-> página oficial de promulgación derecht.bund.de.
Ejemplo de objetivo de verificación de enmienda:
get_official_document_text(
document_id="BR-Drs. 5/26",
locator="Artikel 30",
query="§ 8b Absatz 6 Satz 2"
)Una coincidencia de consulta normalizada exitosa devuelve coverage_status=complete y evidencia de pasaje full_checked. Un resultado solo con localizador es evidencia de navegación y no debe tratarse como prueba de la frase de enmienda solicitada.
Seguridad SSRF / descarga
get_official_document_text está deliberadamente restringido:
Solo HTTPS;
lista blanca exacta de hosts oficiales;
cada salto de redirección se revalida;
se rechazan credenciales y puertos no estándar;
tamaño de descarga limitado a 20 MB;
solo extracción de texto PDF, sin ejecución de JavaScript/navegador;
solo solicitudes de solo lectura.
Las familias actuales en lista blanca incluyen el servidor oficial de documentos del Bundestag/Bundesrat, recht.bund.de, gesetze-im-internet.de, hosts web del Bundestag/Bundesrat y el sitio web del Ministerio Federal de Finanzas.
Despliegue en Render
Use el Blueprint render.yaml incluido. El servicio permanece configurado como:
Web Service;
runtime Docker;
plan Free;
región Frankfurt;
comprobación de salud
/health;enlace dinámico al
PORTde Render;endpoint MCP en
/mcp;lista blanca de Host explícita desde
RENDER_EXTERNAL_HOSTNAME.
Pasos detallados: docs/render-free-deploy.md.
Configuración local
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
python -m pytest -q
uvicorn app:app --reload --port 8080Endpoints locales:
Salud:
http://localhost:8080/healthMCP:
http://localhost:8080/mcp
Aún no implementado
resolvedor de versiones históricas de estatutos;
resolvedor completo de cadenas de enmiendas específico de disposiciones;
descubrimiento automático de cada documento del Bundesgesetzblatt/Bundestag/Bundesrat;
recuperación de jurisprudencia;
recuperación integral de directrices del BMF;
autenticación de producción.
Límite de seguridad DEV
El despliegue de Render Free permanece intencionalmente sin autenticación para pruebas DEV. No publique el agente de Copilot y no envíe hechos confidenciales de clientes/asuntos a través del endpoint.
Los Web Services gratuitos de Render pueden suspenderse tras inactividad y no son un objetivo de producción.
Actualización 0.1 -> 0.2
Reemplace los archivos del repositorio con este paquete y haga commit/push a la rama que Render despliega.
Espere a que el despliegue de Render pase a Live.
Verifique que
/healthdevuelve la versión0.2.0-dev.En Copilot Studio, abra la configuración existente del servidor MCP
Legal Research DEy verifique queget_official_document_textestá expuesto/habilitado.Ejecute la prueba de recuperación de enmiendas D1 e inspeccione el Activity Trace.
Consulte docs/render-free-deploy.md para la secuencia detallada de actualización/prueba.
This server cannot be deployed
Maintenance
Related MCP Connectors
German federal statutes and ordinances (Bundesrecht) — search by title or official abbreviation…
1Temporal search and comparison for official Luxembourg and reviewed EU law, with provenance.
XRechnung and ZUGFeRD e-invoicing (EN 16931): create, validate, check Leitweg-IDs, German VAT.
German federal and Land statutes plus court decisions for agents. Keyless, read-only, CC BY 4.0.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server for accessing and searching German federal law documents from gesetze-im-internet.de. Provides tools to retrieve specific paragraphs, perform full-text searches, and list available laws.10MIT
- AlicenseAqualityAmaintenanceSearches and retrieves German federal legislation from NeuRIS, the official legal information portal, providing verifiable ELI identifiers and German citations.15248 PyPI4Apache 2.0
- AlicenseNot gradedqualityFmaintenanceProvides LLM-friendly access to German federal legislation via the NeuRIS API, enabling tool-based retrieval of laws, norms, and statutory text.18 npmMIT
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to current German federal law, supporting legislation search, provision retrieval, and citation handling.Apache 2.0