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

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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