Trello连接器
连接到Trello,使用了我在API参考中找到的所有可用工具。
服务介绍
Trello MCP 服务器
这是一个基于 Model Context Protocol (MCP) 的服务器,提供了与 Trello API 交互的工具。构建于通用 MCP 服务器模板之上。
功能
- Trello 集成:完全访问 Trello 看板、列表、卡片等
- 全面的 API 覆盖:支持所有主要的 Trello 操作
- 模块化架构:清晰的责任分离和明确的结构
- 类型安全:对 Trello 对象提供完整的 TypeScript 支持
- 错误处理:整个代码库中强大的错误管理
项目结构
trello-mcp-server/
├── src/
│ ├── services/ # Service classes for Trello API interactions
│ │ ├── base-service.ts # Abstract base service with common functionality
│ │ ├── trello-service.ts # Core Trello API service
│ │ ├── board-service.ts # Service for Trello boards
│ │ ├── list-service.ts # Service for Trello lists
│ │ ├── card-service.ts # Service for Trello cards
│ │ ├── member-service.ts # Service for Trello members
│ │ ├── label-service.ts # Service for Trello labels
│ │ ├── checklist-service.ts # Service for Trello checklists
│ │ └── service-factory.ts # Factory for creating service instances
│ ├── tools/ # MCP tool definitions and handlers
│ │ ├── board-tools.ts # Board tool definitions
│ │ ├── board-tool-handlers.ts # Board tool handlers
│ │ ├── list-tools.ts # List tool definitions
│ │ ├── list-tool-handlers.ts # List tool handlers
│ │ ├── card-tools.ts # Card tool definitions
│ │ ├── card-tool-handlers.ts # Card tool handlers
│ │ ├── member-tools.ts # Member tool definitions
│ │ ├── member-tool-handlers.ts # Member tool handlers
│ │ ├── label-tools.ts # Label tool definitions
│ │ ├── label-tool-handlers.ts # Label tool handlers
│ │ ├── checklist-tools.ts # Checklist tool definitions
│ │ ├── checklist-tool-handlers.ts # Checklist tool handlers
│ │ ├── trello-tools.ts # Combined tool definitions
│ │ └── trello-tool-handlers.ts # Combined tool handlers
│ ├── types/ # TypeScript type definitions
│ │ └── trello-types.ts # Trello type definitions
│ ├── config.ts # Configuration management
│ └── index.ts # Main entry point
├── .env.example # Example environment variables
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentation
开始使用
前提条件
- Node.js 18 或更高版本
- npm 或 yarn
- Trello API 密钥和令牌
安装
-
克隆此仓库:
git clone https://github.com/yourusername/trello-mcp-server.git cd trello-mcp-server -
安装依赖项:
npm install -
根据
.env.example创建一个.env文件:cp .env.example .env -
使用您的 Trello API 密钥和令牌编辑
.env文件:TRELLO_API_KEY=your_trello_api_key TRELLO_TOKEN=your_trello_token您可以从 Trello 开发者门户 获取这些信息。
构建和运行
-
构建项目:
npm run build -
运行服务器:
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 文件。