← 返回目录
A

Asana MCP Server

社区
通过 MCP 连接 Asana,实现任务、项目、评论和标签的管理。
分类
团队协作 第 46 / 55
Stars
★ 148 热门
传输方式
stdio(本地进程)
运行环境
Node.js
凭据
需要 API Key / 凭据
许可证
MIT
最近提交
工具数
41
41FMRS · D

该 MCP 服务器提供了全面的 Asana 集成能力,覆盖任务、项目、标签、分区等核心功能,适合多种客户端。配置简单,但需注意令牌安全和误操作风险。

最强项 · 安装易用性 13/20 最弱项 · 可靠性 4/20

可靠性
4/20
安全与权限
7/20
维护活跃度
5/20
文档质量
12/20
安装易用性
13/20
查看各项评分依据
可靠性 4/20
仅提供了 README 和仓库元数据,没有源码、server manifest、CI 或测试。README 列出的 41 个工具和 3 个提示词无法与真实实现核对,MCP 初始化与工具列握手也无法验证。README 未显示明显矛盾,因此未给 0 分,但缺少任何可执行证据,可靠性只能给低分。
安全与权限 7/20
没有发现恶意代码、真实 token 或强制破坏性默认值等红线问题;ASANA_ACCESS_TOKEN 通过环境变量传入,README 还提供了 READ_ONLY_MODE 来禁用写操作。但无法从源码确认该模式真实生效,也没有说明 token 的最小权限范围;删除任务、状态、标签、分区等破坏性工具未见二次确认流程。主要风险可见,但权限最小化和确认机制不完整。
维护活跃度 5/20
仓库未归档、使用 MIT 许可证,说明未被完全废弃;但没有提供提交记录、发布时间线、issue 响应情况或依赖更新证据,维护活跃度与版本治理均无法核实。按缺失证据扣分,只给中等偏低分。
文档质量 12/20
README 覆盖环境变量、41 个工具的参数、3 个提示词、2 类资源、三种客户端配置示例和基本故障排查,并披露了部分限制(分页 1-100、一次最多 25 个任务、搜索任务需要付费计划)。但缺少成本/速率限制说明、真实响应示例和更深入的限制披露;README 本身是不可信证据,也没有源码可交叉验证。文档可用但不完整。
安装易用性 13/20
README 给出了从创建 Asana 账号、获取 token,到 Claude Desktop、Claude Code、Codex CLI 三种客户端的配置示例,步骤清晰且数量少。但没有任何源码、CI 或已提交测试证明 npx 包能实际启动,也没有固定版本号或 Node.js 版本要求。静态校准规定无执行证据时 setup 不超过 15,且安装仍需手动配置,因此给 13 分。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络修改第三方账户数据

适合谁

  • 希望将 Asana 集成到 AI 助手的工作流中,实现自然语言操作任务和项目的团队。
  • 需要快速查询和修改 Asana 数据的开发者和项目管理者。
  • 希望利用 MCP 协议统一管理多个工具的团队。

不适合谁

  • 不需要与 Asana 交互的用户。
  • 对数据安全要求极高,不希望将 Asana 数据通过第三方服务器传输的团队(但本服务器仅在本地运行)。
  • 需要高级权限(如管理用户、修改工作区设置)的场景,本服务器不支持这些操作。

所需权限

  • 需要 ASANA_ACCESS_TOKEN 环境变量,该令牌需具有 Asana API 的读写权限(取决于令牌范围)。
  • 在 READ_ONLY_MODE=true 时,所有写操作将被禁用。

风险与副作用

  • 令牌泄露风险:如果访问令牌被泄露,攻击者可能读取或修改 Asana 数据。应妥善保管令牌。
  • 误操作风险:AI 可能误执行删除或更新操作,建议在测试环境中使用,或开启 READ_ONLY_MODE。
  • 数据隐私:服务器仅作为桥接,但 Asana 数据会经过 MCP 客户端处理,注意客户端的数据处理方式。

安装接入

准备工作

运行环境:Node.js

ASANA_ACCESS_TOKEN 必填密钥 必填的 Asana 个人访问令牌,可在 https://app.asana.com/0/my-apps 开发者控制台生成。
其他可选配置项(1 个)
READ_ONLY_MODE 可选 可选,设为 'true' 将禁用所有写操作,仅保留只读功能,适合测试或安全场景。
  1. 创建 Asana 账户:访问 https://www.asana.com 注册。
  2. 获取访问令牌:在 Asana 开发者控制台(https://app.asana.com/0/my-apps)生成个人访问令牌,详见 https://developers.asana.com/docs/personal-access-token。
  3. 配置客户端:
  • 对于 Claude Desktop,在 claude_desktop_config.json 中添加相应配置。
  • 对于 Claude Code,运行命令:claude mcp add asana -e ASANA_ACCESS_TOKEN=<TOKEN> -- npx -y @roychri/mcp-server-asana。
  • 对于 Codex CLI,在 ~/.codex/config.toml 中添加配置。
claude_desktop_config.json
{
  "mcpServers": {
    "asana": {
      "command": "npx",
      "args": [
        "-y",
        "@roychri/mcp-server-asana"
      ],
      "env": {
        "ASANA_ACCESS_TOKEN": "your-asana-access-token"
      }
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

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

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add asana -e ASANA_ACCESS_TOKEN=your-asana-access-token -- npx -y @roychri/mcp-server-asana

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

在 Claude Desktop 配置中添加本服务器并重启后,工具列表中应出现 asana_list_workspaces 等工具;调用 asana_list_workspaces 能返回你的工作区即证明连接成功。

常见排障

  1. 检查 ASANA_ACCESS_TOKEN 是否正确设置,以及令牌是否有权限访问所需资源。
  2. 确认 Asana 计划是否允许 API 访问(某些功能如搜索任务可能需要付费计划)。
  3. 检查客户端配置文件(如 claude_desktop_config.json)的格式和路径是否正确。
  4. 查看错误日志,确认是否出现权限错误或网络问题。

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 我们在 Sprint 30 项目里还有多少未完成的 asana 任务?
  • 在我的 asana 工作区中搜索名称包含 Sprint 的项目
  • 获取 asana 中某个任务的所有评论
  • 在我的 asana 工作区创建一个新任务,名称为 '整理周报'

工具能力 41

asana_list_workspaces 只读
列出工作区中所有可用的 Asana 工作区。
asana_search_projects 只读
按名称模式搜索项目。
asana_search_tasks 只读
使用高级筛选筛选工作区中的任务。
asana_get_task 只读
获取特定任务的详细信息。
asana_create_task 写入
在项目中创建新任务。
asana_get_task_stories 只读
获取任务的评论和动态。
asana_update_task 写入
更新现有任务的详细信息。
asana_get_project 只读
获取项目的详细信息。
展开其余 33 个工具
asana_get_project_task_counts 只读
获取项目中的任务数量。
asana_get_project_sections 只读
获取项目中的分区。
asana_create_task_story 写入
在任务上创建评论或动态。
asana_add_task_dependencies 写入
设置任务的依赖关系。
asana_add_task_dependents 写入
设置依赖于该任务的其他任务。
asana_create_subtask 写入
为现有任务创建新的子任务。
asana_get_multiple_tasks_by_gid 只读
通过 GID 获取多个任务的详细信息(最多 25 个)。
asana_get_project_status 只读
获取项目状态更新。
asana_get_project_statuses 只读
获取项目的所有状态更新。
asana_create_project_status 写入
为项目创建新的状态更新。
asana_delete_project_status 破坏性
删除项目状态更新。
asana_set_parent_for_task 写入
设置任务的父任务并调整其位置。
asana_get_tag 只读
获取特定标签的详细信息。
asana_get_tags_for_task 只读
获取任务的标签。
asana_get_tasks_for_tag 只读
获取特定标签下的任务列表。
asana_get_tags_for_workspace 只读
获取工作区中的标签。
asana_update_tag 写入
更新现有标签。
asana_delete_tag 破坏性
删除标签。
asana_create_tag_for_workspace 写入
在工作区中创建新标签。
asana_add_tag_to_task 写入
将标签添加到任务。
asana_remove_tag_from_task 写入
从任务中移除标签。
asana_add_project_to_task 写入
将现有任务添加到项目中。
asana_remove_project_from_task 写入
从项目中移除任务。
asana_delete_task 破坏性
永久删除任务。
asana_create_project 写入
在工作区或团队中创建新项目。
asana_update_project 写入
更新项目详细信息(如名称、描述等)。
asana_create_section 写入
在项目中创建新分区。
asana_update_section 写入
更新分区(重命名)。
asana_delete_section 破坏性
从项目中删除分区。
asana_add_task_to_section 写入
将任务移动到项目内的分区。
asana_get_subtasks 只读
获取给定任务的所有子任务。
asana_get_tasks_for_project 只读
获取项目中的所有任务(适用于免费版 Asana 计划)。
asana_get_my_tasks 只读
从已认证用户的“我的任务”列表中获取任务。

使用场景

查询未完成的任务、按项目或标签筛选任务、获取任务详情。
创建任务、子任务,添加评论,更新任务状态。
管理项目、分区、标签,以及项目状态。

支持客户端

Claude Desktop
Claude Code
Codex

依据项目文档列出,未经本站实测。

详细介绍

此 MCP 服务器作为 Asana API 的桥接,允许 MCP 客户端(如 Anthropic 的 Claude Desktop)与用户的 Asana 工作区交互。它提供 41 个工具、3 个提示词和 2 个资源,覆盖项目管理的核心功能:工作区、项目、任务、子任务、部分、标签、评论、状态更新等。

同类可选方案

源版本 c4508aac54e2 数据同步于 2026-10-12 查看 FMRS 评分方法