MCP Server for Asana

MCP Server for Asana

site icon
2025.04.08 56
TypeScript项目管理团队协作任务管理交流协作日程管理
mcp-server-asana 是一个基于 Model Context Protocol (MCP) 的 Asana API 服务实现,允许用户通过 MCP 客户端(如 Anthropic 的 Claude 桌面应用)与 Asana 进行交互。该服务提供了丰富的工具集,用于管理 Asana 中的任务、项目、工作区、评论等,适用于团队协作和项目管理场景。
View on GitHub

Overview

基本能力

产品定位

mcp-server-asana 是一个连接 MCP 客户端与 Asana API 的桥梁,旨在通过自然语言交互简化 Asana 项目管理操作。

核心功能

  1. 工作区管理:列出所有可用工作区 (asana_list_workspaces)
  2. 项目管理
  3. 搜索项目 (asana_search_projects)
  4. 获取项目详情 (asana_get_project)
  5. 获取项目任务统计 (asana_get_project_task_counts)
  6. 获取项目分区 (asana_get_project_sections)
  7. 管理项目状态 (asana_get_project_status, asana_create_project_status)
  8. 任务管理
  9. 搜索任务 (asana_search_tasks)
  10. 获取任务详情 (asana_get_task)
  11. 创建任务 (asana_create_task)
  12. 更新任务 (asana_update_task)
  13. 管理子任务 (asana_create_subtask, asana_set_parent_for_task)
  14. 管理任务依赖 (asana_add_task_dependencies, asana_add_task_dependents)
  15. 评论管理
  16. 获取任务评论 (asana_get_task_stories)
  17. 创建评论 (asana_create_task_story)
  18. 标签管理
  19. 获取标签任务 (asana_get_tasks_for_tag)
  20. 获取工作区标签 (asana_get_tags_for_workspace)

适用场景

  1. 团队项目管理
  2. 任务跟踪与分配
  3. 项目进度监控
  4. 团队协作与沟通

工具列表

  1. asana_list_workspaces - 列出所有可用工作区
  2. asana_search_projects - 按名称模式搜索项目
  3. asana_search_tasks - 使用高级筛选选项搜索任务
  4. asana_get_task - 获取任务详细信息
  5. asana_create_task - 在项目中创建新任务
  6. asana_get_task_stories - 获取任务评论和故事
  7. asana_update_task - 更新任务详细信息
  8. asana_get_project - 获取项目详细信息
  9. asana_get_project_task_counts - 获取项目任务计数
  10. asana_get_project_sections - 获取项目分区
  11. asana_create_task_story - 在任务上创建评论或故事
  12. asana_add_task_dependencies - 设置任务依赖项
  13. asana_add_task_dependents - 设置任务依赖者
  14. asana_create_subtask - 为现有任务创建子任务
  15. asana_get_multiple_tasks_by_gid - 按 GID 获取多个任务的详细信息
  16. asana_get_project_status - 获取项目状态更新
  17. asana_get_project_statuses - 获取项目的所有状态更新
  18. asana_create_project_status - 创建新的项目状态更新
  19. asana_delete_project_status - 删除项目状态更新
  20. asana_set_parent_for_task - 设置任务的父级并定位子任务
  21. asana_get_tasks_for_tag - 获取特定标签的任务
  22. asana_get_tags_for_workspace - 获取工作区中的标签

常见问题解答

  1. 权限问题
  2. 确保您的 Asana 计划允许 API 访问
  3. 确认访问令牌和配置在 claude_desktop_config.json 中正确设置

  4. 安装问题

  5. 确保已安装 Node.js 和 npm
  6. 确保已创建 Asana 账户并获取访问令牌

使用教程

使用依赖

  1. Node.js 和 npm
  2. 确保已安装 Node.js 和 npm
  3. 可以通过以下命令检查版本: bash node -v npm -v

  4. Asana 账户

  5. 访问 Asana 并创建账户

  6. Asana 访问令牌

  7. 从 Asana 开发者控制台生成个人访问令牌
  8. 访问:https://app.asana.com/0/my-apps
  9. 更多详情:https://developers.asana.com/docs/personal-access-token

安装教程

  1. 配置 Claude Desktop: 在 claude_desktop_config.json 中添加以下内容: json { "mcpServers": { "asana": { "command": "npx", "args": ["-y", "@roychri/mcp-server-asana"], "env": { "ASANA_ACCESS_TOKEN": "your-asana-access-token" } } } }

  2. 安装 beta 版本(可选)

  3. 使用 @roychri/mcp-server-asana@beta
  4. 检查当前 beta 版本:
    • https://www.npmjs.com/package/@roychri/mcp-server-asana?activeTab=versions
    • 或运行:npm dist-tag ls @roychri/mcp-server-asana

调试方式

  1. 本地测试: 使用 MCP Inspector 进行本地测试: bash npm run inspector 这将客户端暴露在端口 5173,服务器暴露在端口 3000

  2. 自定义端口: 如果端口已被占用,可以使用: bash CLIENT_PORT=5009 SERVER_PORT=3009 npm run inspector

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。