Token导航 LogoToken导航TokenDH.com
Asana MCP (Katxuyu) logo
办公协作未说明官方级别未说明来源级核验

Asana MCP (Katxuyu)

MCP Server

MCP Server for Asana是一个通过Model Context Protocol(MCP)与Asana API交互的中间件服务,允许从MCP客户端(如Anthropic的Claude桌面应用程序)管理和操作Asana中的任务、项目和团队。

工具数

26

提示词数

0

GitHub Stars

0

资源数

0
工作流自动化团队协作TypeScriptClaudeAPI集成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

katxuyu

提供方

katxuyu

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Asana的MCP服务器

](https://www.npmjs.com/package/@roychri/mcp-server-asana)

Asana的模型上下文协议服务器实现允许您 与MCP客户的Asana API交谈,如Anthropic的Claude 桌面应用程序等等。

有关MCP的更多详细信息,请点击此处:

  • https://www.anthropic.com/news/model-context-protocol
  • https://modelcontextprotocol.io/introduction
  • https://github.com/modelcontextprotocol

环境变量

  • ASANA_ACCESS_TOKEN:(必填)您的Asana访问令牌
  • READ_ONLY_MODE:(可选)设置为“true”可禁用所有写入操作。在此模式下:

- 修改Asana数据(创建、更新、删除)的工具将被禁用 - 这 create-task 提示将被禁用 - 只有读取操作可用 这对于测试或当您想确保无法对Asana工作区进行任何更改时非常有用。

用法

在你选择的人工智能工具(例如:Claude Desktop)中,询问一些关于体式任务、项目、工作空间和/或评论的问题。提到“体式”这个词会增加法学硕士选择正确工具的机会。

例子:

在Sprint 30项目中,我们有多少未完成的体式任务?

另一个例子:

Claude Desktop Example

工具

  1. asana_list_workspaces

- 列出Asana的所有可用工作区 - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:工作区列表

  1. asana_get_users_in_workspace

- 让用户进入工作区或组织 - 所需输入: - workspace_gid(字符串):工作区或组织的全局唯一标识符 - 可选输入: - limit(整数):每页结果。每页要返回的对象数。该值必须介于1和100之间。(默认值:50) - offset(字符串):偏移标记。API返回的下一页的偏移量。 - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:工作区中的用户列表

  1. asana_get_users_in_team

- 让用户加入团队 - 所需输入: - team_gid(字符串):团队的全局唯一标识符 - 可选输入: - limit(整数):每页结果。每页要返回的对象数。该值必须介于1和100之间。(默认值:50) - offset(字符串):偏移标记。API返回的下一页的偏移量。 - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:团队中的用户列表

  1. asana_get_user

- 通过用户的GID获取用户 - 所需输入: - user_gid(string):用户的全局唯一标识符 - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:用户信息

  1. asana_get_multiple_users

- 获取多个用户 - 所需输入: - workspace(string):获取用户的工作区。目前,这是必需的。 - 可选输入: - team(string):获取用户的团队。 - limit(整数):每页结果。每页要返回的对象数。该值必须介于1和100之间。(默认值:50) - offset(字符串):偏移标记。API返回的下一页的偏移量。 - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:用户列表

  1. asana_search_projects

- 使用名称模式匹配在Asana中搜索项目 - 所需输入: - workspace(字符串):要搜索的工作区 - name_pattern(字符串):匹配项目名称的正则表达式模式 - 可选输入: - archived(布尔值):仅返回已存档的项目(默认值:false) - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:匹配项目列表

  1. asana_search_tasks

- 使用高级筛选选项在工作区中搜索任务 - 所需输入: - workspace(字符串):要搜索的工作区 - 可选输入: - text(字符串):在任务名称和描述中搜索的文本 - resource_subtype(字符串):按任务子类型筛选(例如里程碑) - complete(布尔值):已完成任务的筛选器 - is_subtask(布尔值):筛选子任务 - has_attachment(布尔值):过滤带有附件的任务 - is_blocked(布尔值):筛选依赖关系不完整的任务 - is_blocking(布尔值):筛选具有依赖项的未完成任务 - 受让人、项目、部分、标签、团队和许多其他高级过滤器 - sort_by(字符串):按due_date、created_at、completed_at、like、modified_at排序(默认值:modified_ad) - sort_ascending(布尔值):按升序排序(默认值:false) - opt_fields(字符串):逗号分隔的可选字段列表 - custom_fields(object):包含自定义字段过滤器的对象 - 返回:匹配任务列表

  1. asana_get_task

- 获取特定任务的详细信息 - 所需输入: - task_id(字符串):要检索的任务id - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:详细任务信息

  1. asana_create_task

- 在项目中创建新任务 - 所需输入: - project_id(string):在其中创建任务的项目 - name(string):任务的名称 - 可选输入: - notes(string):任务描述 - html_notes(string):任务的html格式描述 - due_on(字符串):YYYY-MM-DD格式的截止日期 - 受让人(字符串):受让人(可以是“我”或用户ID) - followers(字符串数组):要添加为关注者的用户ID数组 - parent(string):用于设置此任务的父任务ID - projects(字符串数组):要将此任务添加到的项目ID数组 - resource_subtype(字符串):任务的类型(默认任务或里程碑) - custom_fields(object):将自定义字段GID字符串映射到其值的对象 - 返回:已创建任务信息

  1. asana_get_task_stories

- 获取特定任务的评论和故事 - 所需输入: - task_id(字符串):获取故事的任务id - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:任务故事/评论列表

  1. asana_update_task

- 更新现有任务的详细信息 - 所需输入: - task_id(字符串):要更新的任务id - 可选输入: - name(string):任务的新名称 - notes(string):任务的新描述 - due_on(字符串):YYYY-MM-DD格式的新截止日期 - 受让人(字符串):新受让人(可以是“我”或用户ID) - complete(布尔值):将任务标记为已完成或未完成 - resource_subtype(字符串):任务的类型(默认任务或里程碑) - custom_fields(object):将自定义字段GID字符串映射到其值的对象 - 返回:更新的任务信息

  1. asana_get_project

- 获取特定项目的详细信息 - 所需输入: - project_id(字符串):要检索的项目id - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:详细项目信息

  1. asana_get_project_task_counts

- 获取项目中的任务数 - 所需输入: - project_id(字符串):用于获取任务计数的项目id - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:任务计数信息

  1. asana_get_project_sections

- 获取项目中的部分 - 所需输入: - project_id(字符串):用于获取节的项目id - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:项目部分列表

  1. asana_create_task_story

- 为任务创建评论或故事 - 所需输入: - task_id(字符串):要添加故事的任务id - text(string):故事/评论的文本内容 - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:已创建的故事信息

  1. asana_add_task_dependencies

- 设置任务的依赖关系 - 所需输入: - task_id(string):要添加依赖项的任务id - 依赖关系(字符串数组):此任务所依赖的任务ID数组 - 返回:更新了任务依赖关系

  1. asana_add_task_dependents

- 设置任务的依赖项(依赖于此任务的任务) - 所需输入: - task_id(字符串):要添加依赖项的任务id - 依赖项(字符串数组):依赖于此任务的任务ID数组 - 返回:更新了任务依赖项

  1. asana_create_subtask

- 为现有任务创建新的子任务 - 所需输入: - parent_task_id(字符串):用于创建子任务的父任务id - name(字符串):子任务的名称 - 可选输入: - 注释(字符串):子任务的描述 - due_on(字符串):YYYY-MM-DD格式的截止日期 - 受让人(字符串):受让人(可以是“我”或用户ID) - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:已创建子任务信息

  1. asana_get_multiple_tasks_by_gid

- 通过GID获取多个任务的详细信息(最多25个任务) - 所需输入: - task_ids(字符串数组或逗号分隔字符串):要检索的任务GID(最多25个) - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:详细任务信息列表

  1. asana_get_project_status

- 获取项目状态更新 - 所需输入: - project_status_gid(字符串):要检索的项目状态gid - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:项目状态信息

  1. asana_get_project_statuses

- 获取项目的所有状态更新 - 所需输入: - project_gid(字符串):用于获取其状态的项目gid - 可选输入: - 限制(数量):每页结果(1-100) - offset(字符串):分页偏移标记 - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:项目状态更新列表

  1. asana_create_project_status

- 为项目创建新的状态更新 - 所需输入: - project_gid(字符串):用于创建其状态的项目gid - text(string):状态更新的文本内容 - 可选输入: - color(string):状态的颜色(绿色、黄色、红色) - title(string):状态更新的标题 - html_text(string):状态更新的html格式文本 - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:已创建项目状态信息

  1. asana_delete_project_status

- 删除项目状态更新 - 所需输入: - project_status_gid(字符串):要删除的项目状态gid - 返回:删除确认

  1. asana_set_parent_for_task

- 设置任务的父级,并将子任务定位在该父级的其他子任务中 - 所需输入: - task_id(字符串):要操作的任务id - 数据(对象): - parent(string):任务的新父级,或null表示没有父级 - 可选输入: - insert_after(string):父任务的一个子任务,用于在后面插入任务,或在列表开头插入null - insert_before(string):父任务的子任务,用于在列表之前插入任务,或在列表末尾插入null - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:更新的任务信息

  1. asana_get_tasks_for_tag

- 获取特定标签的任务 - 所需输入: - tag_gid(字符串):用于检索任务的标记gid - 可选输入: - opt_fields(字符串):逗号分隔的可选字段列表 - opt_prety(boolean):以“漂亮”格式提供响应 - limit(整数):每页返回的对象数。该值必须介于1和100之间。 - offset(string):API返回的下一页的偏移量。 - 返回:指定标记的任务列表

  1. asana_get_tags_for_workspace

- 在工作区中获取标签 - 所需输入: - workspace_gid(字符串):工作区或组织的全局唯一标识符 - 可选输入: - limit(整数):每页结果。每页要返回的对象数。该值必须介于1和100之间。 - offset(字符串):偏移标记。API返回的下一页的偏移量。 - opt_fields(字符串):逗号分隔的可选字段列表 - 返回:工作区中的标签列表

提示

  1. task-summary

- 根据任务的注释、自定义字段和注释获取任务的摘要和状态更新 - 所需输入: - task_id(字符串):用于获取摘要的任务id - 返回:一个详细的提示,其中包含生成任务摘要的说明

  1. task-completeness

- 分析任务描述是否包含完成任务所需的所有详细信息 - 所需输入: - task_id(字符串):要分析的任务id或URL - 返回:一个详细的提示,其中包含分析任务完整性的说明

  1. create-task

- 使用指定的详细信息创建新任务 - 所需输入: - project_name(字符串):应在其中创建任务的Asana项目的名称 - title(string):任务的标题 - 可选输入: - notes(string):任务的注释或描述 - due_date(字符串):任务的到期日期(YYYY-MM-DD格式) - 返回:一个详细的提示,其中包含创建综合任务的说明

资源

  1. 工作区- asana://workspace/{workspace_gid}

- 将Asana工作空间表示为资源 - 每个工作区都作为单独的资源公开 - URI格式: asana://workspace/{workspace_gid} - 返回:带有工作区详细信息的JSON对象,包括: - name:工作区名称(字符串) - id:工作区全局ID(字符串) - type:资源类型(字符串) - is_organization:工作区是否为组织(布尔值) - email_domains:与工作区关联的电子邮件域列表(string\[\]) - Mime类型: application/json

  1. 项目- asana://project/{project_gid}

- 用于按GID检索项目详细信息的模板资源 - URI格式: asana://project/{project_gid} - 返回:包含项目详细信息的JSON对象,包括: - name:项目名称(字符串) - id:项目全局ID(字符串) - type:资源类型(字符串) - archived:项目是否存档(布尔值) - public:项目是否公开(布尔值) - notes:项目描述/注释(字符串) - color:项目颜色(字符串) - default_view:默认视图类型(字符串) - due_date, due_on, start_on:项目日期信息(字符串) - workspace:包含工作区信息的对象 - team:包含团队信息的对象 - sections:项目中的截面对象数组 - custom_fields:项目的自定义字段定义数组 - Mime类型: application/json

设置

  1. 创建Asana帐户:

- 访问 阿萨纳. - 点击“注册”。

  1. 取回Asana访问令牌:

- 您可以从Asana开发人员控制台生成个人访问令牌。 - https://app.asana.com/0/my-apps - 更多详情请点击此处:https://developers.asana.com/docs/personal-access-token

  1. 安装选项:

### 对于Claude Desktop:

将以下内容添加到您的 claude_desktop_config.json:

   {
     "mcpServers": {
       "asana": {
         "command": "npx",
         "args": ["-y", "@roychri/mcp-server-asana"],
         "env": {
           "ASANA_ACCESS_TOKEN": "your-asana-access-token"
         }
       }
     }
   }

### 克劳德代码:

使用以下命令安装和配置MCP服务器:

   claude mcp add asana -e ASANA_ACCESS_TOKEN= -- npx -y @roychri/mcp-server-asana

替换 `` 使用您的Asana访问令牌。

如果你想安装测试版(尚未发布),你可以使用:

  • @roychri/mcp-server-asana@beta

您可以通过以下任一方式找到当前的测试版(如果有的话):

  1. https://www.npmjs.com/package/@罗奇里/mcp服务器体式?activeTab=版本
  2. npm dist-tag ls @roychri/mcp-server-asana

故障排除

如果遇到权限错误:

  1. 确保你的体式计划允许API访问
  2. 确认在中正确设置了访问令牌和配置 claude_desktop_config.json.

贡献

克隆此仓库并开始黑客攻击。

使用MCP检查员进行本地测试

如果你想测试你的更改,你可以这样使用MCP检查器:

npm run inspector

这将使客户端暴露于端口 5173 服务器到端口 3000.

如果这些端口已被其他人使用,您可以使用:

CLIENT_PORT=5009 SERVER_PORT=3009 npm run inspector

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。

目录标签

目录标签

工作流自动化团队协作TypeScriptClaudeAPI集成任务管理本地部署项目管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

26

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP