MCP server: One MCP server.

Directum RX

@drxinfraMCP server · External

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

Project managementv0.7.0Apache-2.0Go
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

Not assessed yet.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

Dockerghcr.io/drxinfra/rxmcp:v0.7.0

Run

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

MCP client config

{
  "mcpServers": {
    "directum-rx": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/drxinfra/rxmcp:v0.7.0"
      ]
    }
  }
}
README7 min read

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).

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

sh
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. В конфиге ИИ-клиента остаётся только путь к бинарнику:

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

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

sh
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 живёт недолго, поэтому обновление сделано в одну команду:

sh
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-режима:

sh
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.

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

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

Лицензия

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

Directum RX MCP (rxmcp) MCP server – quality and maintenance score on Glama

Similar modules

Browse Project management