← 返回目录
A

Asana MCP Server

社区
通过 MCP 连接 Asana,实现任务、项目、评论和标签的管理。
GitHub 源仓库 ↗
★ 147 Stars 分类 · 团队协作 热门 源版本 c4508aac54e2
41FMRS · D
可靠性
4/20
安全与权限
7/20
维护活跃度
5/20
文档质量
12/20
安装易用性
13/20

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

查看 FMRS 评分方法 →

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

工具能力

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
获取项目的详细信息。
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
从已认证用户的“我的任务”列表中获取任务。

安装接入

  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"
      }
    }
  }
}

选型与风险

适合谁

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

不适合谁

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

所需权限

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

风险与副作用

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

常见排障

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

使用场景

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

支持客户端

Claude Desktop完整支持
Claude Code完整支持
Codex CLI完整支持