mcp-fssp
This MCP server lets AI agents check Russian bailiff enforcement proceedings (исполнительные производства) for debts against individuals, companies, and individual entrepreneurs.
ping — Verify the server is alive, get version and current data provider.
check_individual_debts(fio, birth_date, region?) — Search open enforcement cases by full name and birth date (with optional Russian region).
check_legal_entity_debts(inn?, ogrn?) — Search open enforcement cases for legal entities (INN-10/OGRN-13) or individual entrepreneurs (INN-12/OGRNIP-15).
get_proceeding_details(proceeding_id) — Retrieve detailed case card by enforcement proceeding number, including sums, statuses, bailiff data, and basis of recovery.
Supports multiple commercial data providers (Damia, Checko, NewDB, api-cloud) and normalizes their responses into one model.
Pro/advanced features planned: AI debt summarization with risk scoring and change monitoring via webhook/Telegram alerts.
Enables sending debt monitoring alerts to Telegram via webhook integration.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-fsspcheck debts for Ivan Ivanov"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-fssp
MCP-сервер ФССП: проверка исполнительных производств по людям, компаниям и ИП — суммы, статусы, данные пристава и основание взыскания. Подключается к Cursor, Claude и любому клиенту MCP.
Russian bailiff debt lookup for AI agents.
Покрывает:
Физических лиц (по ФИО + дате рождения).
Юридических лиц (по ИНН-10 / ОГРН-13).
Индивидуальных предпринимателей (по ИНН-12 / ОГРНИП-15).
Часть семейства MCP-серверов atomno для due-diligence по российским контрагентам:
mcp-egrul (реквизиты юр.лиц) ·
mcp-fns-check (налоговая благонадёжность) ·
mcp-cbr-rates (курсы ЦБ) ·
mcp-fssp (долги в ФССП).
Зачем
Официальный API ФССП (api-ip.fssp.gov.ru) отключён с 10 марта 2022 года и не планируется к восстановлению. Единственная официальная точка — публичный web-сервис fssp.gov.ru/iss/ip с CAPTCHA. Это создаёт нишу: MCP-обёртка с поддержкой нескольких коммерческих провайдеров (Damia / Checko / NewDB / api-cloud) и нормализованной моделью данных.
Главные кейсы:
AI-агент в Cursor / Claude Desktop делает due-diligence контрагента в чате за 30 секунд вместо 10 минут на ручной обход сайта ФССП.
Юристы / банки / скоринг интегрируют единый
check_*_debtsвызов в свои Python-скрипты или 1С, не разбирая сырые ответы 3-4 разных провайдеров.Self-host энтузиасты ставят клиент локально со своим ключом Damia/Checko и работают без зависимости от стороннего SaaS — снимает паранойю об утечке ПДн.
Related MCP server: opensanctions-mcp
Quick start
1. Установить
# Через pipx (рекомендуется для CLI):
pipx install atomno-mcp-fssp
# Или через uv (быстрее):
uvx atomno-mcp-fssp
# Или классически через pip:
pip install atomno-mcp-fssp2. Получить ключ провайдера
Минимум один из:
Damia (https://api-fssp.damia.ru) — основной кандидат для prod. От 7 000 ₽/год за 1 000 запросов; 100 запросов бесплатно на тест.
Checko (https://api.checko.ru) — до 50 запросов/день бесплатно. Хорош для onboarding.
NewDB (https://newdb.net/fssp/api) — бюджетная альтернатива, 2 ₽/запрос, 100 free.
api-cloud (https://api-cloud.ru/api/fssp.php) — per-request оплата.
3. Конфиг
Создай .env в рабочей директории (или передай переменные через MCP-конфиг):
MCP_FSSP_PROVIDER=damia
MCP_FSSP_DAMIA_KEY=ваш_ключ_от_DamiaПолный список переменных — см. .env.example.
4. Подключить к Cursor
Открой ~/.cursor/mcp.json (или Settings → MCP) и добавь:
{
"mcpServers": {
"fssp": {
"command": "uvx",
"args": ["atomno-mcp-fssp"],
"env": {
"MCP_FSSP_PROVIDER": "damia",
"MCP_FSSP_DAMIA_KEY": "ваш_ключ"
}
}
}
}Перезапусти Cursor. Теперь AI-агент может вызывать fssp.check_individual_debts(...), fssp.check_legal_entity_debts(...) и fssp.get_proceeding_details(...).
5. Подключить к Claude Desktop
Открой claude_desktop_config.json и добавь:
{
"mcpServers": {
"fssp": {
"command": "uvx",
"args": ["atomno-mcp-fssp"],
"env": {
"MCP_FSSP_PROVIDER": "damia",
"MCP_FSSP_DAMIA_KEY": "ваш_ключ"
}
}
}
}Доступные инструменты
Инструмент | Назначение |
| Проверка готовности сервера и текущего провайдера. |
| Список открытых ИП по физ.лицу. |
| Список открытых ИП по юр.лицу или ИП-предпринимателю. |
| Детальная карточка одного ИП по номеру. |
В Pro-версии (Phase 3+, требует ATOMNO_API_KEY):
summarize_debts(...)— AI-summary долгов с категоризацией и risk-score.monitor_debts_changes(...)— подписка на изменения с webhook/Telegram-алёртами.
Переменные окружения
Переменная | Назначение | По умолчанию |
| Провайдер: |
|
| Ключ Damia API-ФССП | — |
| Ключ Checko v2 | — |
| Ключ NewDB | — |
| Ключ api-cloud.ru | — |
| Ключ Pro-режима (api.atomno-mcp.ru/fssp/) | — |
| URL Pro-backend |
|
| Таймаут одного запроса в секундах |
|
| Лимит запросов в минуту со стороны клиента |
|
| User-Agent для запросов |
|
| Путь к SQLite-аудит-логу |
|
| Уровень логов: |
|
Безопасность и ПДн
ПДн (ФИО, дата рождения) не сохраняются в plain-text. Audit-лог хранит только
sha256(fio_lower + birth_date).Согласно 229-ФЗ ст. 6.1, сведения из банка данных исполнительных производств являются открытыми и доступны без согласия должника.
Тем не менее, при использовании в коммерческих целях оператор обязан соблюдать 152-ФЗ. Использование в законных целях (например, due-diligence перед сделкой, скоринг по согласию заёмщика) — на стороне пользователя.
Disclaimer
Сервис — агрегатор и удобный интерфейс над публичными данными ФССП (229-ФЗ ст. 6.1). Не аффилирован с ФССП России, Damia, Checko, NewDB, api-cloud и другими провайдерами. Используется на ваш риск.
Информация, возвращаемая инструментами, носит справочный характер и не заменяет официальные документы, выдаваемые ФССП. Авторы не отвечают за актуальность, полноту и точность данных провайдеров. Ответственность за законность использования сведений (в т.ч. соблюдение 152-ФЗ при обработке ПДн) — на пользователе.
При принятии юридически значимых решений (например, об отказе в кредите) необходимо запрашивать первичные документы у самого должника или через официальные каналы (запрос в подразделение приставов).
Roadmap
v0.1 (текущая) — Phase 0 scaffold + Damia-провайдер +
check_individual_debts.v0.2 — multi-provider (+Checko, NewDB, api-cloud),
check_legal_entity_debts,get_proceeding_details, локальный кэш L1.v0.3+ —
self_parserчерез CAPTCHA-solver.v0.5 — интеграция с Pro-backend (
api.atomno-mcp.ru/fssp/):summarize_debts,monitor_debts_changes, кэш L2 на 30 дней, fallback по 3 провайдерам.
Документация по инструментам и переменным окружения — в этом README и в CHANGELOG.md. После публикации — также на GitHub: atomno-mcp/mcp-fssp.
Лицензия
MIT © 2026 atomno.
Pro-backend (atomno-mcp/mcp-fssp-server) — запланирован на Phase 2 (приватный hosted-сервис с проприетарной лицензией). Open-клиент полностью функционален без него — пользователь подставляет свой ключ любого из 4 коммерческих провайдеров.
Ссылки
Спецификация ФССП API (исторически): api-ip.fssp.gov.ru (отключён с 10.03.2022).
Web-сервис ФССП: fssp.gov.ru/iss/ip.
Каталог MCP: glama.ai/mcp/servers.
MCP-спецификация: modelcontextprotocol.io.
Available Tools
5 toolscheck_debtor_wantedA
Проверить розыск должника в банке ФССП (fssp.gov.ru/iss/wanted).
Запрос содержит ПДн — используйте только в законных целях compliance / due-diligence с согласия субъекта (152-ФЗ).
Отличается от check_individual_debts: здесь ищем именно факт постановки
в розыск по исполнительным производствам, а не список открытых ИП.
| Name | Required | Description | Default |
|---|---|---|---|
| fio | Yes | ФИО полностью на кириллице. Пример: "Иванов Иван Иванович". | |
| birth_date | Yes | Дата рождения в формате "YYYY-MM-DD" или "dd.mm.yyyy". |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses that the request contains personal data and imposes a legal-consent constraint, and it implies a read-only check against an external FSSP database. However, it does not explicitly state that no data is modified, nor does it address response behavior, availability, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the main purpose, followed by the legal caveat and the sibling distinction. Every sentence earns its place; there is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter lookup tool with an output schema, the description covers purpose, legal constraints, and the key alternative. It lacks only an explicit no-side-effects/read-only statement and minor operational details (e.g., external service behavior), but the legal notice and sibling differentiation make the definition largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both fio and birth_date already have clear descriptions with formats and examples. The tool description adds no parameter-level meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: 'Проверить розыск должника в банке ФССП' and names the exact source fssp.gov.ru/iss/wanted. It then distinguishes itself from check_individual_debts, making the purpose unmistakable even without seeing the sibling schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly contrasts with check_individual_debts: this tool checks the fact of being placed on the wanted list under enforcement proceedings, not the list of open proceedings. It also gives a conditional rule—use only for lawful compliance/due-diligence with 152-FZ consent—giving the agent clear selection and legal guards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_individual_debtsA
Проверить открытые исполнительные производства на физ.лицо.
Запрос содержит ПДн — используйте только в законных целях (due-diligence, скоринг по согласию субъекта) с соблюдением 152-ФЗ.
| Name | Required | Description | Default |
|---|---|---|---|
| fio | Yes | ФИО полностью на кириллице. Пример: "Иванов Иван Иванович". | |
| region | No | Опционально — код или название субъекта РФ для ускорения поиска. | |
| birth_date | Yes | Дата рождения в формате "YYYY-MM-DD" или "dd.mm.yyyy". |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions personal data handling but lacks details on behavior like pagination, timeouts, or what happens when no proceedings found. Adequate for a simple tool but could be more specific.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff; first sentence states purpose, second adds legal context. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool and existence of output schema, the description covers purpose and legal usage. Could elaborate on what 'open enforcement proceedings' means, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description does not add new parameter meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Check open enforcement proceedings for an individual' with a clear verb and resource. It distinguishes from sibling 'check_legal_entity_debts' by specifying individuals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides legal context and purpose (due diligence, scoring with consent) and compliance with Russian law. Does not explicitly state when not to use or name alternatives, but sibling differentiation is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_legal_entity_debtsB
Проверить открытые исполнительные производства на юр.лицо или ИП-предпринимателя.
| Name | Required | Description | Default |
|---|---|---|---|
| inn | No | ИНН (10 цифр для юр.лица или 12 для ИП-предпринимателя). | |
| ogrn | No | ОГРН (13 цифр) или ОГРНИП (15 цифр). Хотя бы один из двух параметров должен быть передан. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It implies a read operation but does not state safety, side effects, authentication needs, or idempotency. The Russian text is also a barrier.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately states purpose. However, it could be expanded slightly to improve completeness without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return values need not be explained, but the description omits important context such as the fact that both parameters are optional but at least one must be provided (implied by schema but not in description). Also, the tool's geographic scope (Russia) is implicit through language.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; it only restates the overall purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool checks open enforcement proceedings for legal entities and individual entrepreneurs. The verb 'check' and resource 'debts' are specific, and it distinguishes from sibling 'check_individual_debts' which targets individuals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'check_individual_debts' or 'get_proceeding_details'. No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_proceeding_detailsA
Получить детальную карточку конкретного ИП по его номеру.
| Name | Required | Description | Default |
|---|---|---|---|
| proceeding_id | Yes | Номер ИП в формате "12345/22/74033-ИП". |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes a read operation ('get'), implying no destructive side effects. However, it does not mention authentication requirements, rate limits, or any other behavioral traits. For a simple read tool, this is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the essential purpose. It is front-loaded and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 parameter, output schema present), the description is reasonably complete. It identifies the resource and action. The output schema likely explains the return value, so the description does not need to. Minor missing context: what exact details are included, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, and the description reiterates that the parameter is the proceeding number. The description adds no new meaning beyond what the schema already provides (e.g., format example). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a detailed card ('детальную карточку') for a specific enforcement proceeding (IP) by its number. This distinguishes it from sibling tools like check_individual_debts and check_legal_entity_debts which focus on debt checking. However, 'детальную карточку' is slightly vague; a more precise term like 'full details' would improve clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. The sibling tool names imply different purposes (checking debts vs. getting details), so usage context is implicitly clear, but no explicit guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingA
Диагностика: сервер жив, сообщает версию и текущий провайдер.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It accurately describes the tool as non-destructive diagnostics returning version and provider, which is transparent for a simple health check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, simple read-only behavior, and an existing output schema, the description is fully sufficient for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so no param info is needed. The description adds value by explaining what the tool returns (version and provider), beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a diagnostics tool that checks if the server is alive and reports version and provider, distinguishing it from the sibling tools which deal with debts and proceedings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for server health checks but does not explicitly state when to use it versus alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.8- Added
check_debtor_wanted
4 tool updates
v0.1.7- First observed
check_individual_debts - First observed
check_legal_entity_debts - First observed
get_proceeding_details - First observed
ping
TDQS
Scored across 5 tools
Each tool maps to a distinct resource and action: wanted status, individual debts, legal entity debts, proceeding details, and health check. The descriptions explicitly separate the wanted search from the open proceedings search, eliminating confusion.
The naming follows a clear check_* pattern for searches and get_ for detail retrieval. The only deviation is ping, which is a standard health-check name but does not match the verb_noun convention.
With 5 tools, the server is tightly scoped to the FSSP domain and every tool serves a clear purpose. The count feels appropriate for a focused read-only compliance server.
The core FSSP query surface is covered: individual debts, legal entity debts, wanted persons, and detailed proceeding lookup. A user can list proceedings and then fetch details by number, so the workflow has no obvious dead ends.
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Agent-native MCP server over 49M+ US public and government records, privacy-first, always current.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server for FixPayment creditors that simplifies account management, status updates, and reporting through plain-English AI interactions (https://fixpayment.org/)-
- AlicenseAqualityDmaintenanceMCP server for sanctions screening and PEP checks via OpenSanctions API. Search entities, match against 320+ sanctions lists, and run compound compliance investigations with AI agents.630MIT
- AlicenseAqualityBmaintenanceMCP server for verifying Russian counterparties (legal entities and individual entrepreneurs) via public Federal Tax Service data: EGRUL/EGRIP, bankruptcy registry (EFRSB), Transparent Business, bailiff service (FSSP), and arbitration courts (KAD).815MIT
- AlicenseAqualityAmaintenanceMCP server for the Russian state registries EGRUL (legal entities) and EGRIP (individual entrepreneurs), built on official Federal Tax Service open-data dumps. Self-hosted via local SQLite.82MIT