Skip to main content
Glama

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-only

Codex

直接使用 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-js

Claude 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_messenger

  • dooray_calendar_calendars

  • dooray_calendar_events

  • dooray_calendar_post_event

  • dooray_account_members

  • dooray_account_member

  • dooray_project

  • dooray_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 来源和 HTTPS file-api.dooray.com

  • os

读取任务 URL 和正文文件

当请求要求获取 Dooray 任务正文、正文中嵌入的图片或正文引用的文件时,请使用此工作流程。评论和活动日志是单独的资源,此工作流程不需要它们。

  1. 解析任务 URL。/task/{projectId}/{postId} 直接提供两个 ID。旧版 /project/tasks/{postId} 形式仅提供 postId,因此其尾随数字不能用作 projectId

  2. 仅对旧版 URL 形式解析项目。使用 operation=find_projects 以及必需的 typescopestate 过滤器调用 dooray_project。重复相关的过滤器组合,并继续遍历 page 值(size 最大为 100),直到检查完所有结果页。

  3. 搜索匹配的帖子。使用新 URL 形式中的项目 ID 或为旧版 URL 发现的候选项目 ID 调用 dooray_posts。使用 size 最大为 100,根据需要继续遍历 page 值,并将返回的帖子 ID 与 URL 的 postId 匹配。在错误项目 ID 下查找或仅查看第一页结果,不能证明任务或其文件不可用。

  4. 从匹配的 dooray_posts 结果中读取任务正文。除非用户明确要求评论或活动历史,否则不要调用 dooray_post_logs

  5. 如果匹配的帖子包含 fileIdList,则使用相同的已验证 projectIdpostId 为每个列出的 ID 调用一次 dooray_post_file_download。这些 ID 通常表示任务正文中嵌入的图片,但也可能表示其他正文文件。

  6. 使用图片查看器或适当的文档解析器检查返回的本地 filePath。下载结果还包括 fileNamemimeTypesizetemporary

dooray_post_files 用于列出常规附件,但它与正文文件使用的 fileIdList 路径是分开的。即使从 dooray_posts.fileIdList 直接下载有效,它也可能返回空列表或 AUTH_FORBIDDEN_ERROR。因此,这两种结果都不应被报告为正文图片或文件不可访问的证据。dooray_post_file_download 返回的 fetch failed 错误或超时也是传输失败,而非权限结果,应重试或单独报告。仅当直接下载返回终态 Dooray 响应(如使用已验证的 projectIdpostIdfileId 返回 403404)时,才将文件报告为禁止访问或缺失。

只读模式工具

当设置 --mode read-onlyDOORAY_MCP_MODE=read-only 时,具有写入能力的 Dooray 工具不会在 tools/list 中公开,也无法通过 tools/call 调用。

只读模式下公开:

  • dooray_calendar_calendars

  • dooray_calendar_events

  • dooray_account_members

  • dooray_account_member

  • dooray_project

  • dooray_posts

  • dooray_post_logs

  • dooray_post_log

  • dooray_post_files

  • dooray_post_file_download

  • os

只读模式下隐藏:

  • dooray_messenger

  • dooray_calendar_post_event

  • dooray_post_log_create

  • dooray_post_log_update

选项

  • --token:Dooray 个人 API 令牌。默认为 DOORAY_TOKEN

  • --endpoint:Dooray API 端点。默认为 https://api.dooray.com

  • --mode:工具公开模式。使用 fullread-only。默认为 DOORAY_MCP_MODEfull

A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP Server for public disclosure information of Korean companies, powered by the dartpoint.ai API.
    3
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for Google Docs, Google Drive, and Comments with flexible authentication, enabling document management, editing, formatting, commenting, and drive operations.
    211
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for managing social media posts across multiple platforms using the Postiz API. Supports creating, updating, deleting posts, and generating videos.
    60
    2
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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