UK Legal Research MCP Server
uk-legal-mcp
Un servidor del Protocolo de Contexto de Modelo (MCP) para la investigación jurídica del Reino Unido. Conecta asistentes de IA a jurisprudencia, legislación, debates parlamentarios, proyectos de ley, votaciones, comités, análisis de citas OSCOLA y datos fiscales de HMRC a través de un único punto de conexión.
24 herramientas en 8 módulos. Una conexión. Solo lectura. No se requieren claves API para 23 de las 24 herramientas.
MCP Client (Claude, Cursor, etc.)
|
v
uk-legal-mcp gateway (Streamable HTTP)
+----------------------------------------------------+
| |
| case_law TNA Find Case Law API |
| legislation legislation.gov.uk Atom feed |
| parliament Hansard API + Members API |
| bills Parliamentary Bills API |
| votes Commons + Lords division records |
| committees Select committees + evidence |
| citations OSCOLA regex parser (no network) |
| hmrc HMRC sandbox/prod + GOV.UK search |
| |
+----------------------------------------------------+Inicio rápido
Conectar al servidor alojado
Añadir a la configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"uk-legal": {
"type": "streamable-http",
"url": "https://uk-legal-mcp.fly.dev/mcp"
}
}
}Luego prueba:
"Busca jurisprudencia sobre accidentes de bicicleta"
"Obtén la sección 172 de la Ley de Sociedades de 2006 (Companies Act 2006)"
"Analiza las citas en: The court applied Donoghue v Stevenson [1932] AC 562 and s.2 Occupiers' Liability Act 1957"
"¿Qué dice el parlamento sobre las ventas en corto?"
Ejecutar localmente
pip install -e .
python -m src.gateway
# Server starts on http://localhost:8000/mcpInspeccionar con el Inspector MCP:
npx @modelcontextprotocol/inspector http://localhost:8000/mcpHerramientas
Jurisprudencia
Herramienta | Qué hace |
| Búsqueda de texto completo de sentencias del Reino Unido. Filtrar por tribunal, juez, parte, rango de fechas. |
| Encuentra párrafos en una sentencia que coincidan con un patrón. Devuelve |
Plantillas de recursos (leer mediante resources/read o la herramienta read_resource generada por ResourcesAsTools):
Plantilla URI | Devuelve |
| Encabezado de metadatos (partes, jueces, cita). ~1k tokens. |
| eId del párrafo + primera línea por fila. ~4k tokens. Recorre esto para descubrir párrafos. |
| Un solo párrafo incluyendo sus subpárrafos. 400–1700 tokens. |
Origen: TNA Find Case Law (Atom/XML). Límite de tasa: 1.000 peticiones/5 min. Caché de 1 hora.
Legislación
Herramienta | Qué hace |
| Buscar Leyes del Parlamento e Instrumentos Estatutarios en legislation.gov.uk. |
| Tabla de contenido de una Ley: partes, capítulos, secciones, anexos. |
| Recuperar una sección específica con alcance territorial, estado de vigencia y fecha de versión. |
Plantillas de recursos (alternativa a las herramientas anteriores para clientes que prefieren lecturas dirigidas por URI):
Plantilla URI | Devuelve |
| Ley/SI completa como CLML XML. |
| Una sección específica como CLML XML. |
| Líneas planas |
| CLML puntual para una fecha AAAA-MM-DD. |
Origen: legislation.gov.uk (CLML XML + feed Atom). Caché de 24 horas. Utiliza curl_cffi con suplantación de Chrome para superar CloudFront 437; la Ley de Sociedades de 2006 (Companies Act 2006) actualmente recibe un desafío JS de AWS WAF de forma intermitente.
Nota: Comprueba siempre el campo extent. Una sección puede aplicarse a Inglaterra y Gales pero no a Escocia o Irlanda del Norte.
Parlamento
Herramienta | Qué hace |
| Buscar contribuciones a los debates de Hansard por frase exacta. |
| Evaluar la recepción parlamentaria de un tema político. Busca en Hansard y luego utiliza muestreo de LLM para clasificar el sentimiento, partidarios, opositores y preocupaciones. |
| Buscar un diputado o Lord por nombre. Devuelve el ID del miembro para usar con |
| Recuperar las contribuciones de Hansard de un miembro específico, opcionalmente filtradas por tema. |
| Obtener los intereses financieros registrados de un miembro (donaciones, participaciones, etc.). |
| Buscar peticiones del Parlamento del Reino Unido por palabra clave. |
Origen: hansard-api.parliament.uk + members-api.parliament.uk + petition.parliament.uk. No cacheado (datos en tiempo real).
Proyectos de ley (Bills)
Herramienta | Qué hace |
| Buscar proyectos de ley parlamentarios actuales e históricos por palabra clave, sesión o tipo. |
| Obtener detalles completos del proyecto de ley: etapas, patrocinadores, publicaciones. |
Origen: bills-api.parliament.uk. Caché de 1 hora.
Votaciones
Herramienta | Qué hace |
| Buscar registros de votaciones (divisions) de los Comunes y los Lores por palabra clave o fecha. |
| Obtener detalles completos de la votación: recuento de votos, cómo votó cada miembro. |
Origen: commonsvotes-api.parliament.uk + lordsvotes-api.parliament.uk. Caché de 24 horas.
Comités
Herramienta | Qué hace |
| Buscar comités selectos parlamentarios por palabra clave. |
| Obtener detalles del comité: membresía, subcomités. |
| Buscar presentaciones de pruebas orales y escritas a los comités. |
Origen: committees-api.parliament.uk. Caché de 1 hora.
Citas
Herramienta | Qué hace |
| Extraer todas las citas OSCOLA de texto libre. Resuelve a URLs canónicas. Desambigua códigos de tribunales genéricos mediante muestreo de LLM. |
| Analizar y resolver una cadena de cita única a su URL canónica. |
| Obtener una sentencia de TNA y mapear cada cita dentro de ella: casos, legislación, SIs, derecho de la UE. |
Autocontenido. Sin API externa. Cero dependencia de red (excepto citations_network que obtiene el XML de la sentencia).
Formatos de cita soportados:
Formato | Ejemplo |
Cita neutral |
|
Informe legal (con o sin volumen) |
|
Sección de legislación |
|
Instrumento Estatutario |
|
Derecho de la UE retenido |
|
HMRC
Herramienta | Qué hace |
| Búsqueda de tasa de IVA para cualquier producto o servicio. Tabla estática actualizada según la Declaración de Otoño de 2023. |
| Comprobar el estado del mandato de IVA de Making Tax Digital para un VRN. Requiere credenciales OAuth de HMRC. |
| Buscar en GOV.UK documentos de orientación de HMRC. |
hmrc_get_vat_rate y hmrc_search_guidance no requieren credenciales. hmrc_check_mtd_status requiere HMRC_CLIENT_ID y HMRC_CLIENT_SECRET: regístrate en developer.service.hmrc.gov.uk. Por defecto usa sandbox; establece HMRC_API_BASE=https://api.service.hmrc.gov.uk para producción.
Arquitectura
src/
gateway.py FastMCP gateway — mounts all modules, applies middleware
deps.py Shared httpx clients (lifespan-managed) + error formatting
modules/
case_law/ TNA Find Case Law (Atom/XML parsing)
legislation/ legislation.gov.uk (CLML XML + Atom feed)
parliament/ Hansard API + Members API + Petitions (JSON)
bills/ Parliamentary Bills API (JSON)
votes/ Commons + Lords division records (JSON)
committees/ Select committees + evidence (JSON)
citations/ OSCOLA regex engine (compiled once, lru_cache)
hmrc/ HMRC OAuth + GOV.UK search (JSON)
tests/
test_citations.py 35 unit tests — regex patterns, resolution, disambiguationCada módulo es una instancia independiente de FastMCP montada en la puerta de enlace con un prefijo de espacio de nombres (case_law_, legislation_, etc.). Todos los módulos comparten un único grupo de clientes httpx a través del contexto de vida de la puerta de enlace.
Pila de middleware (nivel de puerta de enlace):
Middleware | Propósito |
| Captura excepciones no controladas |
| Registro JSON con duración y tamaño de carga útil |
| Registros de tiempo por herramienta |
| Límite de 80.000 caracteres (LegalDocML XML puede exceder los 200k) |
Caché por módulo: ResponseCachingMiddleware con TTLs: case_law (1h), legislation (24h), bills (1h), votes (24h), committees (1h), hmrc (90 días). El Parlamento y las citas no se cachean.
Despliegue
Fly.io
fly auth login
fly launch --name uk-legal-mcp --region lhr
fly deploySecretos opcionales:
fly secrets set HMRC_CLIENT_ID=your_id HMRC_CLIENT_SECRET=your_secret
# For production HMRC (default is sandbox):
fly secrets set HMRC_API_BASE=https://api.service.hmrc.gov.ukDocker
docker build -t uk-legal-mcp .
docker run -p 8000:8000 uk-legal-mcpPruebas
pip install -e '.[test]' # or: pip install pytest
pytest tests/test_citations.py -vLas 35 pruebas de citas se ejecutan sin conexión sin credenciales de API.
APIs de origen y licencias
Fuente | API | Licencia | Autenticación |
TNA Find Case Law |
| Ninguna | |
legislation.gov.uk |
| Ninguna | |
UK Parliament Hansard |
| Ninguna | |
UK Parliament Members |
| Open Parliament Licence | Ninguna |
UK Parliament Petitions |
| Open Parliament Licence | Ninguna |
UK Parliament Bills |
| Open Parliament Licence | Ninguna |
UK Parliament Votes |
| Open Parliament Licence | Ninguna |
UK Parliament Committees |
| Open Parliament Licence | Ninguna |
HMRC |
| OGL / términos comerciales | OAuth 2.0 |
GOV.UK Search |
| OGL v3 | Ninguna |
Pila tecnológica
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/paulieb89/uk-legal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server