UK Legal Research MCP Server
uk-legal-mcp
Сервер протокола контекста модели (MCP) для юридических исследований в Великобритании. Подключает ИИ-ассистентов к прецедентному праву, законодательству, парламентским дебатам, законопроектам, голосованиям, комитетам, парсингу цитат OSCOLA и налоговым данным HMRC через единую конечную точку.
24 инструмента в 8 модулях. Одно подключение. Только для чтения. Для 23 из 24 инструментов не требуются ключи API.
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 |
| |
+----------------------------------------------------+Быстрый старт
Подключение к размещенному серверу
Добавьте в конфигурацию Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"uk-legal": {
"type": "streamable-http",
"url": "https://uk-legal-mcp.fly.dev/mcp"
}
}
}Затем попробуйте:
"Найди прецедентное право о велосипедных авариях"
"Получи раздел 172 Закона о компаниях 2006 года"
"Разбери цитаты в: Суд применил Donoghue v Stevenson [1932] AC 562 и s.2 Закона об ответственности владельцев помещений 1957 года"
"Что парламент говорит о коротких продажах?"
Запуск локально
pip install -e .
python -m src.gateway
# Server starts on http://localhost:8000/mcpПроверка с помощью инспектора MCP:
npx @modelcontextprotocol/inspector http://localhost:8000/mcpИнструменты
Прецедентное право
Инструмент | Что он делает |
| Полнотекстовый поиск по судебным решениям Великобритании. Фильтрация по суду, судье, стороне, диапазону дат. |
| Поиск абзацев в судебном решении, соответствующих шаблону. Возвращает |
Шаблоны ресурсов (чтение через resources/read или инструмент read_resource, созданный ResourcesAsTools):
Шаблон URI | Возвращает |
| Заголовок метаданных (стороны, судьи, цитирование). ~1 тыс. токенов. |
| eId абзаца + первая строка для каждой строки. ~4 тыс. токенов. Используйте для поиска абзацев. |
| Отдельный абзац, включая его подпункты. 400–1700 токенов. |
Источник: TNA Find Case Law (Atom/XML). Лимит запросов: 1000 запросов/5 мин. Кэширование 1 час.
Законодательство
Инструмент | Что он делает |
| Поиск Актов Парламента и Статутных инструментов на legislation.gov.uk. |
| Оглавление Акта — части, главы, разделы, приложения. |
| Получение конкретного раздела с указанием территориального действия, статуса вступления в силу и даты версии. |
Шаблоны ресурсов (альтернатива инструментам выше для клиентов, предпочитающих чтение по URI):
Шаблон URI | Возвращает |
| Полный Акт/SI в формате CLML XML. |
| Конкретный раздел в формате CLML XML. |
| Плоские строки |
| CLML на определенный момент времени для даты YYYY-MM-DD. |
Источник: legislation.gov.uk (CLML XML + лента Atom). Кэширование 24 часа. Использует curl_cffi с имитацией Chrome для обхода CloudFront 437; Закон о компаниях 2006 года периодически вызывает проверку AWS WAF JS.
Примечание: Всегда проверяйте поле extent. Раздел может применяться к Англии и Уэльсу, но не к Шотландии или Северной Ирландии.
Парламент
Инструмент | Что он делает |
| Поиск вкладов в дебаты Hansard по точной фразе. |
| Оценка парламентского восприятия темы политики. Ищет в Hansard, затем использует выборку LLM для классификации настроений, сторонников, противников и опасений. |
| Поиск депутата или лорда по имени. Возвращает ID члена для использования с |
| Получение вкладов конкретного члена в Hansard, опционально с фильтрацией по теме. |
| Получение зарегистрированных финансовых интересов члена (пожертвования, владение акциями и т.д.). |
| Поиск петиций в Парламент Великобритании по ключевым словам. |
Источник: hansard-api.parliament.uk + members-api.parliament.uk + petition.parliament.uk. Не кэшируется (живые данные).
Законопроекты
Инструмент | Что он делает |
| Поиск текущих и исторических парламентских законопроектов по ключевому слову, сессии или типу. |
| Получение полной информации о законопроекте — стадии, спонсоры, публикации. |
Источник: bills-api.parliament.uk. Кэширование 1 час.
Голосования
Инструмент | Что он делает |
| Поиск записей о голосованиях в Палате общин и Палате лордов по ключевому слову или дате. |
| Получение полной информации о голосовании — подсчет голосов, как проголосовал каждый член. |
Источник: commonsvotes-api.parliament.uk + lordsvotes-api.parliament.uk. Кэширование 24 часа.
Комитеты
Инструмент | Что он делает |
| Поиск парламентских специальных комитетов по ключевому слову. |
| Получение информации о комитете — состав, подкомитеты. |
| Поиск устных и письменных доказательств, представленных в комитеты. |
Источник: committees-api.parliament.uk. Кэширование 1 час.
Цитаты
Инструмент | Что он делает |
| Извлечение всех цитат OSCOLA из свободного текста. Разрешение в канонические URL. Разрешение неоднозначности кодов судов через выборку LLM. |
| Парсинг и разрешение одной строки цитирования в канонический URL. |
| Получение судебного решения из TNA и отображение каждой цитаты в нем — дела, законодательство, SI, право ЕС. |
Автономный. Нет внешнего API. Нулевая сетевая зависимость (кроме citations_network, который получает XML судебного решения).
Поддерживаемые форматы цитирования:
Формат | Пример |
Нейтральное цитирование |
|
Юридический отчет (с томом или без) |
|
Раздел законодательства |
|
Статутный инструмент |
|
Сохраненное право ЕС |
|
HMRC
Инструмент | Что он делает |
| Поиск ставки НДС для любого товара или услуги. Статическая таблица актуальна на момент Осеннего заявления 2023 года. |
| Проверка статуса мандата Making Tax Digital VAT для VRN. Требуются учетные данные OAuth HMRC. |
| Поиск руководств HMRC на GOV.UK. |
hmrc_get_vat_rate и hmrc_search_guidance не требуют учетных данных. hmrc_check_mtd_status требует HMRC_CLIENT_ID и HMRC_CLIENT_SECRET — зарегистрируйтесь на developer.service.hmrc.gov.uk. По умолчанию используется песочница; установите HMRC_API_BASE=https://api.service.hmrc.gov.uk для продакшена.
Архитектура
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, disambiguationКаждый модуль — это отдельный экземпляр FastMCP, подключенный к шлюзу с префиксом пространства имен (case_law_, legislation_ и т.д.). Все модули используют общий пул клиентов httpx через контекст жизненного цикла шлюза.
Стек промежуточного ПО (уровень шлюза):
Промежуточное ПО | Цель |
| Перехват необработанных исключений |
| JSON-логирование с длительностью и размером полезной нагрузки |
| Логи времени выполнения для каждого инструмента |
| Ограничение в 80 000 символов (LegalDocML XML может превышать 200 тыс.) |
Кэширование для каждого модуля: ResponseCachingMiddleware с TTL — case_law (1 час), legislation (24 часа), bills (1 час), votes (24 часа), committees (1 час), hmrc (90 дней). Парламент и цитаты не кэшируются.
Развертывание
Fly.io
fly auth login
fly launch --name uk-legal-mcp --region lhr
fly deployОпциональные секреты:
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-mcpТестирование
pip install -e '.[test]' # or: pip install pytest
pytest tests/test_citations.py -vВсе 35 тестов цитирования выполняются в автономном режиме без учетных данных API.
Исходные API и лицензии
Источник | API | Лицензия | Авторизация |
TNA Find Case Law |
| Нет | |
legislation.gov.uk |
| Нет | |
UK Parliament Hansard |
| Нет | |
UK Parliament Members |
| Open Parliament Licence | Нет |
UK Parliament Petitions |
| Open Parliament Licence | Нет |
UK Parliament Bills |
| Open Parliament Licence | Нет |
UK Parliament Votes |
| Open Parliament Licence | Нет |
UK Parliament Committees |
| Open Parliament Licence | Нет |
HMRC |
| OGL / коммерческие условия | OAuth 2.0 |
GOV.UK Search |
| OGL v3 | Нет |
Стек
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