Trello MCP 服务器
模型上下文协议 (MCP) 服务器,提供与 Trello API 交互的工具。基于通用 MCP 服务器模板构建。
特征
- Trello 集成:完全访问 Trello 板、列表、卡片等
- 全面的 API 覆盖:支持所有主要的 Trello 操作
- 模块化架构:通过定义明确的结构明确地分离关注点
- 类型安全:完全支持 TypeScript,并为 Trello 对象提供正确的类型
- 错误处理:整个代码库的强大错误管理
项目结构
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
- 安装依赖项:
- 根据
.env.example
创建.env
文件: - 使用您的 Trello API 密钥和令牌编辑
.env
文件:TRELLO_API_KEY=your_trello_api_key
TRELLO_TOKEN=your_trello_token
您可以从Trello 开发者门户获取这些。
构建和运行
- 构建项目:
- 运行服务器:
可用工具
该服务器提供与所有主要 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文件。