dooray-mcp-js
dooray-mcp-js
Сервер Dooray MCP, реализованный на Node.js. Он следует именам инструментов и поведению API dooray-go/dooray-mcp, но не требует Go или Homebrew.
Требования
Node.js 18 или новее
Персональный API-токен Dooray
Related MCP server: mcp-gdocs
Официальная документация
Область применения
Этот MCP-сервер не оборачивает каждый Dooray API. Он сосредоточен на часто используемых API аккаунтов, календаря, проектов, постов, вложений и мессенджера.
Большинство административных API /admin/v1 и /admin/v2 намеренно не раскрываются по умолчанию, особенно административные конечные точки с возможностью записи.
Режим только для чтения
Персональные API-токены Dooray не выдаются с отдельными правами только для чтения и записи. Токен, который может вызывать API записи, может по-прежнему иметь эти разрешения на уровне API Dooray.
Для более безопасных установок этот сервер предоставляет режим только для чтения на уровне инструментов MCP. В режиме только для чтения инструменты с возможностью записи не раскрываются в tools/list и не могут быть вызваны через tools/call.
Запуск
npx -y dooray-mcp-js --token "{personal-token}"Вы также можете использовать переменную окружения:
DOORAY_TOKEN="{personal-token}" npx -y dooray-mcp-jsЗапуск с раскрытием только инструментов только для чтения:
DOORAY_TOKEN="{personal-token}" npx -y dooray-mcp-js --mode read-onlyCodex
Зарегистрируйте пакет напрямую с Codex:
codex mcp add dooray-mcp-js --env DOORAY_TOKEN="$DOORAY_TOKEN" -- npx -y dooray-mcp-jsЕсли токен ещё не находится в DOORAY_TOKEN, передайте его при регистрации:
codex mcp add dooray-mcp-js --env DOORAY_TOKEN="{personal-token}" -- npx -y dooray-mcp-jsСервер читает DOORAY_TOKEN при запуске Codex, поэтому токен не нужно включать в аргументы команды.
Регистрация Codex только для чтения
Зарегистрируйте второй MCP-сервер с тем же пакетом и токеном, но раскройте только инструменты только для чтения:
codex mcp add dooray-mcp-js-read-only --env DOORAY_TOKEN="$DOORAY_TOKEN" -- npx -y dooray-mcp-js --mode read-onlyВы также можете установить режим через переменную окружения:
codex mcp add dooray-mcp-js-read-only --env DOORAY_TOKEN="$DOORAY_TOKEN" --env DOORAY_MCP_MODE=read-only -- npx -y dooray-mcp-jsClaude Desktop
{
"mcpServers": {
"dooray-mcp-js": {
"command": "npx",
"args": ["-y", "dooray-mcp-js"],
"env": {
"DOORAY_TOKEN": "{personal-token}"
}
}
}
}Конфигурация Claude Desktop только для чтения:
{
"mcpServers": {
"dooray-mcp-js-read-only": {
"command": "npx",
"args": ["-y", "dooray-mcp-js", "--mode", "read-only"],
"env": {
"DOORAY_TOKEN": "{personal-token}"
}
}
}
}Claude Code
claude mcp add dooray-mcp-js --env DOORAY_TOKEN="{personal-token}" -- npx -y dooray-mcp-jsРегистрация только для чтения:
claude mcp add dooray-mcp-js-read-only --env DOORAY_TOKEN="{personal-token}" -- npx -y dooray-mcp-js --mode read-onlyСтруктура проекта
dooray-mcp-js/
├── src/
│ └── index.js # MCP server entry point
├── package.json
└── README.mdЛокальная разработка
При работе из клонированного репозитория запустите локальную точку входа напрямую:
DOORAY_TOKEN="{personal-token}" node ./src/index.jsИнструменты
Пакет dooray-mcp-js раскрывает все реализованные на данный момент инструменты. Текущий сервер пока не имеет инструмента удаления.
dooray_messengerdooray_calendar_calendarsdooray_calendar_eventsdooray_calendar_post_eventdooray_account_membersdooray_account_memberdooray_projectdooray_posts(находит посты задач и раскрывает тело задачи плюсfileIdList, который может содержать встроенные изображения/файлы тела)dooray_post_logs(находит комментарии и журналы активности для поста)dooray_post_log(находит один комментарий или журнал активности по ID)dooray_post_log_create(добавляет комментарий к посту; тело:{ "mimeType": "text/x-markdown", "content": "..." })dooray_post_log_update(обновляет комментарий или журнал активности с тем же форматом тела)dooray_post_files(перечисляет обычные вложения; пустой результат илиAUTH_FORBIDDEN_ERRORне определяет, можно ли загрузить элементыfileIdList)dooray_post_file_download(загружает ID изdooray_posts.fileIdList, включая встроенные изображения тела, или обычные ID файлов вложений сmedia=raw; авторизация ограничена настроенным источником API и HTTPSfile-api.dooray.com)os
Чтение URL задач и файлов тела
Используйте этот рабочий процесс, когда запрос касается тела задачи Dooray, изображения, встроенного в тело, или файла, на который ссылается тело. Комментарии и журналы активности являются отдельным ресурсом и не требуются для этого рабочего процесса.
Разберите URL задачи.
/task/{projectId}/{postId}предоставляет оба ID напрямую. Устаревшая форма/project/tasks/{postId}предоставляет толькоpostId, поэтому её конечное число не должно использоваться какprojectId.Определите проект только для устаревшей формы URL. Вызовите
dooray_projectсoperation=find_projectsи необходимыми фильтрамиtype,scopeиstate. Повторяйте соответствующие комбинации фильтров и продолжайте перебирать значенияpageсsizeдо100, пока не будут проверены все страницы результатов.Найдите соответствующий пост. Вызовите
dooray_postsс ID проекта из новой формы URL или с ID кандидатов проекта, обнаруженных для устаревшего URL. Используйтеsizeдо100, продолжайте перебирать значенияpageпо мере необходимости и сопоставьте возвращённый ID поста сpostIdиз URL. Поиск по одному неверному ID проекта или только по первой странице результатов не является доказательством того, что задача или её файлы недоступны.Прочитайте тело задачи из соответствующего результата
dooray_posts. Не вызывайтеdooray_post_logs, если пользователь явно не запрашивает комментарии или историю активности.Если соответствующий пост содержит
fileIdList, вызовитеdooray_post_file_downloadодин раз для каждого перечисленного ID, используя те же проверенныеprojectIdиpostId. Эти ID обычно представляют изображения, встроенные в тело задачи, но могут также представлять другие файлы тела.Проверьте возвращённый локальный
filePathс помощью просмотрщика изображений или соответствующего парсера документов. Результат загрузки также включаетfileName,mimeType,sizeиtemporary.
dooray_post_files раскрывается для перечисления обычных вложений, но он отделён от пути fileIdList, используемого для файлов тела. Он может возвращать пустой список или AUTH_FORBIDDEN_ERROR, даже если прямые загрузки из dooray_posts.fileIdList работают. Поэтому ни один из этих результатов не следует сообщать как доказательство того, что изображение или файл тела недоступен. Ошибка fetch failed или тайм-аут от dooray_post_file_download также является сбоем транспорта, а не результатом разрешений, и её следует повторить или сообщить отдельно. Сообщайте о файле как о запрещённом или отсутствующем только тогда, когда прямая загрузка возвращает терминальный ответ Dooray, такой как 403 или 404, с проверенными projectId, postId и fileId.
Инструменты режима только для чтения
Когда установлены --mode read-only или DOORAY_MCP_MODE=read-only, инструменты Dooray с возможностью записи не раскрываются в tools/list и не могут быть вызваны через tools/call.
Раскрываются в режиме только для чтения:
dooray_calendar_calendarsdooray_calendar_eventsdooray_account_membersdooray_account_memberdooray_projectdooray_postsdooray_post_logsdooray_post_logdooray_post_filesdooray_post_file_downloados
Скрыты в режиме только для чтения:
dooray_messengerdooray_calendar_post_eventdooray_post_log_createdooray_post_log_update
Параметры
--token: персональный API-токен Dooray. По умолчанию —DOORAY_TOKEN.--endpoint: конечная точка API Dooray. По умолчанию —https://api.dooray.com.--mode: режим раскрытия инструментов. Используйтеfullилиread-only. По умолчанию —DOORAY_MCP_MODEилиfull.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseNot gradedqualityFmaintenanceMCP Server for public disclosure information of Korean companies, powered by the dartpoint.ai API.3Apache 2.0- AlicenseNot gradedqualityDmaintenanceMCP server for Google Docs, Google Drive, and Comments with flexible authentication, enabling document management, editing, formatting, commenting, and drive operations.2112MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for reading/editing Google Docs content and managing comments, including listing, creating, replying, resolving, and reopening comments via the Docs API and Drive API.GPL 3.0
- AlicenseNot gradedqualityCmaintenanceMCP server for managing social media posts across multiple platforms using the Postiz API. Supports creating, updating, deleting posts, and generating videos.602MIT
Related MCP Connectors
A basic MCP server to operate on the Postman API.
PandaDoc MCP server for creating, sending, signing, and tracking PandaDoc documents.
MCP server for Appcircle mobile CI/CD platform.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sdadaniel/dooray-mcp-js'
If you have feedback or need assistance with the MCP directory API, please join our Discord server