Skip to main content
Glama
Catter58

mcpBPMSoft

by Catter58

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BPMSOFT_URLYesURL приложения, например https://mycompany.bpmsoft.com
BPMSOFT_DEBUGNo1 — логировать method url status duration; trace — ещё и тела с маскированием паролей и токеновoff
BPMSOFT_PASSWORDYesПароль
BPMSOFT_PLATFORMNonet8 или netframeworknet8
BPMSOFT_USERNAMEYesЛогин
BPMSOFT_PAGE_SIZENoРазмер страницы при автопагинации5000
BPMSOFT_MAX_FILE_SIZENoЛимит размера файла (10 МБ)10485760
BPMSOFT_ODATA_VERSIONNo4 или 34
BPMSOFT_MAX_BATCH_SIZENoЛимит подзапросов в $batch100
BPMSOFT_REQUEST_TIMEOUTNoТаймаут одного HTTP-запроса (мс)30000
BPMSOFT_LOOKUP_CACHE_TTLNoTTL кеша lookup в секундах300

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
bpm_initA

Инициализирует подключение к BPMSoft (URL, логин, пароль, версия OData, платформа) и проверяет учётные данные. Должен быть вызван первым, если сервер запущен без переменных окружения BPMSOFT_URL/USERNAME/PASSWORD. После успешного вызова все остальные инструменты становятся работоспособными.

bpm_get_recordsA

Возвращает записи указанной OData-коллекции с фильтрацией ($filter), выборкой полей ($select), сортировкой ($orderby), $expand и $top/$skip. По умолчанию автопагинация выключена и применяется лимит max_records (избегаем переполнения контекста LLM). Установите auto_paginate=true и/или увеличьте max_records если нужен полный набор.

bpm_get_recordA

Возвращает одну запись коллекции по UUID с опциональными $select и $expand.

bpm_count_recordsA

Возвращает число записей коллекции через /$count, опционально с $filter.

bpm_search_recordsA

Альтернатива bpm_get_records с человекочитаемыми критериями. Принимает массив criteria вида [{field, op, value}], где field может быть на русском (caption), op — на русском («содержит», «равно», «за последние 7 дней», «между») или OData (eq/contains/...). Сервер сам соберёт $filter. Полезен, когда LLM не хочет писать OData синтаксис вручную.

bpm_create_recordA

Создаёт запись в коллекции (POST). Lookup-поля можно передавать человекочитаемыми текстовыми значениями — сервер автоматически разрешит UUID. Возвращает созданную запись.

bpm_update_recordA

Обновляет поля записи по UUID (PATCH). Lookup-поля с текстовыми значениями разрешаются автоматически. Идемпотентно при одинаковых данных.

bpm_delete_recordA

Удаляет запись из коллекции по UUID (DELETE). Действие необратимо.

bpm_update_by_filterA

Находит записи по $filter и обновляет каждую через PATCH. Требует параметр expected_count: если найдено иное число записей — операция отменяется (защита от случайного массового обновления).

bpm_delete_by_filterA

Находит записи по $filter и удаляет каждую через DELETE. Требует параметр expected_count: при несовпадении операция отменяется. Действие необратимо.

bpm_get_collectionsA

Возвращает доступные EntitySet (коллекции) BPMSoft из $metadata. Поддерживает фильтр-подстроку по имени.

bpm_get_schemaA

Возвращает схему коллекции: поля, типы, обязательность, lookup-связи. По возможности включает локализованные подписи (рус. названия) полей из SysSchema/SysEntitySchemaColumn.

bpm_lookup_valueA

Резолвит UUID записи справочника по человекочитаемому значению (точное совпадение eq). При fuzzy=true и пустом результате повторяет поиск через contains() и возвращает кандидатов.

bpm_find_fieldA

Находит поля по фрагменту русского/английского названия среди уже загруженных схем коллекций. Полезно когда пользователь оперирует «ИНН», «Город» и т.п.

bpm_describe_instanceA

Возвращает обзор инстанса: число коллекций, главные бизнес-сущности (Contact, Account, Activity, Lead, Opportunity, Order, Case — те, что реально присутствуют), счётчики записей в них, число пользовательских (Usr*) коллекций и кастомных полей в основных сущностях. Кеширует результат на 5 минут. Полезен в самом начале диалога с новым инстансом.

bpm_get_enum_valuesA

Возвращает значения справочника, к которому привязано lookup-поле указанной коллекции. Например, для Activity.ActivityCategory вернёт список всех категорий активностей с UUID и названиями. Полезно перед bpm_create_record/bpm_update_record для перечисления вариантов или поиска UUID по точному имени.

bpm_workflow_catalogA

Возвращает каталог типичных пользовательских сценариев работы с BPMSoft и какие tool-ы для них вызывать. Карта основных сущностей и их связей. Ограничения BPMSoft 1.8. Используйте в начале сессии, когда LLM-агент не знает с чего начать.

bpm_batch_createA

Создаёт несколько записей в одном $batch (только OData v4). Lookup-поля автоматически резолвятся. Поддерживает continue_on_error для пропуска ошибочных записей.

bpm_batch_updateA

Обновляет несколько записей в одном $batch (только OData v4). Lookup-поля резолвятся автоматически. Поддерживает continue_on_error.

bpm_batch_deleteA

Удаляет несколько записей по UUID в одном $batch (только OData v4). Поддерживает continue_on_error. Действие необратимо.

bpm_upload_fileA

Загружает локальный файл в SysImage: создаёт запись метаданных и кладёт бинарные данные. Опционально привязывает к указанной записи по полю-ссылке.

bpm_download_fileA

Скачивает бинарные данные из SysImage по UUID и сохраняет в файл (если указан save_path).

bpm_field_uploadA

PUT бинарных данных напрямую в поле сущности по схеме {Collection}({id})/{FieldName}. Используйте для произвольных бинарных полей (не только SysImage).

bpm_field_downloadB

GET бинарных данных напрямую из поля сущности по схеме {Collection}({id})/{FieldName}. Сохраняет в save_path или возвращает размер.

bpm_field_deleteC

DELETE бинарных данных в поле сущности.

bpm_register_contactA

Зарегистрировать контакт. Опционально создаёт/находит контрагента (Account) по имени и привязывает к нему контакт. Один вызов вместо create_record(Account)+create_record(Contact)+update_record. Все имена полей могут быть переданы на русском (caption) или латинице.

bpm_log_activityA

Зафиксировать активность (задача, звонок, встреча) с привязкой к записи. Тип активности и владелец резолвятся по тексту через справочники. Поддерживает связь с Contact/Account/Opportunity.

bpm_set_statusA

Установить статус записи по человекочитаемому имени. Сервер сам найдёт поле-статус в коллекции (StatusId/StageId) и разрешит UUID статуса в его справочнике.

bpm_search_unifiedA

Сквозной поиск по подстроке Name в основных коллекциях (Contact, Account, Lead, Opportunity). Возвращает плоский список совпадений с указанием коллекции и UUID. Подходит для запросов вида «найди всё про Иванова».

bpm_run_processA

Вызывает ProcessEngineService.svc/{ProcessName}/Execute. Передаёт входные параметры через query-string. Опционально возвращает результат указанного выходного параметра. Используется для запуска кастомных БП, обёртывающих сложную логику (например, ESQ-запросы с агрегацией, массовые операции, бизнес-логика).

bpm_exec_process_elementA

Вызывает ProcessEngineService.svc/ExecProcElByUId с UID элемента. Используется для возобновления приостановленных элементов (например, пользовательских задач) уже выполняющегося процесса.

bpm_post_feedA

Создаёт запись в коллекции SocialMessage для целевой записи (entity+id). Лента — основной канал комментариев BPMSoft. Параметры: collection (имя сущности), id (UUID записи), message (текст). Опционально: parent_id для ответа на сообщение.

Prompts

Interactive templates invoked by user choice

NameDescription
getting_startedОбзор сервера BPMSoft: ключевые сущности, типичные сценарии и инструменты. Используй этот prompt в начале сессии, чтобы быстро понять, что доступно.
quick_searchСквозной поиск по подстроке в основных коллекциях (Contact, Account, Lead, Opportunity). Подсказывает использовать bpm_search_unified, а затем bpm_get_record для деталей.
create_contact_flowСценарий регистрации нового контакта (опционально с привязкой к контрагенту). Подсказывает использовать bpm_register_contact с указанными параметрами.
weekly_reportПодготовка сводки за последние N дней: новые контакты, активные сделки, завершённые задачи. Использует criteria-DSL и операторы относительных дат.
cleanup_duplicates_checkПоиск потенциальных дубликатов в коллекции по указанному полю. Только READ-операции — никаких удалений без подтверждения пользователя.
pipeline_analysisАнализ воронки Opportunity: распределение по стадиям, средняя сумма, конверсии. При необходимости запрашивает схему через bpm_get_schema.

Resources

Contextual data attached and managed by the client

NameDescription
bpmsoft_collectionsПеречень всех доступных EntitySet (коллекций) BPMSoft с типами сущностей. Источник — $metadata.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Catter58/mcpBPMSoft'

If you have feedback or need assistance with the MCP directory API, please join our Discord server