内容
# Trello MCP 服务器
一个提供与Trello板块、列表和卡片集成<Model Context Protocol(MCP)>服务器。该服务器通过MCP工具和资源公开Trello功能,允许AI助手与Trello数据交互。
## 功能
### 当前实现(v1)
- ✅ HTTP/SSE MCP 传输
- ✅ 携带者令牌认证
- ✅ 速率限制和错误处理
- ✅ 板块管理工具
- ✅ 板块资源提供者
- ✅ 列表管理工具
- ✅ 列表资源提供者
- ✅ 卡片管理工具
- ✅ 卡片资源提供者
- ✅ 评论管理
- ✅ 标签和成员分配
- ✅ 附件管理
- ✅ 清单管理工具
- ✅ 清单资源提供者
- ✅ 检查项操作
- ✅ 进度跟踪
- ✅ 标签管理工具
- ✅ 标签资源提供者
- ✅ 颜色可视化
- ✅ 使用情况分析
- ✅ 搜索功能
- ✅ 高级分析
- ✅ 生产力指标
- ✅ 团队协作洞察
- ✅ 组织管理
- ✅ 成员权限控制
- ✅ 企业级管理
- ✅ 批量操作
- ✅ 自动化框架
- ✅ 预定操作
- ✅ Webhook集成
- ✅ 实时事件处理
- ✅ 事件流
- ✅ 高级报告和数据导出
- ✅ 自定义仪表板创建
- ✅ 预定报告自动化
### 板块工具
- `list_boards` - 列出所有可访问的板块
- `get_board` - 获取详细的板块信息
- `create_board` - 创建一个新的板块
- `update_board` - 更新板块属性
- `close_board` - 关闭/归档一个板块
- `reopen_board` - 重新打开一个已关闭的板块
- `delete_board` - 永久删除一个板块
### 列表工具
- `list_lists` - 列出板块上的所有列表
- `get_list` - 获取详细的列表信息
- `create_list` - 在板块上创建一个新的列表
- `update_list` - 更新列表属性
- `archive_list` - 归档一个列表
- `unarchive_list` - 取消归档一个列表
- `move_list` - 将列表移动到不同的位置
- `get_list_cards` - 获取列表中的所有卡片
### 卡片工具
- `get_card` - 获取详细的卡片信息
- `create_card` - 在列表中创建一个新的卡片
- `update_card` - 更新卡片属性
- `move_card` - 将卡片移动到不同的列表
- `archive_card` - 归档卡片
- `unarchive_card` - 取消归档卡片
- `delete_card` - 永久删除卡片
- `add_comment` - 向卡片添加评论
- `edit_comment` - 编辑现有的评论
- `delete_comment` - 删除评论
- `add_label_to_card` - 向卡片添加标签
- `remove_label_from_card` - 从卡片中删除标签
- `assign_member_to_card` - 将成员分配给卡片
- `remove_member_from_card` - 从卡片中删除成员
- `add_attachment_url` - 添加URL附件
- `remove_attachment` - 删除附件
- `get_card_actions` - 获取卡片活动历史
### 清单工具
- `get_checklist` - 获取详细的清单信息
- `add_checklist` - 向卡片添加新的清单
- `update_checklist` - 更新清单属性
- `delete_checklist` - 删除清单
- `get_checklists_on_card` - 获取卡片上的所有清单
- `add_checkitem` - 向清单添加新的项目
- `update_checkitem` - 更新清单项目(标记完成/不完成,重命名等)
- `delete_checkitem` - 从清单中删除项目
- `get_checkitems` - 获取清单中的所有项目并过滤
- `get_checkitem` - 获取详细的检查项目信息
### 标签工具
- `get_label` - 获取详细的标签信息
- `get_labels_on_board` - 获取板块上的所有标签
- `create_label` - 在板块上创建新的标签
- `update_label` - 更新标签属性(名称,颜色)
- `delete_label` - 删除标签
- `update_label_field` - 更新特定的标签字段
- `get_label_usage` - 获取标签使用情况统计和分析
- `bulk_update_labels` - 同时更新多个标签
- `get_cards_with_label` - 查找使用特定标签的所有卡片
### 搜索工具
- `search_trello` - 跨板块、卡片、成员和组织的综合搜索
- `search_boards` - 按名称和描述搜索板块并过滤
- `search_cards` - 高级卡片搜索并过滤(附件、到期日期、成员等)
- `search_members` - 按名称、用户名或电子邮件搜索成员
- `get_advanced_search` - 使用过滤器和排序的复杂搜索
- `get_saved_searches` - 获取已保存的搜索查询
- `create_saved_search` - 创建新的已保存搜索查询
### 分析工具
- `get_board_analytics` - 综合板块分析和指标
- `get_user_activity` - 用户活动分析和生产力跟踪
- `get_team_analytics` - 团队绩效和协作指标
- `get_workflow_analytics` - 工作流分析并检测瓶颈
- `get_label_analytics` - 标签使用情况分析和有效性
- `get_productivity_metrics` - 生产力指标(速度、质量、效率)
### 组织工具
- `get_organizations` - 获取成员的所有组织并过滤
- `get_organization` - 获取特定组织的详细信息
- `create_organization` - 创建新的组织工作区
- `update_organization` - 更新组织设置和首选项
- `delete_organization` - 删除组织工作区
- `get_organization_members` - 获取组织的所有成员
- `get_organization_boards` - 获取组织的所有板块
- `invite_member_to_organization` - 邀请新成员加入组织
- `update_organization_member` - 更新成员角色和权限
- `remove_organization_member` - 从组织中删除成员
- `deactivate_organization_member` - 停用/重新激活组织成员
- `get_organization_memberships` - 获取详细的成员信息
- `get_organization_membership` - 获取特定的成员信息
- `get_organization_analytics` - 综合组织分析
### 批量操作工具
- `batch_get_requests` - 在单个批次中执行多个GET请求(最多10个)
- `batch_create_cards` - 高效创建多个卡片(最多20个)
- `batch_update_cards` - 更新多个卡片的不同属性(最多20个)
- `batch_move_cards` - 在列表/板块之间移动多个卡片(最多50个)
- `batch_assign_members` - 将成员分配/从多个卡片中删除(最多30个)
- `batch_apply_labels` - 在多个卡片上应用/删除标签(最多30个)
- `archive_all_cards_in_list` - 一次归档列表中的所有卡片
- `move_all_cards_in_list` - 在列表/板块之间移动列表中的所有卡片
- `bulk_archive_cards` - 按ID归档多个卡片(最多100个)
- `bulk_unarchive_cards` - 按ID取消归档多个卡片(最多100个)
- `bulk_delete_cards` - 删除多个卡片并确认(最多50个)
### 自动化工具
- `create_automation_rule` - 创建具有触发器和操作的自动化规则
- `update_automation_rule` - 更新现有的自动化规则
- `delete_automation_rule` - 删除自动化规则
- `list_automation_rules` - 列出具有过滤的自动化规则
- `get_automation_rule` - 获取自动化规则的详细信息
- `test_automation_rule` - 测试针对特定卡片的规则
- `create_scheduled_action` - 创建基于时间的预定操作
- `update_scheduled_action` - 更新现有的预定操作
- `delete_scheduled_action` - 删除预定操作
- `list_scheduled_actions` - 列出具有过滤的预定操作
- `execute_scheduled_action` - 立即执行预定操作
- `get_automation_history` - 查看自动化执行历史
### Webhook工具
- `create_webhook` - 创建Webhook以监控Trello模型更改
- `list_webhooks` - 列出当前令牌的所有Webhook
- `get_webhook` - 获取详细的Webhook信息和配置
- `update_webhook` - 更新Webhook配置(URL,描述,活动状态)
- `delete_webhook` - 删除Webhook并停止接收事件
- `create_webhook_event_processor` - 创建自动事件处理程序
- `update_webhook_event_processor` - 更新事件处理器配置
- `delete_webhook_event_processor` - 删除Webhook事件处理器
- `list_webhook_event_processors` - 列出具有过滤的事件处理器
- `process_webhook_event` - 通过特定的处理器处理Webhook事件
- `get_webhook_events` - 获取模型的Webhook事件历史
### 实时集成工具
- `enable_real_time_sync` - 为模型启用实时同步
- `disable_real_time_sync` - 禁用实时同步
- `get_real_time_sync_status` - 获取模型的同步状态
### 导出和报告工具
- `export_board_data` - 以多种格式导出综合板块数据(CSV,JSON,PDF)
- `export_user_activity` - 导出用户活动和生产力报告,跨板块
- `export_organization_data` - 导出组织范围的数据,包括板块、成员和指标
- `generate_analytics_report` - 生成综合分析报告,提供洞察和建议
- `create_dashboard` - 创建自定义分析仪表板,配置小部件
- `update_dashboard` - 更新现有的仪表板配置和小部件
- `delete_dashboard` - 删除自定义仪表板和所有关联数据
- `get_dashboard` - 检索仪表板配置和实时小部件数据
- `list_dashboards` - 列出所有可用的仪表板并过滤选项
- `schedule_report` - 预定自动化报告生成和交付
- `update_scheduled_report` - 更新预定报告配置和收件人
- `delete_scheduled_report` - 删除预定报告并停止自动化交付
- `list_scheduled_reports` - 列出所有预定报告的状态和配置
- `execute_scheduled_report` - 立即执行预定报告,可选自定义日期范围
- `create_data_visualization` - 从Trello数据创建高级数据可视化和图表
### 资源
- `trello:board/{id}` - 具有人类可读摘要的综合板块信息
- `trello:list/{id}` - 具有所有卡片和活动的详细列表信息
- `trello:card/{id}` - 具有描述、成员、标签、清单、附件和评论的丰富卡片详情
- `trello:checklist/{id}` - 具有进度跟踪、项目状态和上下文的详细清单
- `trello:label/{id}` - 具有颜色可视化、使用分析和管理建议的标签详情
- `trello:search/{query}` - 具有过滤提示和高级运算符的综合搜索结果
- `trello:organization/{id}` - 具有成员管理、板块监督和健康建议的组织详情
- `trello:webhook/{id}` - 具有事件类型、配置和管理选项的Webhook详情
- `trello:report/{type}/{id}` - 具有洞察和管理选项的报告详情,包括仪表板、分析、导出和预定报告
## 快速入门
### 1. 先决条件
- Node.js 18.17+
- Trello API凭证(密钥和令牌)
### 2. 获取Trello凭证
1. 前往 https://trello.com/power-ups/admin
2. 创建新的Power-Up或使用现有的
3. 获取您的API密钥
4. 生成具有读写权限的令牌
### 3. 设置环境
在项目根目录创建一个 `.env` 文件并填写您的凭证:
```bash
# 服务器配置
PORT=8787
BASE_URL=http://localhost:8787
MCP_API_KEY=您的安全随机密钥
# Trello 配置
TRELLO_API_BASE=https://api.trello.com/1
TRELLO_KEY=您的trello-api-key
TRELLO_TOKEN=您的trello-token
# 日志记录
LOG_LEVEL=info
```
### 4. 安装和运行
```bash
# 安装依赖
pnpm install
# 开发模式
pnpm dev
# 生产构建
pnpm build
pnpm start
```
### 5. 测试连接
```bash
# 检查服务器健康状况
curl http://localhost:8787/health
# 测试MCP连接(替换YOUR_API_KEY)
curl -H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: text/event-stream" \
http://localhost:8787/mcp/sse
```
## MCP 客户端配置
### 游标IDE
添加到您的MCP设置:
```json
{
"mcpServers": {
"trello": {
"command": "pnpm",
"args": [
"--silent",
"-C",
"<path to the project>",
"mcp:stdio"
],
"env": {
"TRELLO_KEY": "<trello api key>",
"TRELLO_TOKEN": "<trello token>",
"LOG_LEVEL": "info"
}
}
}
}
```
### 克劳德桌面
添加到您的 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"trello": {
"command": "pnpm",
"args": [
"--silent",
"-C",
"<path to the project>",
"mcp:stdio"
],
"env": {
"TRELLO_KEY": "<trello api key>",
"TRELLO_TOKEN": "<trello token>",
"LOG_LEVEL": "info"
}
}
}
}
```
## API 端点
- `GET /` - 服务器信息
- `GET /health` - 健康检查
- `GET /mcp/sse` - MCP 服务器发送事件端点(需要Bearer令牌)
## 架构
```
src/
├── config/env.ts # 环境配置与zod验证
├── utils/logger.ts # Pino日志设置与请求中间件
├── trello/
│ ├── types.ts # Trello对象TypeScript定义
│ ├── http.ts # 具有身份验证和错误处理的HTTP客户端
│ ├── ratelimit.ts # Bottleneck速率限制
│ └── client.ts # 高级Trello API客户端
├── mcp/
│ ├── server.ts # 具有工具/资源注册的MCP服务器
│ ├── transport/httpSse.ts # SSE传输实现
│ ├── tools/boards.ts # 板块管理工具
│ ├── resources/board.ts # 板块资源提供者
│ └── registry.ts # 工具和资源注册
└── index.ts # Express服务器和应用程序入口点
```
### 第 11 阶段:批量操作与自动化 ✅ 已完成
- ✅ `batch_get_requests` - 执行多个 GET 请求
- ✅ `batch_create_cards` - 高效创建多张卡片(最多 20 张)
- ✅ `batch_update_cards` - 更新多张卡片的不同属性
- ✅ `batch_move_cards` - 批量移动卡片至不同列表/板块(最多 50 张)
- ✅ `batch_assign_members` - 为多张卡片分配/移除成员
- ✅ `batch_apply_labels` - 为多张卡片应用/移除标签
- ✅ `archive_all_cards_in_list` - 一次性归档列表中的所有卡片
- ✅ `move_all_cards_in_list` - 移动列表中的所有卡片至其他列表/板块
- ✅ `bulk_archive_cards` - 通过 ID 归档多张卡片(最多 100 张)
- ✅ `bulk_unarchive_cards` - 通过 ID 解归档多张卡片(最多 100 张)
- ✅ `bulk_delete_cards` - 删除多张卡片(需确认, 最多 50 张)
- ✅ `create_automation_rule` - 创建带有触发器和动作的自动化规则
- ✅ `update_automation_rule` - 更新现有的自动化规则
- ✅ `test_automation_rule` - 测试自动化规则对特定卡片的作用
- ✅ `create_scheduled_action` - 创建基于时间的定时动作
- ✅ `execute_scheduled_action` - 立即执行定时动作
- ✅ `get_automation_history` - 查看自动化执行历史
### 第 12 阶段:Webhook 和实时集成 ✅ 已完成
- ✅ `create_webhook` - 创建 Webhook 以实现板块实时更新
- ✅ `list_webhooks` - 列出活跃的 Webhook,支持筛选和管理
- ✅ `get_webhook` - 获取详细的 Webhook 信息和配置
- ✅ `update_webhook` - 更新 Webhook 配置(URL,描述,状态)
- ✅ `delete_webhook` - 删除 Webhook 并停止事件投递
- ✅ `create_webhook_event_processor` - 创建自动化的事件处理程序
- ✅ `process_webhook_event` - 处理 Webhook 事件,支持筛选和自动化
- ✅ `get_webhook_events` - 获取特定模型的 Webhook 事件历史
- ✅ `enable_real_time_sync` - 启用实时板块同步
- ✅ `get_real_time_sync_status` - 监控同步状态
- ✅ Webhook 端点 `/webhooks/trello` 用于接收 Trello 事件
- ✅ 事件流处理基础设施
- ✅ 实时事件筛选和自动化触发器
### 第 13 阶段:高级报告和数据导出 ✅ 已完成
- ✅ `export_board_data` - 以多种格式导出板块数据(CSV,JSON,PDF)
- ✅ `export_user_activity` - 导出用户在所有板块上的活动和生产力报告
- ✅ `export_organization_data` - 导出组织范围内的数据,包括板块、成员和指标
- ✅ `generate_analytics_report` - 生成全面的分析报告,包含洞察和建议
- ✅ `create_dashboard` - 创建自定义分析仪表盘,支持配置小组件
- ✅ `update_dashboard` - 更新现有的仪表盘配置和组件
- ✅ `get_dashboard` - 获取仪表盘配置和实时组件数据
- ✅ `list_dashboards` - 列出所有可用的仪表盘,支持筛选选项
- ✅ `schedule_report` - 安排自动生成和投递报告
- ✅ `update_scheduled_report` - 更新定时报告配置和接收人
- ✅ `execute_scheduled_report` - 立即执行定时报告,支持自定义日期范围
- ✅ `create_data_visualization` - 创建高级数据可视化图表,基于 Trello 数据
- ✅ 支持多种格式导出(CSV,JSON,PDF),覆盖全面的数据
- ✅ 自定义仪表盘框架,包含 8 种组件类型和实时数据
- ✅ 定时报告自动化,支持配置频率和接收人
- ✅ 高级分析,包含洞察、趋势和可行的建议
- ✅ 数据可视化引擎,支持多种图表类型和格式
### 第 14 阶段:企业安全和多租户(下一步)
- [ ] OAuth 2.0 多用户支持,企业级部署
- [ ] 企业 SSO 集成(SAML,OIDC)
- [ ] 服务提供商的多租户支持
- [ ] 高级安全和合规特性(SOC2,GDPR)
- [ ] 企业用户的基于角色的访问控制(RBAC)
- [ ] 审计日志和合规报告
- [ ] 高级 API 速率优化和智能缓存
- [ ] 企业部署指南和扩展文档
### 第 15 阶段:高级集成和 AI 特性
- [ ] AI 驱动的洞察和建议
- [ ] 自然语言查询处理
- [ ] 预测分析和预测
- [ ] 智能自动化规则建议
- [ ] 高级工作流优化
- [ ] 与流行的 CI/CD 工具集成
- [ ] 高级 API 网关和速率限制
- [ ] 企业监控和告警
## 错误处理
服务器包含全面的错误处理:
- Trello API 错误被标准化和记录
- 速率限制,带有指数退避
- 请求级日志,带有唯一 ID
- 网络问题的优雅降级
## 速率限制
遵循 Trello 的 API 限制:
- 最大并发请求数:5
- 每 10 秒窗口的请求数:80
- 429 错误的自动重试和退避
## 安全
- MCP 端点的 Bearer Token 身份验证
- Trello 凭证存储在环境变量中
- 请求/响应日志不包含敏感数据
- 启用 CORS 以支持跨源请求
## 贡献
1. Fork 仓库
2. 创建功能分支
3. 按照现有模式进行更改
4. 使用真实的 Trello 板进行测试
5. 提交拉取请求
## 许可证
MIT 许可证 - 详情见 LICENSE 文件。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器