dooray-mcp-js
dooray-mcp-js
使用 Node.js 实现的 Dooray MCP 服务器。它遵循 dooray-go/dooray-mcp 的工具名称和 API 行为,但不需要 Go 或 Homebrew。
要求
Node.js 18 或更高版本
Dooray 个人 API 令牌
Related MCP server: mcp-gdocs
官方文档
范围
此 MCP 服务器并未封装所有 Dooray API。它专注于常用的账户、日历、项目、帖子、附件和信使 API。
大多数 /admin/v1 和 /admin/v2 管理 API 默认不公开,尤其是具有写入能力的管理端点。
只读模式
Dooray 个人 API 令牌不会分别颁发只读和写入权限。能够调用写入 API 的令牌在 Dooray API 层面可能仍具有这些权限。
为了更安全的安装,此服务器在 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服务器在 Codex 启动时会读取 DOORAY_TOKEN,因此令牌无需包含在命令参数中。
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(下载dooray_posts.fileIdList中的 ID,包括内联正文图片,或使用media=raw下载常规附件文件 ID;授权仅限于配置的 API 来源和 HTTPSfile-api.dooray.com)os
读取任务 URL 和正文文件
当请求要求获取 Dooray 任务正文、正文中嵌入的图片或正文引用的文件时,请使用此工作流程。评论和活动日志是单独的资源,此工作流程不需要它们。
解析任务 URL。
/task/{projectId}/{postId}直接提供两个 ID。旧版/project/tasks/{postId}形式仅提供postId,因此其尾随数字不能用作projectId。仅对旧版 URL 形式解析项目。使用
operation=find_projects以及必需的type、scope和state过滤器调用dooray_project。重复相关的过滤器组合,并继续遍历page值(size最大为100),直到检查完所有结果页。搜索匹配的帖子。使用新 URL 形式中的项目 ID 或为旧版 URL 发现的候选项目 ID 调用
dooray_posts。使用size最大为100,根据需要继续遍历page值,并将返回的帖子 ID 与 URL 的postId匹配。在错误项目 ID 下查找或仅查看第一页结果,不能证明任务或其文件不可用。从匹配的
dooray_posts结果中读取任务正文。除非用户明确要求评论或活动历史,否则不要调用dooray_post_logs。如果匹配的帖子包含
fileIdList,则使用相同的已验证projectId和postId为每个列出的 ID 调用一次dooray_post_file_download。这些 ID 通常表示任务正文中嵌入的图片,但也可能表示其他正文文件。使用图片查看器或适当的文档解析器检查返回的本地
filePath。下载结果还包括fileName、mimeType、size和temporary。
dooray_post_files 用于列出常规附件,但它与正文文件使用的 fileIdList 路径是分开的。即使从 dooray_posts.fileIdList 直接下载有效,它也可能返回空列表或 AUTH_FORBIDDEN_ERROR。因此,这两种结果都不应被报告为正文图片或文件不可访问的证据。dooray_post_file_download 返回的 fetch failed 错误或超时也是传输失败,而非权限结果,应重试或单独报告。仅当直接下载返回终态 Dooray 响应(如使用已验证的 projectId、postId 和 fileId 返回 403 或 404)时,才将文件报告为禁止访问或缺失。
只读模式工具
当设置 --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:Dooray 个人 API 令牌。默认为DOORAY_TOKEN。--endpoint:Dooray API 端点。默认为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