项目简介
mcp-asana 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为语言模型(LLM)提供与 Asana 任务和项目管理系统集成的能力。通过此服务器,LLM 可以创建、检索、更新和删除 Asana 中的任务和项目,从而实现工作流程自动化和更智能的任务管理。
主要功能点
- 任务管理:
- 创建新的 Asana 任务,可指定名称、描述、截止日期、负责人和所属项目。
- 列出项目中的任务。
- 更新现有 Asana 任务的名称、描述、截止日期、负责人和完成状态。
- 删除 Asana 任务。
- 项目管理:
- 创建新的 Asana 项目,可设置名称、备注、颜色和可见性。
- 列出工作区中的所有项目。
- 删除 Asana 项目。
安装步骤
-
克隆仓库
git clone https://github.com/wwwaldo/mcp-asana cd mcp-asana -
安装依赖 确保已安装 Node.js (v14 或更高版本) 和 npm。
npm install -
配置环境变量 复制 '.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。
-
构建项目
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' 文件的实际绝对路径。
基本使用方法
-
启动服务器 使用以下命令启动 MCP Asana 服务器 (使用 stdio 传输协议):
npm start或使用开发模式启动,支持代码自动重载:
npm run dev -
使用客户端与服务器交互 您可以使用仓库自带的 '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" 部分。
-
集成到 LLM 客户端 配置好 MCP 客户端后,LLM 即可通过 MCP 协议调用此 Asana MCP 服务器提供的工具,例如 'create-task', 'list-tasks', 'create-project', 'list-projects' 等,从而实现与 Asana 的集成和自动化操作。具体工具和参数定义请参考 'README.md' 文档的 "API" 部分。
信息
分类
生产力应用