trello-mcp-server
连接到 Trello,并使用我在 API 参考中找到的所有可用工具。
README
Trello MCP 服务器
一个模型上下文协议 (MCP) 服务器,提供与 Trello API 交互的工具。构建于通用 MCP 服务器模板之上。
特性
- 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 密钥和令牌
安装
-
克隆此存储库:
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 文件。
推荐服务器
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Playwright MCP Server
提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。
Apple MCP Server
通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。
contentful-mcp
在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。
serper-search-scrape-mcp-server
这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置信息。
The Verge News MCP Server
提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。
@kazuph/mcp-gmail-gas
用于 Gmail 集成的模型上下文协议 (Model Context Protocol, MCP) 服务器。它允许 Claude Desktop(或任何 MCP 客户端)通过 Google Apps Script 与您的 Gmail 帐户进行交互。
MCP Server Trello
通过 Trello API 促进与 Trello 看板的交互,提供速率限制、类型安全、输入验证和错误处理等功能,以实现对卡片、列表和看板活动的无缝管理。
MCP DuckDB Knowledge Graph Memory Server
一个为 Claude 设计的记忆服务器,它使用 DuckDB 存储和检索知识图谱数据,从而增强了对话的性能和查询能力,并能持久保存用户信息。