返回市场
trello-mcp-服务器

trello-mcp-服务器

作者:v4lheru20 星标更新:2025-07-23

项目介绍

Trello MCP 服务器

一个基于模型上下文协议(MCP)的服务器,提供与Trello API交互的工具。构建于通用MCP服务器模板之上。

<a href="https://glama.ai/mcp/servers/@v4lheru/trello-mcp-server"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=3793142698,2376546885&fm=3081&app=3081&f=PNG?w=760&h=400" alt="trello-mcp-server MCP服务器" /> </a>

特性

  • Trello集成:完全访问Trello看板、列表、卡片等
  • 全面API支持:支持所有主要的Trello操作
  • 模块化架构:清晰的责任分离和良好的结构定义
  • 类型安全:完整的TypeScript支持,并对Trello对象进行适当的类型定义
  • 错误处理:在整个代码库中具有强大的错误管理

项目结构

trello-mcp-server/
├── src/
│   ├── services/       # 用于Trello API交互的服务类
│   │   ├── base-service.ts        # 具有通用功能的抽象基础服务
│   │   ├── trello-service.ts      # 核心Trello API服务
│   │   ├── board-service.ts       # Trello看板服务
│   │   ├── list-service.ts        # Trello列表服务
│   │   ├── card-service.ts        # Trello卡片服务
│   │   ├── member-service.ts      # Trello成员服务
│   │   ├── label-service.ts       # Trello标签服务
│   │   ├── checklist-service.ts   # Trello检查清单服务
│   │   └── service-factory.ts     # 创建服务实例的工厂
│   ├── tools/          # MCP工具定义和处理器
│   │   ├── board-tools.ts         # 看板工具定义
│   │   ├── board-tool-handlers.ts # 看板工具处理器
│   │   ├── list-tools.ts          # 列表工具定义
│   │   ├── list-tool-handlers.ts  # 列表工具处理器
│   │   ├── card-tools.ts          # 卡片工具定义
│   │   ├── card-tool-handlers.ts  # 卡片工具处理器
│   │   ├── member-tools.ts        # 成员工具定义
│   │   ├── member-tool-handlers.ts # 成员工具处理器
│   │   ├── label-tools.ts         # 标签工具定义
│   │   ├── label-tool-handlers.ts # 标签工具处理器
│   │   ├── checklist-tools.ts     # 检查清单工具定义
│   │   ├── checklist-tool-handlers.ts # 检查清单工具处理器
│   │   ├── trello-tools.ts        # 组合工具定义
│   │   └── trello-tool-handlers.ts # 组合工具处理器
│   ├── types/          # TypeScript类型定义
│   │   └── trello-types.ts        # Trello类型定义
│   ├── config.ts       # 配置管理
│   └── index.ts        # 主入口点
├── .env.example        # 示例环境变量
├── package.json        # 项目依赖和脚本
├── tsconfig.json       # TypeScript配置
└── README.md           # 项目文档

开始使用

前提条件

  • Node.js 18或更高版本
  • npm 或 yarn
  • Trello API密钥和令牌

安装

  1. 克隆此仓库:

    git clone https://github.com/yourusername/trello-mcp-server.git
    cd trello-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 根据 .env.example 创建 .env 文件:

    cp .env.example .env
    
  4. 使用您的Trello API密钥和令牌编辑 .env 文件:

    TRELLO_API_KEY=your_trello_api_key
    TRELLO_TOKEN=your_trello_token
    

    您可以从Trello开发者门户获取这些信息。

构建和运行

  1. 构建项目:

    npm run build
    
  2. 运行服务器:

    npm start
    

可用工具

该服务器提供了与所有主要Trello资源交互的工具:

看板工具

  • get_boards - 获取已认证用户的所有看板
  • get_board - 通过ID获取特定看板
  • create_board - 创建新的看板
  • update_board - 更新现有的看板
  • delete_board - 删除看板
  • get_board_lists - 获取看板上的所有列表
  • get_board_members - 获取看板的所有成员
  • get_board_labels - 获取看板上的所有标签
  • close_board - 关闭(归档)看板
  • reopen_board - 重新打开已关闭的看板

列表工具

  • get_list - 通过ID获取特定列表
  • create_list - 在看板上创建新的列表
  • update_list - 更新现有的列表
  • archive_list - 归档列表
  • unarchive_list - 取消归档列表
  • move_list_to_board - 将列表移动到另一个看板
  • get_cards_in_list - 获取列表中的所有卡片
  • archive_all_cards - 归档列表中的所有卡片
  • move_all_cards - 将列表中的所有卡片移动到另一个列表
  • update_list_position - 更新列表在看板上的位置
  • update_list_name - 更新列表的名称
  • subscribe_to_list - 订阅列表

卡片工具

  • get_card - 通过ID获取特定卡片
  • create_card - 创建新的卡片
  • update_card - 更新现有的卡片
  • delete_card - 删除卡片
  • archive_card - 归档卡片
  • unarchive_card - 取消归档卡片
  • move_card_to_list - 将卡片移动到另一个列表
  • add_comment - 向卡片添加评论
  • get_comments - 获取卡片上的评论
  • add_attachment - 向卡片添加附件
  • get_attachments - 获取卡片上的附件
  • delete_attachment - 从卡片删除附件
  • add_member - 向卡片添加成员
  • remove_member - 从卡片移除成员
  • add_label - 向卡片添加标签
  • remove_label - 从卡片移除标签
  • set_due_date - 设置卡片的到期日期
  • set_due_complete - 标记卡片的到期日期为完成或未完成

成员工具

  • get_me - 获取已认证成员(当前用户)
  • get_member - 通过ID或用户名获取特定成员
  • get_member_boards - 获取成员所属的看板
  • get_member_cards - 获取分配给成员的卡片
  • get_boards_invited - 获取成员被邀请的看板
  • get_member_organizations - 获取成员所属的组织
  • get_notifications - 获取已认证成员的通知
  • update_me - 更新已认证成员的信息
  • get_avatar - 获取已认证成员的头像
  • search_members - 按名称搜索成员
  • get_board_members - 获取看板的成员
  • get_organization_members - 获取组织的成员
  • get_card_members - 获取分配给卡片的成员

标签工具

  • get_label - 通过ID获取特定标签
  • create_label - 在看板上创建新的标签
  • update_label - 更新现有的标签
  • delete_label - 删除标签
  • get_board_labels - 获取看板上的所有标签
  • update_label_name - 更新标签的名称
  • update_label_color - 更新标签的颜色
  • create_label_on_card - 直接在卡片上创建新的标签
  • get_card_labels - 获取卡片上的所有标签
  • add_label_to_card - 向卡片添加标签
  • remove_label_from_card - 从卡片移除标签

检查清单工具

  • get_checklist - 通过ID获取特定检查清单
  • create_checklist - 在卡片上创建新的检查清单
  • update_checklist - 更新现有的检查清单
  • delete_checklist - 删除检查清单
  • get_checkitems - 获取检查清单上的所有检查项
  • create_checkitem - 在检查清单上创建新的检查项
  • get_checkitem - 获取检查清单上的特定检查项
  • update_checkitem - 更新检查清单上的检查项
  • delete_checkitem - 从检查清单删除检查项
  • update_checklist_name - 更新检查清单的名称
  • update_checklist_position - 更新检查清单在卡片上的位置
  • get_checklist_board - 获取检查清单所在的看板
  • get_checklist_card - 获取检查清单所在的卡片
  • update_checkitem_state_on_card - 更新卡片上检查项的状态

配置

服务器使用集中式配置系统,在 src/config.ts 中。配置可以通过以下方式提供:

  • 环境变量
  • 命令行参数(使用 --env KEY=VALUE
  • 代码中的默认值

所需环境变量:

  • TRELLO_API_KEY - 您的Trello API密钥
  • TRELLO_TOKEN - 您的Trello API令牌

错误处理

服务器包括全面的错误处理:

  • 支持速率限制的服务级错误处理
  • 工具级错误处理,带有正确的错误消息
  • MCP协议错误处理
  • Trello API错误处理

许可证

该项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。