Skip to main content
Glama

pravo-mcp

MCP-сервер для API «Официальное опубликование правовых актов» (publication.pravo.gov.ru): поиск федеральных законов, указов, постановлений и других актов, их карточки и ссылки на официальные PDF прямо из Claude и других MCP-клиентов.

API портала открытый, только на чтение, ключ не нужен. Проект неофициальный и не связан с порталом.

Варианты

Вариант

Для кого

Где код

Cloudflare Workers

Публичный сервер одной ссылкой, бесплатно, без карты

cloudflare/, инструкция

Yandex Serverless Containers (или любой Docker-хостинг)

Публичный сервер в РФ

server_http.py, Dockerfile, инструкция

Локально (stdio)

Claude Desktop, Claude Code; Python 3.8+ без зависимостей

pravo_mcp.py

Удалённые версии работают по Streamable HTTP на пути /mcp, без сессий и без авторизации.

Related MCP server: laws

Инструменты

Инструмент

Что делает

pravo_search

Поиск актов: название, текст, номер, блок, вид документа, даты подписания и опубликования

pravo_document

Карточка документа по номеру электронного опубликования (eoNumber)

pravo_dictionary

Справочники: блоки, категории, принявшие органы, виды документов

pravo_pdf_link

Ссылки на официальный PDF и HTML-карточку (удалённые версии)

pravo_download_pdf

Скачать PDF в папку downloads рядом со скриптом (только локальная версия)

pravo_stats

Статистика опубликования по блокам за день, неделю, месяц

Подключение к Claude

Удалённый сервер

Settings → Connectors → Add custom connector, адрес вида https://<ваш-домен>/mcp. Как поднять свой сервер: Cloudflare или Yandex Cloud.

ChatGPT

Нужен режим разработчика (Developer mode); на каких тарифах он доступен, смотрите в справке OpenAI. Settings → Apps & Connectors → Create (или New connector): адрес https://<ваш-домен>/mcp, аутентификация No authentication.

Codex

codex mcp add pravo --url https://<ваш-домен>/mcp

или в ~/.codex/config.toml:

[mcp_servers.pravo]
url = "https://<ваш-домен>/mcp"

Локальная версия в Codex: codex mcp add pravo -- python3 /полный/путь/к/pravo_mcp.py.

Локально (Claude Desktop)

Файл claude_desktop_config.json (Settings → Developer → Edit Config) должен быть целым JSON-объектом:

{
  "mcpServers": {
    "pravo": {
      "command": "python3",
      "args": ["/полный/путь/к/pravo_mcp.py"]
    }
  }
}

Затем полностью перезапустите Claude Desktop. Проверка без Claude:

python3 pravo_mcp.py --selftest

Должен найти Указ Президента РФ от 08.08.2023 № 585.

Локально (Claude Code)

claude mcp add pravo -- python3 /полный/путь/к/pravo_mcp.py

Особенности API, которых нет в документации

Сервер обходит их сам, но о них полезно знать:

  • Даты только ДД.ММ.ГГГГ. Дату 2026-09-01 портал молча игнорирует и возвращает всё подряд. Инструменты принимают оба формата и приводят к нужному.

  • Фильтр по виду документа — параметр DocumentTypes, а не DocumentTypeId, как в документации.

  • Поиск по названию буквальный, без морфологии: «Налоговый кодекс» и «Налогового кодекса» — разные запросы.

  • Федеральные законы и указы Президента лежат в блоке president. GUID вида «Федеральный закон»: 82a8bf1c-3bc7-47ed-827f-7affd43a7f27.

  • eoNumber — 16 цифр: код блока или региона (0001 — федеральный уровень), дата, порядковый номер.

  • PDF — сканы без текстового слоя. Текст из них без OCR не извлечь.

  • Поиск по названию находит акты, которые изменяют документ, если его номер есть в их названии. Изменяющие акты, которые правят сразу несколько документов, так не находятся.

Разработка

# Python: stdio и HTTP
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python server_http.py            # http://localhost:8080/mcp
scripts/smoke.sh http://localhost:8080/mcp

# Cloudflare Worker
cd cloudflare && npm install && npm run dev  # http://localhost:8787/mcp
../scripts/smoke.sh http://localhost:8787/mcp

Логика инструментов есть в двух копиях: pravo_mcp.py (Python) и cloudflare/src/pravo.ts (TypeScript). Меняя одну, меняйте и другую; CI прогоняет одинаковый смоук-тест на обеих.


English

MCP server for the Russian official legal publication portal publication.pravo.gov.ru: search federal laws, presidential decrees and other acts, get document cards and links to official PDFs. The portal API is open and read-only.

Add a remote server to Claude via Settings → Connectors → Add custom connector with the URL https://<host>/mcp. ChatGPT: Developer mode → new connector, URL https://<host>/mcp, no authentication. Codex: codex mcp add pravo --url https://<host>/mcp.

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides local, offline semantic search across 24 Russian Federation legal codes using natural-language queries, with tools to retrieve full articles by identifier and list available codes.
    BSD 2-Clause "Simplified"
  • A
    license
    A
    quality
    B
    maintenance
    Enables Claude to search the Russian legal database Garant, retrieve verbatim article texts, tables of contents, revision lists, and Supreme Court practice, with provenance data allowing citation verification via the user's own subscription.
    8
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search and retrieve Indonesian national statutes, Perpu, government and presidential regulations, and Constitutional Court judicial-review outcomes from the State Secretariat and House of Representatives JDIH portals, including citations, legal status, amendment/revocation relations, struck-down articles, and signed PDF copies. Every tool is a keyless live call to official government sources.
    500 npm
    MIT