MCP server for Russian FSSP (bailiff service) debt lookups: enforcement proceedings (ИП) for individuals and legal entities via multi-provider fallback.
Server has 5 tools with complete input schemas and descriptions in Russian. Naming follows verb_noun pattern (check_*, get_*, ping). Descriptions are substantive (100-250 chars) and include legal/compliance context. However, output schemas are not documented in the visible code, only input schemas are explicit. Parameter descriptions are present but lack format constraints (e.g., date format examples, INN/OGRN digit counts). Error handling is centralized via McpFsspError.to_dict() but recovery guidance is minimal. No tool annotations (readOnlyHint, destructiveHint) despite all tools being READ_ONLY. Security context (PII handling, 152-ФЗ compliance) is mentioned in descriptions but not enforced via tool-level permission gates.
Проверить розыск должника в банке ФССП (fssp.gov.ru/iss/wanted). Запрос содержит ПДн — используйте только в законных целях compliance / due-diligence с согласия субъекта (152-ФЗ). Отличается от `check_individual_debts`: здесь ищем именно факт постановки в розыск по исполнительным производствам, а не список открытых ИП.
Проверить открытые исполнительные производства на физ.лицо. Запрос содержит ПДн — используйте только в законных целях (due-diligence, скоринг по согласию субъекта) с соблюдением 152-ФЗ.
Проверить открытые исполнительные производства на юр.лицо или ИП-предпринимателя.
Получить детальную карточку конкретного ИП по его номеру.
Диагностика: сервер жив, сообщает версию и текущий провайдер.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Объект с полями query, found, not_found, proceedings, fetched_at, source') but no formal JSON Schema is visible in code. LLMs cannot plan downstream tool calls without knowing response structure.
Parameter format constraints are implicit in descriptions rather than explicit. E.g., 'Дата рождения в формате "YYYY-MM-DD" или "dd.mm.yyyy"' is text; no regex pattern or enum. 'ИНН (10 цифр для юр.лица или 12 для ИП)' lacks minLength/maxLength. LLMs cannot reliably validate without formal constraints.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being READ_ONLY. Modern MCP spec (2026-07-28) expects these hints to guide agent behavior and safety policies.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | <=2025-11-25 | v2 |
Error recovery guidance is minimal. McpFsspError.to_dict() returns error details but descriptions do not explain what the LLM should do next (retry, ask user, call alternative tool). E.g., 'User not found. Try search_users() with a partial name.' pattern is absent.
Mutual exclusivity of parameters not documented. check_legal_entity_debts accepts inn and ogrn as optional, with note 'at least one must be passed', but this is in description text, not enforced in schema. LLMs may pass neither or both.