Back to Browse

Rxmcp MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (2 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

3 files analyzed · No issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

clipboard

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Directum RX integration service URL, for example https://rx.company.ru/IntegrationOptional

Environment variable: RXMCP_URL

Your Directum RX login: the server finds your assignments by itOptional

Environment variable: RXMCP_LOGIN

How to sign in: basic (login and password), cookie, oidc, bearer or headerOptional

Environment variable: RXMCP_AUTH

Password for RXMCP_AUTH=basicRequired

Environment variable: RXMCP_PASSWORD

Cookie header from the browser for RXMCP_AUTH=cookie (works with SSO and domain sign-in)Required

Environment variable: RXMCP_COOKIE

Set to 1 to enable write tools (tasks, assignments, board tickets). Read-only by defaultOptional

Environment variable: RXMCP_ALLOW_WRITE

Time zone for dates, for example Europe/MoscowOptional

Environment variable: RXMCP_TZ

Documentation

View on GitHub

From the project's GitHub README.

rxmcp: Directum RX MCP server

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.

Секреты в связке ключей ОС

Пароль, cookie, токены и сессию провайдера входа можно хранить не в файлах каталога настроек, а в связке ключей: Keychain на macOS, диспетчер учётных данных на Windows, Secret Service (GNOME Keyring, KWallet) на Linux. setup предлагает это сам, если связка доступна.

rxmcp secrets            # где лежат секреты и доступна ли связка ключей
rxmcp secrets keyring    # перенести в связку ключей; перезапускать клиента не нужно
rxmcp secrets file       # вернуть в файлы 0600

В config.json после переноса остаются только несекретные настройки. На сервере Linux и в WSL без графического сеанса связки ключей нет, там секреты остаются в файлах. Что это защищает и что нет: docs/security.md.

Несколько систем RX

Один процесс rxmcp работает с одной системой. Для второй (тестовый стенд, другой заказчик) заведите отдельный каталог настроек:

RXMCP_HOME=~/.config/rxmcp-test rxmcp setup

setup пропишет второй сервер в клиенты под своим именем, например rx-test-company, и передаст ему RXMCP_HOME. Запись rx для основной системы останется как была. Профиль, cookie и сессия провайдера у каждой системы свои, в названии и описании сервера указан хост, поэтому помощник понимает, какую систему спрашивать. Остальные команды для второй системы запускаются с тем же RXMCP_HOME: RXMCP_HOME=~/.config/rxmcp-test rxmcp login.

Обновление

Раз в сутки rxmcp узнаёт, не вышла ли новая версия: спрашивает файл drxinfra.ru/dl/rxmcp/latest.txt, а если он недоступен, GitHub. Кроме номера своей версии в User-Agent ничего не отправляет. Если вышла, помощник скажет об этом один раз за сеанс, а rxmcp version и rxmcp check напишут строкой.

rxmcp update                              # скачать, сверить с SHA256SUMS, заменить бинарник
rxmcp config set RXMCP_UPDATE_CHECK=0     # не узнавать о новых версиях

После обновления перезапустите ИИ-клиент. Если rxmcp лежит в /usr/local/bin и ставился через sudo, обновлять тоже через sudo rxmcp update. В образе Docker проверка выключена: там версию меняют вместе с образом.

Вход в RX

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

Вход через провайдера без администратора: login --sso

Если RX пускает через Keycloak (или другой OIDC-провайдер), протокол OIDC выполняет сам сервер RX: браузер уходит к провайдеру, тот по живой сессии сразу возвращает код, RX выдаёт cookie sungero_client. rxmcp повторяет ту же цепочку со своей копией сессии провайдера. Пароль он не видит, отдельный клиент в провайдере не нужен.

rxmcp login --sso

Команда сама узнает адрес провайдера и попросит скопировать заголовок cookie со страницы личного кабинета провайдера (вы там уже вошли, пароль не спросят). Дальше, когда RX отвечает 401, rxmcp получает новую cookie и повторяет запрос сам. Входить в браузере заново нужно, только когда истекает сессия провайдера: это срок, который задал его администратор, обычно от нескольких часов до нескольких дней.

Сессия провайдера лежит в ~/.config/rxmcp/sso-<адрес RX>.json с правами 0600. Она открывает вход во все приложения этого провайдера, а не только в RX: храните её как пароль. Удалить: rxmcp logout. Если RX просит второй фактор, такой вход rxmcp не пройдёт и скажет об этом.

Cookie вручную

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

rxmcp login --paste    # взять cookie из буфера обмена
rxmcp login            # вставить cookie в терминал и нажать Enter, или просто Enter, если она в буфере
rxmcp login --stdin < cookie.txt   # из файла или конвейера

Длинную cookie можно вставлять прямо в терминал: на время ввода rxmcp снимает предел длины строки (1024 символа в macOS, 4096 в Linux). В WSL --paste и Enter берут cookie из буфера обмена Windows через powershell.exe, так что копировать в браузере Windows можно как обычно.

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

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

Что умеет

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

  • rx_whoami — кто я в RX и кого сейчас замещаю (справочник «Замещения»).
  • rx_my_assignments — задания в работе, просроченные, непрочитанные, выполненные; уведомления. С include_substituted=true добавляет задания тех, кого вы замещаете: это нужно помощнику руководителя и тому, кто подменяет коллегу в отпуске. Чужие строки помечены «за <ФИО>».
  • rx_get_assignment, rx_get_task, rx_list_tasks — карточки с перепиской, вложениями и заданиями.
  • rx_whats_new — что нового с прошлого раза: пришедшие задания и уведомления, что горит сегодня, какие мои задачи завершились. include_substituted=true добавляет задания и уведомления тех, кого вы замещаете.
  • rx_find_documents, rx_get_document, rx_get_document_text — поиск, карточка, текст версии (docx, xlsx, pptx, pdf, 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_ticket_file (вложение по номеру: docx, xlsx, pdf, txt, json, логи; список и файлы внутри zip и tar.gz, поиск строк по grep), rx_ticket_relations (связи нескольких карточек: родитель и дочерние, «зависит от», дубли, «связана с»), rx_ticket_history (история карточки: кто и когда создал, двигал по колонкам, менял срок, план и факт, исполнителей, теги, закрыл).
  • Проекты: rx_projects, rx_project (карточка с контрольными точками и числом рисков), rx_project_risks (реестр рисков проекта), 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 — добавить комментарий к карточке. Существующие комментарии с Id, авторами и временем показывает rx_ticket.
  • rx_edit_comment, rx_delete_comment — исправить или удалить свой комментарий. Чужие не трогает.
  • rx_delete_tickets — удалить карточки с доски, как удаление в интерфейсе доски: карточка получает статус Deleted (до 100 за раз).
  • rx_create_column — колонка на доске: название, место, финальная, лимит карточек. Без места встаёт перед «Выполнено».
  • rx_create_risks, rx_update_risk — занести риски в реестр рисков проекта пачкой (до 30 за вызов) и править их: статус, описание, планы предотвращения и устранения последствий, вероятность, влияние, категория, ответственный. Импорта рисков в RX нет, так сгенерированный реестр не переносится руками.
  • rx_create_gates, rx_update_gate — контрольные точки (цели проекта): создать пачкой и добавить в карточку проекта, поменять даты и прогноз, отметить достижение.
  • rx_complete_assignment — выполнить задание: завершить, принять работы, согласовать (в том числе с замечаниями) или вернуть на доработку, отметить ознакомление. Результат подбирается по типу задания. Задание, пришедшее по замещению, выполняется за исполнителя, и подтверждение об этом говорит. Задания на подписание не выполняет: подпись ставится только в RX.
  • rx_send_for_acquaintance — отправить документ на ознакомление сотрудникам.
  • rx_send_for_approval — отправить документ на согласование: свободное с указанными людьми или по регламенту, по правилу RX.
  • rx_create_article, rx_update_article — создать статью базы знаний в markdown или изменить её; новый текст ложится новой версией.
  • rx_create_simple_task — создать и отправить простую задачу.
  • rx_abort_task — прекратить задачу.
  • rx_call_action — вызвать действие модуля по имени, если готового инструмента для него нет.

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

Наборы инструментов

По умолчанию видны все инструменты. Если нужна только часть, перечислите наборы в RXMCP_TOOLS: core (задания, задачи, документы, сотрудники, «что нового»; включён всегда), boards, projects, kb, help, catalog. Можно добавить и отдельные инструменты по имени.

rxmcp config set RXMCP_TOOLS=boards,kb          # задания, документы, доски и база знаний
rxmcp config set RXMCP_TOOLS=boards,rx_query    # плюс один инструмент из каталога
rxmcp config unset RXMCP_TOOLS                  # снова все

Это полезно малым локальным моделям: на 40 с лишним инструментах они заметно хуже выбирают нужный. Инструменты записи по-прежнему появляются только с RXMCP_ALLOW_WRITE=1.

Каждое пишущее действие показывает, что именно будет сделано, и спрашивает подтверждение формой (elicitation), если клиент это умеет. Клиенту на протоколе MCP до 2026-07-28 форма приходит посреди вызова инструмента. На 2026-07-28 и новее сервер посреди вызова спрашивать не может, и форма уходит в ответе инструмента: клиент показывает её и повторяет вызов с ответом. Действие выполняется только на повторе с согласием и только один раз, ответ на форму действует пять минут. Если клиент форму не заявил, действие выполняется без неё: подтверждением служит разрешение на вызов инструмента в самом клиенте, а в журнале rxmcp один раз за сеанс появляется строка no write confirmation form с причиной. Некоторые клиенты заявляют, что умеют, но форму не показывают и сразу отвечают отказом: тогда каждый вызов заканчивается «Пользователь отменил действие». В этом случае 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.

Сервер для компании: каждый под своей учёткой

В HTTP-режиме rxmcp можно поставить один на всю компанию так, что каждый сотрудник работает со своими правами в RX. Чат с входом через ваш провайдер (Keycloak или другой OIDC, обычно связанный с AD) передаёт rxmcp токен вошедшего сотрудника. rxmcp проверяет его по открытым ключам провайдера и с этим же токеном идёт в RX. Служебной учётки с широкими правами нет, помощник видит ровно то, что видит сотрудник.

docker run --rm -p 127.0.0.1:8765:8765 \
  -e RXMCP_URL=https://rx.company.ru/Integration \
  -e RXMCP_AUTH=passthrough \
  -e RXMCP_HTTP_ADDR=0.0.0.0:8765 \
  -e RXMCP_HTTP_AUTH=oidc \
  -e RXMCP_HTTP_OIDC_ISSUER=https://sso.company.ru/realms/company \
  -e RXMCP_HTTP_OIDC_AUDIENCE=rxmcp \
  -e RXMCP_HTTP_REQUIRE_ROLE=rx-assistant \
  ghcr.io/drxinfra/rxmcp serve --http
  • Проверяются подпись токена (RS256/384/512, ES256/384 по ключам провайдера), издатель, срок, аудитория или azp. Токены без подписи и с общим секретом (none, HS*) не принимаются.
  • RXMCP_HTTP_REQUIRE_ROLE пускает только сотрудников с ролью realm. Логин берётся из preferred_username (RXMCP_HTTP_USER_CLAIM).
  • В журнал пишется каждый вызов: сотрудник, инструмент, имена параметров (без значений), успех, время. Заход, который только показал форму подтверждения, помечен awaiting=confirmation.
  • С включённой записью форма подтверждения в этом режиме доходит только до клиентов на протоколе MCP 2026-07-28 и новее: режим без сессий, и спросить посреди вызова сервер не может. Ответ на форму принимается только от того же сотрудника. Для клиентов на старых версиях протокола подтверждением служит разрешение на вызов инструмента в самом чате.
  • Справку в этом режиме скачивать нечем: подготовьте индекс заранее (rxmcp docs index под любой учёткой, файл help-<хост>.idx.gz в каталог настроек сервера).

Сервис интеграции RX должен принимать токены вашего провайдера. Это настройка самого RX и провайдера входа, а не rxmcp; её мы делаем при внедрении вместе с чатом и локальной моделью: написать. Как это выглядит с моделью внутри контура — демо.

Каталоги 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 . после смены версии в файле.

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

Подробно, для тех, кто согласует внедрение: docs/security.md. Там сетевые потоки, что лежит на диске при каждом способе входа, что видит провайдер модели и что настроить.

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

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

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

Лицензия

Apache-2.0. Текст из PDF извлекается копией библиотеки ledongthuc/pdf (BSD-3-Clause) с правками, она лежит в internal/thirdparty/pdf. Directum RX — продукт Directum; проект с вендором не связан, торговые знаки принадлежат правообладателям.

Форк или производная работа должны сохранить файл NOTICE с указанием авторства. Права на имена «rxmcp» и «drxinfra» лицензия не даёт (раздел 6), так что форк выпускается под другим именем.

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

Reviews

No reviews yet

Be the first to review this server!