Asana Integration Server 使用说明

项目简介

Asana Integration Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在将 Asana 项目管理工具的功能集成到支持 MCP 协议的 LLM 应用中,例如 Anthropic 的 Claude Desktop。通过该服务器,用户可以使用自然语言与 Asana 进行交互,例如查询任务、创建任务、获取项目状态等,从而提升工作效率。

主要功能点

  • 工作区管理: 支持列出 Asana 工作区。
  • 项目管理: 支持搜索项目、获取项目详情、获取项目任务计数、获取项目 sections、获取项目状态更新、创建和删除项目状态更新。
  • 任务管理: 功能丰富,支持搜索任务(高级筛选)、获取任务详情、创建任务和子任务、更新任务信息、获取任务评论和故事、设置任务依赖关系、设置任务父任务、批量获取任务。
  • 标签管理: 支持获取标签列表、获取指定标签的任务。
  • Prompt 模板: 提供预定义的 Prompt 模板,例如用于生成任务摘要和状态更新,方便用户快速获取所需信息。

总而言之,该服务器提供了丰富的工具集,覆盖了 Asana API 的核心功能,使得 LLM 客户端能够灵活、深入地与 Asana 集成。

安装步骤

  1. 前提条件: 确保已安装 Node.js 和 npm (或 yarn)。
  2. 获取代码: 克隆 GitHub 仓库 'https://github.com/roychri/mcp-server-asana' 到本地。
  3. 安装依赖: 在仓库根目录下,打开终端并运行 'npm install' 或 'yarn install' 安装项目依赖。
  4. 配置 Asana Access Token: 前往 Asana 开发者控制台 创建 Personal Access Token,并将其设置为环境变量 'ASANA_ACCESS_TOKEN'。例如,在终端中执行 'export ASANA_ACCESS_TOKEN=你的Asana个人访问令牌' (Linux/macOS) 或在系统环境变量中设置 (Windows)。

服务器配置 (MCP 客户端)

对于 MCP 客户端 (如 Claude Desktop),需要在其配置文件中添加 Asana MCP Server 的配置信息。以下是一个 'claude_desktop_config.json' 的配置示例:

{
  "mcpServers": {
    "asana": {
      "command": "npx",
      "args": ["-y", "@roychri/mcp-server-asana"],
      "env": {
        "ASANA_ACCESS_TOKEN": "your-asana-access-token"  // 替换为你的 Asana Personal Access Token 环境变量名,这里直接使用 "ASANA_ACCESS_TOKEN" 即可
      }
    }
  }
}

配置参数说明:

  • 'server name': 'asana' (用户自定义,在客户端中用于标识该服务器)
  • 'command': 'npx' (Node.js 包执行器,用于运行 npm 包)
  • 'args': '["-y", "@roychri/mcp-server-asana"]' (运行 '@roychri/mcp-server-asana' npm 包,'-y' 参数用于自动确认安装包)
  • 'env': '{"ASANA_ACCESS_TOKEN": "your-asana-access-token"}' (设置环境变量,'ASANA_ACCESS_TOKEN' 应与你在步骤4中设置的环境变量名一致)

注意: 请确保 'ASANA_ACCESS_TOKEN' 环境变量已正确设置,MCP 服务器将从中读取 Asana API 的访问令牌。

基本使用方法

  1. 启动服务器: 在仓库根目录下,运行 'npm start' 命令启动 Asana MCP Server。服务器默认通过 stdio 与 MCP 客户端通信。
  2. 在 MCP 客户端中使用: 在支持 MCP 协议的 LLM 应用 (如 Claude Desktop) 中,配置并启用 "asana" 服务器后,即可通过自然语言指令与 Asana 进行交互。例如,在 Claude Desktop 中提问: "What are my overdue tasks in Asana?" 或 "Summarize the 'Project X' task status in Asana." 提及 "asana" 关键词有助于 LLM 识别并调用相应的工具。

故障排除

如果遇到权限错误,请检查你的 Asana 账户类型是否允许 API 访问,并确认 'ASANA_ACCESS_TOKEN' 配置正确。

信息

分类

生产力应用