项目简介

mcp-asana 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为语言模型(LLM)提供与 Asana 任务和项目管理系统集成的能力。通过此服务器,LLM 可以创建、检索、更新和删除 Asana 中的任务和项目,从而实现工作流程自动化和更智能的任务管理。

主要功能点

  • 任务管理:
    • 创建新的 Asana 任务,可指定名称、描述、截止日期、负责人和所属项目。
    • 列出项目中的任务。
    • 更新现有 Asana 任务的名称、描述、截止日期、负责人和完成状态。
    • 删除 Asana 任务。
  • 项目管理:
    • 创建新的 Asana 项目,可设置名称、备注、颜色和可见性。
    • 列出工作区中的所有项目。
    • 删除 Asana 项目。

安装步骤

  1. 克隆仓库

    git clone https://github.com/wwwaldo/mcp-asana
    cd mcp-asana
  2. 安装依赖 确保已安装 Node.js (v14 或更高版本) 和 npm。

    npm install
  3. 配置环境变量 复制 '.env.example' 文件并重命名为 '.env',然后根据您的 Asana 账户信息进行配置。

    cp .env.example .env

    编辑 '.env' 文件,填入您的 Asana Personal Access Token、默认项目 ID 和工作区 ID。

    ASANA_ACCESS_TOKEN=您的_Asana_Personal_Access_Token
    ASANA_PROJECT_ID=您的_Asana_项目_ID
    ASANA_WORKSPACE_ID=您的_Asana_工作区_ID

    您可以使用 'listWorkspaces.js' 和 'listAllProjects.js' 脚本来查找您的 Asana 工作区和项目 ID。

  4. 构建项目

    npm run build

服务器配置

要将此 MCP 服务器集成到 MCP 客户端,您需要在客户端的 MCP 配置中添加以下 JSON 配置。 这段配置告诉 MCP 客户端如何启动和连接到 Asana MCP 服务器。

{
  "asana": {
    "command": "node",  // 启动服务器的命令,这里使用 Node.js 运行时
    "args": [          // 传递给命令的参数,用于指定服务器入口文件
      "/path/to/mcp-asana/dist/server.js" //  服务器入口文件 server.js 的绝对路径。请替换为实际路径
    ]
  }
}

注意:

  • 请将 '/path/to/mcp-asana/dist/server.js' 替换为您 'mcp-asana' 仓库 'dist/server.js' 文件的实际绝对路径。

基本使用方法

  1. 启动服务器 使用以下命令启动 MCP Asana 服务器 (使用 stdio 传输协议):

    npm start

    或使用开发模式启动,支持代码自动重载:

    npm run dev
  2. 使用客户端与服务器交互 您可以使用仓库自带的 'simple-client.sh' 脚本或 'direct-client.js' (需要使用 'node direct-client.js <command> <arguments>') 进行简单的命令行交互来测试服务器的功能。 例如,创建新任务:

    ./simple-client.sh create-task "我的测试任务" "任务描述" "2024-12-31" "" "您的_Asana_项目_ID"

    或列出项目中的任务:

    ./simple-client.sh list-tasks

    更多命令和参数请参考 'README.md' 文档的 "Usage" 和 "API" 部分。

  3. 集成到 LLM 客户端 配置好 MCP 客户端后,LLM 即可通过 MCP 协议调用此 Asana MCP 服务器提供的工具,例如 'create-task', 'list-tasks', 'create-project', 'list-projects' 等,从而实现与 Asana 的集成和自动化操作。具体工具和参数定义请参考 'README.md' 文档的 "API" 部分。

信息

分类

生产力应用