Directum RX

Directum RX for AI assistants: assignments, documents, boards, projects, any entity, system help

AI & MLGov0.7.0

rxmcp: Directum RX MCP server

rxmcp

Directum RX MCP server. Connects an AI assistant (Claude, Cursor and any MCP host) to Directum RX: assignments, tasks, documents and their text, knowledge base, agile boards, project plans, any entity via OData, and search over the system help of your own RX version. Single binary, read-only by default. The rest of this page is in Russian; the tool list and settings are in server.json.

MCP-сервер для Directum RX. Подключает ИИ-ассистента (Claude Desktop, Claude Code, Cursor и любой другой хост с поддержкой Model Context Protocol) к вашей системе: задания, задачи, документы, база знаний, agile-доски, проекты и планы.

Работает от имени пользователя RX через штатный сервис интеграции (OData). Прав сверх ваших не получает, схему не меняет, в базу и логи RX не заглядывает.

Один бинарник без зависимостей: Linux, Windows, macOS (Intel и Apple Silicon).

Установка за две команды

curl -fsSL https://drxinfra.ru/dl/rxmcp/install.sh | sh   # или скачайте бинарник вручную
rxmcp setup

setup спросит адрес RX, логин и способ входа, проверит подключение только чтением и сам пропишет сервер в Claude Desktop, Claude Code и Cursor. Перезапустите клиент — в списке инструментов появится rx.

Без интернета и без скриптов: возьмите архив со страницы Releases, распакуйте, положите бинарник в PATH и запустите rxmcp setup. На macOS, если файл скачан браузером, система попросит снять карантин: xattr -d com.apple.quarantine rxmcp.

Где лежат настройки

В профиле ~/.config/rxmcp/config.json (Windows: %AppData%\rxmcp\config.json), права 0600. В конфиге ИИ-клиента остаётся только путь к бинарнику:

{ "mcpServers": { "rx": { "command": "/usr/local/bin/rxmcp" } } }

Так сделано, чтобы менять настройки одной командой, а не искать JSON клиента:

rxmcp config                                 # что настроено (секреты не печатаются)
rxmcp config set RXMCP_ALLOW_WRITE=1         # включить запись
rxmcp config set RXMCP_TZ=Europe/Moscow      # часовой пояс для дат
rxmcp check                                  # проверить связь с RX, только чтение

Переменные окружения имеют приоритет над профилем — в контейнере и в CI удобнее передавать их напрямую. Имена те же, полный список: rxmcp help.

Вход в RX

СпособКогда подходитЧто нужно сделать
passwordв RX включён вход по паролю (обычно небольшие внедрения)rxmcp setup, ввести пароль один раз
cookieработает всегда, в том числе при SSO, Keycloak и доменевойти в RX в браузере, скопировать cookie sungero_client, rxmcp login --paste
oidcваш провайдер и заведённый для rxmcp клиентrxmcp login, вход в браузере (PKCE) или по коду (device flow)
bearerу вас уже есть токенRXMCP_TOKEN=...

Cookie — обходной путь, зато без участия администратора. Сессия RX живёт недолго, поэтому обновление сделано в одну команду:

rxmcp login --paste    # взять cookie из буфера обмена
rxmcp login            # то же с подсказкой: скопировать cookie и нажать Enter

Cookie лежит отдельным файлом и перечитывается на каждом запросе: перезапускать ИИ-клиент после обновления не нужно. Если сессия истекла, сервер так и скажет в ответе вместо непонятной ошибки.

Про oidc: rxmcp умеет и вход в браузере (authorization code + PKCE, локальный redirect), и device flow (код на экране, без открытого порта). Для этого администратору нужно один раз завести в вашем провайдере публичный клиент — без этого остаётся cookie или password.

Что умеет

Чтение (всегда):

  • rx_whoami — кто я в RX.
  • rx_my_assignments — задания в работе, просроченные, непрочитанные, выполненные; уведомления.
  • rx_get_assignment, rx_get_task, rx_list_tasks — карточки с перепиской, вложениями и заданиями.
  • rx_find_documents, rx_get_document, rx_get_document_text — поиск, карточка, текст версии (docx, xlsx, pptx, txt, md, csv, json, xml, html, rtf).
  • rx_find_employees — найти сотрудника, чтобы адресовать задачу.
  • База знаний: rx_kb_areas, rx_kb_search, rx_kb_article (статья в markdown).
  • Agile-доски: rx_boards, rx_board, rx_tickets, rx_ticket.
  • Проекты: rx_projects, rx_project, rx_project_plans, rx_project_plan (дерево работ, ответственные, просрочки).
  • Справка системы: rx_help_search, rx_help_topic, rx_help_toc. Помощник отвечает на «как настроить» и «что значит это поле» по справке вашей версии RX и называет статью.
  • Любая сущность: rx_find_entity (поиск по русскому или английскому названию), rx_describe_entity (поля и ссылки), rx_query (чтение по условию). Для данных, под которые нет готового инструмента: договоры, контрагенты, справочники, доработки заказчика.

Запись (только при RXMCP_ALLOW_WRITE=1, иначе инструменты не видны модели):

  • rx_create_ticket — карточка на доске: колонка, срок, приоритет, теги, исполнители, вложения.
  • rx_update_ticket — изменить карточку, перенести её в другую колонку, добавить вложения: ссылку, документ RX по Id или файл с диска (до 20 МБ).
  • rx_comment_ticket — добавить комментарий к карточке. Существующие комментарии с авторами и временем показывает rx_ticket.
  • rx_delete_tickets — удалить карточки с доски, как удаление в интерфейсе доски: карточка получает статус Deleted (до 100 за раз).
  • rx_create_column — колонка на доске: название, место, финальная, лимит карточек. Без места встаёт перед «Выполнено».
  • rx_complete_assignment — выполнить задание или принять работы (результат подбирается по типу задания).
  • rx_create_simple_task — создать и отправить простую задачу.
  • rx_abort_task — прекратить задачу.
  • rx_call_action — вызвать действие модуля по имени, если готового инструмента для него нет.

Плюс ресурсы rx://assignment/{id}, rx://task/{id}, rx://document/{id} и промпты «разбор заданий на сегодня», «краткое содержание документа».

Каждое пишущее действие показывает, что именно будет сделано, и спрашивает подтверждение (elicitation), если клиент это умеет. Некоторые клиенты заявляют, что умеют, но форму не показывают и сразу отвечают отказом: тогда каждый вызов заканчивается «Пользователь отменил действие». В этом случае rxmcp config set RXMCP_CONFIRM=0 выключает форму, и подтверждением служит только разрешение на вызов инструмента в самом клиенте. Теги и исполнители ищутся по имени: чего не нашлось — про то будет сказано прямо в ответе, карточка при этом создастся.

Как это устроено внутри и почему именно так: docs/architecture.md.

Справка системы

Справка Directum RX принадлежит вендору, поэтому в поставке rxmcp её нет. Сервер скачивает её с вашего же стенда: там она лежит рядом с веб-клиентом и соответствует вашей версии системы.

rxmcp docs index          # скачать и проиндексировать, около трёх минут на 5000 статей
rxmcp docs search правило согласования договоров
rxmcp docs status

Команду можно не выполнять: при первом вопросе по справке сервер начнёт скачивание сам и ответит, когда закончит. Индекс лежит в каталоге настроек (help-<хост>.idx.gz, около 5 МБ), у каждого стенда свой. После обновления RX выполните rxmcp docs index ещё раз.

Поиск лексический, с учётом русских окончаний и с приоритетом заголовков. Модель для эмбеддингов не нужна: переформулировать вопрос терминами системы помощник умеет сам. Если справка лежит по нестандартному адресу, задайте RXMCP_HELP_URL.

Docker

Для сервера и для HTTP-режима:

docker run --rm -p 127.0.0.1:8765:8765 \
  -e RXMCP_URL=https://rx.company.ru/Integration \
  -e RXMCP_LOGIN=ivanov -e RXMCP_PASSWORD=... \
  -e RXMCP_HTTP_ADDR=0.0.0.0:8765 -e RXMCP_HTTP_SECRET=... \
  ghcr.io/drxinfra/rxmcp serve --http

По stdio из контейнера тоже работает, но для настольного клиента проще бинарник: не нужны ни монтирование каталога с настройками (-v ~/.config/rxmcp:/config -e RXMCP_HOME=/config), ни проброс браузера для oidc.

Каталоги MCP

Сервер опубликован в официальном MCP Registry под именем io.github.drxinfra/rxmcp. Запись обновляется автоматически при каждом релизе: описание лежит в server.json, образ в ghcr.io/drxinfra/rxmcp.

В каталоге LobeHub сервер называется drxinfra-rxmcp. Его описание лежит в lhm.plugin.json и обновляется вручную: npx -y @lobehub/market-cli plugin update --dir . после смены версии в файле.

Безопасность

  • Только сервис интеграции RX и только права вашего пользователя. Ни базы, ни файлов, ни логов системы.
  • Запись выключена по умолчанию. Без RXMCP_ALLOW_WRITE=1 пишущих инструментов нет в списке — модель не может их вызвать.
  • Секреты не попадают в конфиг ИИ-клиента: профиль и cookie лежат в ~/.config/rxmcp с правами 0600.
  • Тексты из RX отдаются модели с пометкой, что это данные, а не инструкции.
  • В логи сервера не пишутся ни cookie, ни токены, ни пароли.
  • HTTP-режим слушает только то, что вы указали, и требует общий секрет в заголовке Authorization.

Сборка из исходников

go build -o rxmcp .          # нужен Go 1.27+
hack/build.sh v0.3.0         # архивы под все платформы в dist/
go test ./...

Лицензия

Apache-2.0. Directum RX — продукт Directum; проект с вендором не связан, торговые знаки принадлежат правообладателям.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
docker run -i --rm ghcr.io/drxinfra/rxmcp:v0.7.0

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-drxinfra-rxmcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/drxinfra/rxmcp:v0.7.0"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

ghcr.io/drxinfra/rxmcp:v0.7.0docker

Compatible MCP Clients

Directum RX works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More