Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Directum RX for AI assistants: assignments, documents, boards, projects, any entity, system help
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
RXMCP_URL, RXMCP_LOGIN, RXMCP_AUTH, RXMCP_PASSWORD, RXMCP_COOKIE, RXMCP_ALLOW_WRITE, RXMCP_TZค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"rxmcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"RXMCP_URL",
"-e",
"RXMCP_LOGIN",
"-e",
"RXMCP_AUTH",
"-e",
"RXMCP_PASSWORD",
"-e",
"RXMCP_COOKIE",
"-e",
"RXMCP_ALLOW_WRITE",
"-e",
"RXMCP_TZ",
"ghcr.io/drxinfra/rxmcp:v0.18.1"
],
"env": {
"RXMCP_URL": "ใส่ค่าของคุณ",
"RXMCP_LOGIN": "ใส่ค่าของคุณ",
"RXMCP_AUTH": "ใส่ค่าของคุณ",
"RXMCP_PASSWORD": "ใส่ค่าของคุณ",
"RXMCP_COOKIE": "ใส่ค่าของคุณ",
"RXMCP_ALLOW_WRITE": "ใส่ค่าของคุณ",
"RXMCP_TZ": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add rxmcp --env RXMCP_URL='ใส่ค่าของคุณ' --env RXMCP_LOGIN='ใส่ค่าของคุณ' --env RXMCP_AUTH='ใส่ค่าของคุณ' --env RXMCP_PASSWORD='ใส่ค่าของคุณ' --env RXMCP_COOKIE='ใส่ค่าของคุณ' --env RXMCP_ALLOW_WRITE='ใส่ค่าของคุณ' --env RXMCP_TZ='ใส่ค่าของคุณ' -- docker run -i --rm -e RXMCP_URL -e RXMCP_LOGIN -e RXMCP_AUTH -e RXMCP_PASSWORD -e RXMCP_COOKIE -e RXMCP_ALLOW_WRITE -e RXMCP_TZ ghcr.io/drxinfra/rxmcp:v0.18.1เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"rxmcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"RXMCP_URL",
"-e",
"RXMCP_LOGIN",
"-e",
"RXMCP_AUTH",
"-e",
"RXMCP_PASSWORD",
"-e",
"RXMCP_COOKIE",
"-e",
"RXMCP_ALLOW_WRITE",
"-e",
"RXMCP_TZ",
"ghcr.io/drxinfra/rxmcp:v0.18.1"
],
"env": {
"RXMCP_URL": "ใส่ค่าของคุณ",
"RXMCP_LOGIN": "ใส่ค่าของคุณ",
"RXMCP_AUTH": "ใส่ค่าของคุณ",
"RXMCP_PASSWORD": "ใส่ค่าของคุณ",
"RXMCP_COOKIE": "ใส่ค่าของคุณ",
"RXMCP_ALLOW_WRITE": "ใส่ค่าของคุณ",
"RXMCP_TZ": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"rxmcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"RXMCP_URL",
"-e",
"RXMCP_LOGIN",
"-e",
"RXMCP_AUTH",
"-e",
"RXMCP_PASSWORD",
"-e",
"RXMCP_COOKIE",
"-e",
"RXMCP_ALLOW_WRITE",
"-e",
"RXMCP_TZ",
"ghcr.io/drxinfra/rxmcp:v0.18.1"
],
"env": {
"RXMCP_URL": "ใส่ค่าของคุณ",
"RXMCP_LOGIN": "ใส่ค่าของคุณ",
"RXMCP_AUTH": "ใส่ค่าของคุณ",
"RXMCP_PASSWORD": "ใส่ค่าของคุณ",
"RXMCP_COOKIE": "ใส่ค่าของคุณ",
"RXMCP_ALLOW_WRITE": "ใส่ค่าของคุณ",
"RXMCP_TZ": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
RXMCP_AUTH envRXMCP_ALLOW_WRITE envRXMCP_TZ envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub drxinfra ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: RXMCP_URL, RXMCP_LOGIN, RXMCP_PASSWORD, RXMCP_COOKIE
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.18.1) เข้า registry เมื่อวาน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.
Один процесс 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 проверка выключена: там версию меняют вместе с образом.
| Способ | Когда подходит | Что нужно сделать |
|---|---|---|
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 — обходной путь, зато без участия администратора. Сессия 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).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 — создать и оตัดมาแค่ช่วงต้น อ่านต่อใน repo