项目简介
本项目是一个 Model Context Protocol (MCP) 服务器,旨在连接大型语言模型 (LLM) 应用与 Asana 项目管理平台。通过此服务器,LLM 应用(如 Claude)可以利用预定义的工具和 Prompt 模板,以自然语言交互的方式访问和操作 Asana 中的任务、项目和工作区数据,从而实现智能化的任务管理和工作流程自动化。
主要功能点
- 工具 (Tools):提供丰富的工具集,允许 LLM 应用执行以下 Asana 操作:
- 工作区管理:列出 Asana 工作区。
- 项目管理:搜索项目、获取项目详情、获取项目任务计数、获取项目 sections。
- 任务管理:搜索任务(支持高级筛选条件)、获取任务详情、创建任务、更新任务、创建子任务、批量获取任务详情。
- 任务关系管理:添加任务依赖、添加任务被依赖项。
- 任务评论/故事管理:获取任务评论和故事、创建任务评论/故事。
- Prompt 模板 (Prompts):提供 'task-summary' Prompt 模板,用于生成任务的摘要和状态更新报告。
- 标准化协议:基于 MCP 协议标准构建,确保与各种 MCP 客户端的兼容性。
- Stdio 传输:使用标准的 Stdio (标准输入输出) 作为 MCP 服务器的传输协议。
安装步骤
- 前提条件:确保已安装 Node.js 和 npm (或 yarn)。
- 克隆仓库:
git clone https://github.com/MCP-Mirror/roychri_mcp-server-asana.git cd roychri_mcp-server-asana - 安装依赖:
npm install
服务器配置 (MCP 客户端配置)
以下配置信息用于配置 MCP 客户端 (例如 Claude Desktop) 以连接到此 MCP 服务器。您需要将以下 JSON 代码添加到您的 MCP 客户端配置文件中。
{ "mcpServers": { "asana": { // server name:您可以自定义服务器名称,例如 "asana" "command": "npx", // command: 启动服务器的命令,这里使用 npx (Node Package Execute) "args": ["-y", "@roychri/mcp-server-asana"], // args: 传递给 command 的参数,用于执行 @roychri/mcp-server-asana npm 包,-y 参数用于自动确认执行 "env": { "ASANA_ACCESS_TOKEN": "YOUR_ASANA_PERSONAL_ACCESS_TOKEN" // env: 环境变量配置 // ASANA_ACCESS_TOKEN: 您的 Asana Personal Access Token,**请务必替换为您的真实 Token**。 // 获取 Asana Personal Access Token 的步骤请参考仓库 README.md 文件或 Asana 开发者文档。 } } } }
请注意:
- 'YOUR_ASANA_PERSONAL_ACCESS_TOKEN' 需要替换为您在 Asana 开发者控制台生成的 Personal Access Token。请务必保管好您的 Token,避免泄露。
- 'command' 和 'args' 的配置适用于大多数基于 Node.js 的 MCP 客户端。如果您的客户端配置方式不同,请参考其官方文档进行调整。
基本使用方法
-
配置 Asana Access Token:
- 按照 服务器配置 中的说明,在 MCP 客户端的配置文件中正确设置 'ASANA_ACCESS_TOKEN' 环境变量。
-
启动 MCP 客户端:
- 启动您配置好的 MCP 客户端 (例如 Claude Desktop)。客户端会自动连接到 MCP 服务器。
-
与 LLM 交互:
- 在 LLM 应用中,您可以开始提问或发出指令,例如:
- "列出我 Asana 工作区中未完成的任务"
- "在 'Sprint 30' 项目中创建名为 '撰写项目报告' 的任务,截止日期是下周五"
- "总结任务 ID 为 '123456789' 的任务"
- 在提问时,可以提及 "asana" 关键词,以提高 LLM 选择 Asana 工具的概率。
- 在 LLM 应用中,您可以开始提问或发出指令,例如:
通过以上步骤,您就可以利用此 MCP 服务器,在 LLM 应用中方便地管理您的 Asana 工作项。
信息
分类
生产力应用