Asana任务管理服务器

一个为AI助手提供与Asana项目管理平台交互的标准化接口的模型上下文协议服务器。

  • by rungtruong
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 rungtruong/asana-mcp

使用说明

Asana MCP服务器

提供与Asana项目管理平台集成的模型上下文协议(MCP)服务器。该服务器使AI助手能够通过标准化的界面与Asana任务、项目和工作空间进行交互。

特性

  • 任务管理:创建、读取、更新和删除Asana任务
  • 子任务支持:全力支持Asana子任务
  • 项目管理:创建和管理Asana项目
  • 部门组织:在项目中创建部分并组织任务
  • 依赖项:添加和管理任务依赖关系
  • 实时集成:与Asana的API直接集成

建筑

此MCP服务器遵循类似于atlasian MCP项目的模块化架构:

src/
├── core/                 # Core business logic
│   ├── services/        # Service layer for API interactions
│   │   └── asana/       # Asana-specific services
│   ├── tools/           # MCP tool definitions
│   ├── resources/       # MCP resources (future)
│   ├── prompts/         # MCP prompts (future)
│   └── *.ts            # Core registries
├── server/              # Server initialization
└── index.ts            # Main entry point

安装

  1. 克隆存储库:
git clone <repository-url>
cd asana-mcp
  1. 安装依赖项:
npm install
  1. 通过创建 .env 文件:
ASANA_TOKEN=your_asana_personal_access_token
ASANA_WORKSPACE_ID=your_workspace_id
ASANA_PROJECT_ID=your_default_project_id  # Optional

用法

发展

npm run dev

生产

npm run build
npm start

可用工具

任务管理

  • create-task -创建新的Asana任务
  • get-task -获取特定Asana任务的详细信息
  • list-tasks -列出任务(可选择按项目筛选)
  • update-task -更新现有任务
  • delete-task -删除任务

子任务管理

  • create-subtask -为现有任务创建子任务
  • list-subtasks -列出父任务的子任务
  • update-subtask -更新现有子任务
  • delete-subtask -删除子任务
  • reorder-subtask -通过更改子任务的位置重新排序子任务

项目管理

  • create-project -创建一个新的Asana项目
  • list-projects -列出所有项目
  • delete-project -删除项目

组织

  • create-section -在项目中创建节
  • add-task-to-section -将任务添加到特定部分

依赖项

  • add-dependencies -向任务添加依赖项
  • remove-dependencies -从任务中删除依赖项
  • get-dependencies -获取任务的依赖关系

配置

环境变量

  • ASANA_TOKEN:您的Asana个人访问令牌(必填)
  • ASANA_WORKSPACE_ID:您的Asana工作区ID(必填)
  • ASANA_PROJECT_ID:任务创建的默认项目ID(可选)

获取Asana证书

  1. 首选 Asana开发者控制台
  2. 创建新的个人访问令牌
  3. 通过在浏览器中访问Asana工作区并从URL复制ID来查找您的工作区ID

示例

创建任务

// Using the MCP tool
{
  "name": "create-task",
  "arguments": {
    "name": "Review documentation",
    "description": "Review and update the project documentation",
    "dueDate": "2025-01-15",
    "project": "1234567890"
  }
}

列出项目中的任务

{
  "name": "list-tasks",
  "arguments": {
    "projectId": "1234567890"
  }
}

发展

项目结构

  • 服务:中的业务逻辑和API交互 src/core/services/
  • 工具:MCP工具定义 src/core/tools/
  • 服务器:中的服务器初始化 src/server/

添加新功能

  1. 在中添加服务方法 src/core/services/asana/asana-service.ts
  2. 在中创建工具定义 src/core/tools/asana-tools.ts
  3. 在中注册工具 src/core/tools.ts

许可证

麻省理工学院

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

支持

对于问题和功能请求,请使用GitHub问题跟踪器。