Thin MCP client for Russian court practice (Sudact) hosted API: full-text case search + full decision text. Engine is hosted; this package only talks to the atomno-mcp backend.
Two tools with complete input schemas and descriptions in Russian. Both tools are read-only, properly constrained with enums and patterns, and include helpful parameter descriptions. However, output schemas are not documented in the source code, and error handling lacks actionable recovery guidance. Tool names follow verb_noun convention (search_*, get_*). Descriptions are substantive (150-200 chars) but could be more concise for LLM parsing. No tool annotations (readOnlyHint, etc.) present despite being read-only operations.
Полный текст судебного решения по url карточки sudact.ru или case_id. Тянет полный текст решения (с сервера), с опциональной анонимизацией ФИО. Нужно указать url или case_id. Требуется ключ MCP_SUDACT_TOKEN (тариф Pro).
Полнотекстовый поиск судебных дел РФ — как родной поиск на sudact.ru. Ищет по тексту документа с фильтрами по статье закона, типу суда, инстанции и датам; возвращает реальный total_found и выдачу с case_id/url для последующего get_citation. Требуется ключ MCP_SUDACT_TOKEN (тариф Pro): движок поиска — на нашем сервере.
Output schemas not documented. LLMs cannot infer what fields search_cases and get_citation return, forcing them to guess downstream field names and risk broken tool chains.
Error handling returns generic error dicts without recovery guidance. E.g. 'backend_error' with status code gives LLM no actionable next step. Should include 'Try again in 30s' or 'Check MCP_SUDACT_TOKEN' hints.
Tool annotations missing. Both tools are read-only but lack readOnlyHint annotation. This prevents clients from optimizing caching and retry logic.
Descriptions are in Russian only. While appropriate for a Russian court API, descriptions should be in English for international LLM compatibility and discoverability.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
No pagination guidance in search_cases. Tool accepts limit (1-50) but does not document how to retrieve results beyond the first 50 or whether total_found indicates more results exist.