Thai Legal
Thai legal search MCP — statutes, gazette, opinions, court cases. Pro: court-jurisdiction rulings.
Description from the maker (original English)
Court practice and FAS case cards via hosted API. Coverage depends on the connected service.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MCP_SUDACT_TOKENValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"sudact": {
"command": "uvx",
"args": [
"atomno-mcp-sudact"
],
"env": {
"MCP_SUDACT_TOKEN": "your-value"
}
}
}
}Run this in your terminal
claude mcp add sudact --env MCP_SUDACT_TOKEN=your-value -- uvx atomno-mcp-sudactFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"sudact": {
"command": "uvx",
"args": [
"atomno-mcp-sudact"
],
"env": {
"MCP_SUDACT_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"sudact": {
"type": "stdio",
"command": "uvx",
"args": [
"atomno-mcp-sudact"
],
"env": {
"MCP_SUDACT_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account atomno-mcp, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: MCP_SUDACT_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Thai Legal, Lintsure, INDEC Argentina (no oficial)
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Thai legal search MCP — statutes, gazette, opinions, court cases. Pro: court-jurisdiction rulings.
Compliance readiness checks for code: EU AI Act, GDPR, SOC 2, ISO 27001. Local. Not legal advice.
Argentina's official statistics (INDEC): inflation, wages, poverty, trade, population. No signup.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP-клиент для поиска судебной практики и карточек дел ФАС через подключённый API ATOMNO. Это тонкий клиент, а не собственная полная база судебных решений. Python >=3.11.
pip install atomno-mcp-sudact
atomno-mcp-sudact --help atomno-mcp-sudact --version
Для подключения используйте ключ и адрес активированной услуги из кабинета/инструкции. Ключ задаётся переменной MCP_SUDACT_TOKEN, адрес — MCP_SUDACT_API_BASE. По умолчанию адрес https://api.atomno-mcp.ru/sudact; конкретный доступ и подключённые источники определяет услуга. MCP_SUDACT_TIMEOUT задаёт HTTP-таймаут в секундах (по умолчанию 60).
{"mcpServers":{"sudact":{"command":"atomno-mcp-sudact","env":{"MCP_SUDACT_TOKEN":"YOUR_API_KEY","MCP_SUDACT_API_BASE":"https://api.atomno-mcp.ru/sudact"}}}}
Не сохраняйте настоящий ключ в репозитории. Получение ключа не означает автоматическое подключение всех источников.
search_cases: текст от 3 символов или отдельный case_number, court_type=any|vs|arbitr|soyu|fas, статьи norms, даты YYYY-MM-DD, limit=1..50. Исходные поля, предупреждения, provenance и сведения о лимитах сохраняются.get_search_capabilities: возможности подключённого сервера, разделы, фильтры и доступность пагинации. Требует действующий ключ и не запускает поиск.resolve_court_name: кандидаты названий судов из ограниченной выдачи одного раздела. Возвращает карточки, точное совпадение, неоднозначность и границы выборки. Это один обычный учитываемый поиск; возвращённые карточки учитываются как в search_cases.search_fas_decisions: карточки ФАС; текст, орган body, закон law (44-ФЗ/223-ФЗ/135-ФЗ/38-ФЗ), вид акта act_type, даты, лимит. Передаётся /v1/search с court_type=fas. Карточка не обязательно содержит полный текст решения.get_citation: url или case_id из выдачи, include_full_text, anonymize_level=none|physical_persons|all_persons. Наличие полного текста и результат анонимизации определяет backend.У search_cases есть соответствующие поля fas_body, fas_law, fas_act_type, допустимые только для any/fas. Виды актов: решение, предписание, постановление, постановление о штрафе, определение, предупреждение, жалоба, уведомление.
Структурированные фильтры требуют один раздел. Они передаются в отдельные поля формы Sudact и проверяются по текущей форме перед поиском. Если источник убрал поле или значение неоднозначно, сервер возвращает ошибку. Фильтры не снимаются при сбое: такой запрос не переключается на другой источник и не дополняется индексами RAS/ФАС.
| Раздел | Отдельные поля | region | instance |
|---|---|---|---|
arbitr | case_number, court, judge | судебный округ | any |
soyu | case_number, court, judge | субъект РФ | any, first, appeal, cassation, supervision |
vs | case_number, judge | не поддерживается | any |
region принимает точное имя или код из формы выбранного раздела. Один числовой код может означать разные значения в разных разделах; общего справочника кодов нет. court принимает точное имя суда. Наличие поля поиска не означает полный справочник судов.
Пример поиска по реквизитам: search_cases(court_type="arbitr", case_number="А40-12345/2024") — query можно опустить. Номер отправляется отдельным фильтром, не заменяется текстовым запросом.
Для помощника укажите name, один court_type=arbitr|soyu|vs и, по возможности, query или case_number, задающие полезную выборку. Без них текстом поиска становится name. exact означает точное совпадение среди полученных имён; unique_candidate — один частичный кандидат, требующий выбора; ambiguous — несколько; not_found_in_sample — имени нет в этой выборке. Только exact заполняет resolved_name. Ни один статус не доказывает полноту справочника. Доступно не более 50 карточек и пяти поисков страниц источника.
page=1..5 допустим только для одного раздела vs/arbitr/soyu, без фильтров ФАС, при page*limit<=50. Такой запрос не смешивает корпуса и fallback. Обёртка проверки норм на конкретной услуге может отклонить page с 422 — в этом случае запросите без page. Клиент не отключает серверную проверку норм.
source и collegium не являются подтверждёнными фильтрами действующего REST-контракта и не экспортируются. Поле source в ответе — происхождение записи. Выбор раздела или ФАС и установленный клиент не гарантируют права на все источники, полный корпус или свежесть всех данных. Новый MCP-клиент не предлагает неподтверждённый раздел ks. Старые REST-запросы с этим значением получают явный типизированный отказ до обращения к источнику.
Пустая успешная выдача отличается от ошибки источника. 401/403/429/5xx сохраняются как backend_error со статусом; таймаут/сетевая ошибка — unavailable. Ошибочный/необъектный JSON не становится пустым результатом. Отсутствующий ключ — missing_token, неправильный ключ не называется отсутствующим.
Каждый вызов выполняет одну попытку POST. Автоматического повтора при timeout, 429 или 502–504 нет: повтор может быть новым учитываемым запросом. Таймаут не доказывает, что сервер не учёл обращение; клиент не обещает возврат квоты. Права и учёт определяет действующая услуга.
get_search_capabilities выполняет одну попытку GET. resolve_court_name выполняет одну попытку POST. При недоступности добавочного индекса основной ответ сохраняется, а search_meta.partial_errors и warnings явно отмечают неполную выдачу источников. Ошибка основного источника, CAPTCHA, незавершённый поиск и повреждённая страница не выдаются за отсутствие дел.
Перед каждым поиском с новыми структурированными фильтрами и перед resolve_court_name клиент проверяет контракт сервера одним GET capabilities. Если старый сервер, откат или повреждённый ответ не подтверждает возможности, поисковый POST не отправляется (unsupported_backend). Положительный ответ не кэшируется между вызовами. Обычные текстовые запросы обходятся одним POST и работают с прежним сервером. Выкладка сервера должна атомарно сохранять заявленный контракт во время обработки запроса.
По умолчанию — stdio. Поддерживаются --transport/-t stdio|http|sse|streamable-http, --host, --port, --log-level/-l DEBUG|INFO|WARNING|ERROR|CRITICAL, --version/-V. Для HTTP-транспортов по умолчанию используются 127.0.0.1:8000; публичное размещение требует отдельной настройки доступа. Уровень CLI имеет приоритет над MCP_SUDACT_LOG_LEVEL; неправильный уровень — ошибка запуска. Баннер не попадает в stdio.
pip install -e ".[dev,release]"
ruff check . pytest --cov=atomno_mcp_sudact --cov-fail-under=85 python -m build python -m twine check dist/*
Тесты используют изолированные HTTP-ответы, а не доказывают работу production или платного клиентского доступа. MIT распространяется на клиентский код; условия источников и услуги определяются отдельно.
Документация · Ошибки · Изменения