DWB自定义MCP Trello服务器
用于Trello董事会自动化和客户入职的自定义模型上下文协议(MCP)服务器。此服务器扩展了原始 mcp-server-trello 使用其他工具创建董事会、管理成员和自动化客户入职工作流程。
🚀 特性
原始工具(已维护)
- Trello板完全集成:与卡片、列表和棋盘活动交互
- 内置速率限制:遵守Trello的API限制(每个API密钥300个请求/10秒,每个令牌100个请求/10 s)
- 类型安全实施:用TypeScript编写,具有全面的类型定义
- 输入验证:对所有API输入进行稳健验证
- 错误处理:优雅的错误处理,信息丰富
新自定义工具
- 董事会创建:使用标准化的客户入职模板创建新的Trello板
- 董事会管理:列出并过滤可用板
- 会员管理:向具有指定权限的板中添加成员
- 模板引擎:使用表情符号回退支持自动创建列表
📦 安装
# Clone the repository
git clone
cd dwb-trello-mcp
# Install dependencies
pnpm install
# Build the project
pnpm run build⚙️ 配置
创建一个 .env 文件基于 .env.example:
TRELLO_API_KEY=your-api-key
TRELLO_TOKEN=your-token
TRELLO_BOARD_ID=your-default-board-id
TRELLO_ORG_ID=your-organization-id # Optional获取Trello证书
- API密钥:从https://trello.com/app-key
- 代币:使用API密钥在以下位置生成:
https://trello.com/1/authorize?expiration=never&name=DWB_MCP_SERVER&scope=read,write&response_type=token&key=YOUR_API_KEY- 董事会ID:在板URL中找到:
https://trello.com/b/BOARD_ID/board-name - 组织ID:可选,在组织设置中找到
🛠️ 可用工具
原始工具
get_cards_by_list_id-从特定列表中提取卡片get_lists-从板上检索所有列表get_recent_activity-获取最近的董事会活动add_card_to_list-向列表中添加新卡update_card_details-更新现有卡详细信息archive_card-将卡片存档add_list_to_board-向板中添加新列表archive_list-存档列表get_my_cards-获取分配给当前用户的卡片
新自定义工具
create_board
使用标准客户入职模板创建新的Trello董事会。
{
name: string, // Board name (required)
description?: string, // Board description (optional)
default_lists?: boolean, // Create template lists (default: true)
organization_id?: string // Organization ID (optional)
}特征:
- 自动创建5个标准化列表:
- 🟢 新建请求 - 📥 队列 - 🛠 进行中 - 🧐 审查 - ✅ 完成
- 表情符号回退支持(如果表情符号失败,则使用纯文本)
- 设置带有客户入职说明的董事会描述
- 支持创建组织级董事会
get_boards
列出具有可选过滤功能的可用Trello板。
{
organization_id?: string, // Filter by organization
limit?: number // Maximum boards to return
}add_member_to_board
通过电子邮件向董事会添加具有指定权限的成员。
{
board_id: string, // Board ID (required)
email: string, // Member email (required)
permission?: string // 'normal', 'admin', or 'observer' (default: 'normal')
}🎯 客户入职流程
该服务器旨在通过标准化的工作流程自动化客户入职流程:
- 创建董事会:使用
create_board创建新的客户端板 - 添加客户端:使用
add_member_to_board邀请客户 - 已应用模板:董事会自动包括:
- 标准化列表结构 - 板描述中的客户说明 - 基于表情包的列表名称(带后退)
🐳 Docker部署
构建并运行
# Build the Docker image
docker build -t dwb-trello-mcp .
# Run with environment variables
docker run -d \
--name dwb-trello-mcp \
-e TRELLO_API_KEY=your-key \
-e TRELLO_TOKEN=your-token \
-e TRELLO_BOARD_ID=your-board-id \
-e TRELLO_ORG_ID=your-org-id \
dwb-trello-mcp使用Docker Compose
# Production
docker-compose up -d
# Development with hot reload
docker-compose --profile dev up -d🧪 测试
# Run the MCP inspector
pnpm run inspector
# List available tools
npx @modelcontextprotocol/sdk list-tools build/index.js
# Run custom test script
node test-tools.js📁 项目结构
dwb-trello-mcp/
├── src/
│ ├── index.ts # Main MCP server
│ ├── trello-client.ts # Extended Trello API client
│ ├── board-templates.ts # Board template engine
│ ├── types.ts # TypeScript definitions
│ ├── validators.ts # Input validation
│ └── rate-limiter.ts # Rate limiting logic
├── templates/
│ ├── default-board-lists.json # List template
│ └── board-readme-template.md # Board description template
├── build/ # Compiled JavaScript
├── Dockerfile # Container configuration
├── docker-compose.yml # Development environment
└── README.md # This file🔧 发展
# Start development server
pnpm run dev
# Build project
pnpm run build
# Format code
pnpm run format
# Lint code
pnpm run lint📋 模板配置
板模板在中定义 templates/default-board-lists.json:
{
"template_name": "default_client_board",
"lists": [
"🟢 New Request",
"📥 Queue",
"🛠 In Progress",
"🧐 Review",
"✅ Completed"
],
"fallback_lists": [
"New Request",
"Queue",
"In Progress",
"Review",
"Completed"
]
}🚦 速率限制
服务器实现自动速率限制,以符合Trello的API限制:
- 每个API密钥每10秒300个请求
- 每个令牌每10秒100个请求
请求会自动排队,并在达到限制时重试。
🐛 错误处理
服务器为以下对象提供详细的错误消息:
- 输入参数无效
- 请求频率超限
- API身份验证错误
- 网络问题
- 板/列表/卡ID无效
- 模板加载失败
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
📞 支持
对于问题和疑问:
- 在存储库中创建问题
- 检查 项目_平面.md 了解实施细节
- 查看原件 mcp服务器trello 文档
