business-mcp-ru → API СБИС (Saby) в ИИ-ассистенте
MCP-сервер для API СБИС: 45 команд JSON-RPC. Документы и этапы документооборота, подписание вложений, сертификаты и МЧД, сотрудники, контрагенты, подразделения.
uvx sbis-mcp-ru
Переменные окружения: SBIS_SESSION_ID. Ключи можно не держать в
окружении: у сервера есть инструменты управления кабинетами, они кладут ключи в
локальный файл с правами 600.
Команда СБИС.Аутентифицировать по логину и паролю сотрудника с правами на API возвращает идентификатор сессии. Сессия живёт ограниченное время и обновляется той же командой, пароль в сервере не хранится.
Таблица собрана из того же каталога, который сервер исполняет в рантайме
(источник: справка saby.ru/help/integration/api). Класс доступа определяет поведение: чтение идёт сразу,
запись и необратимые действия требуют подтверждения.
| Раздел | Методов | Чтение | Запись | Необратимое |
|---|---|---|---|---|
| Документы и этапы | 19 | 7 | 8 | 4 |
| Аутентификация | 9 | 3 | 6 | 0 |
| Электронная подпись | 4 | 2 | 2 | 0 |
| МЧД | 4 | 2 | 1 | 1 |
| Наши организации | 3 | 2 | 1 | 0 |
| Сервисные команды | 3 | 2 | 1 | 0 |
| Сотрудники | 2 | 0 | 2 | 0 |
| Контрагенты | 1 | 1 | 0 | 0 |
| Всего | 45 | 19 | 21 | 5 |
sbis_search_methods("...") поиск метода словами, а не по имени эндпоинта
sbis_describe_method(...) параметры, пагинация, класс доступа
sbis_call_method(...) вызов; запись спрашивает подтверждение
И не найдёт: у СБИС все 45 команд идут на один путь /service/, а имя команды лежит в теле запроса по JSON-RPC. Искать надо по смыслу через sbis_search_methods, а не по эндпоинту.
Сессия СБИС живёт ограниченное время. Идентификатор сессии передаётся заголовком X-SBISSessionID, и когда он протухает, лечится это повторным вызовом команды аутентификации. Пароль при этом в сервере не хранится.
Все 45 идут через POST, потому что так устроен JSON-RPC, а не потому что все они меняют данные. Класс доступа в каталоге проставлен по смыслу команды, и подтверждение спрашивается по нему.
Нужен сотрудник с правами на интеграцию. Команда СБИС.Аутентифицировать по его логину и паролю возвращает идентификатор сессии, он и кладётся в SBIS_SESSION_ID.
Потому что это JSON-RPC, а не REST. Адрес online.sbis.ru/service/ один, различаются команды в теле запроса. Для агента разницы нет: он всё равно ищет метод словами.
saby.ru/help/integration/api. Каталог собран оттуда: 45 команд по документам и этапам, подписи, сертификатам, сотрудникам и контрагентам.
45. Это меньше, чем у Диадока, потому что у СБИС публично описана меньшая часть API, а не потому что каталог неполный.