Trello MCP服务器
模型上下文协议(MCP)服务器,提供与Trello的API的无缝集成。直接通过Claude或任何兼容MCP的客户端管理您的Trello板、列表和卡。
特性
- 董事会管理:列出、查看和创建Trello板
- 清单的操作:在板上创建、查看和存档列表
- 卡片CRUD:卡片的完整创建、读取、更新、删除操作
- 卡片移动:通过位置控制在列表之间移动卡片
- 检查表管理:使用项目创建检查表,更新进度,并管理检查表项目
- 标签管理:在电路板和卡片上创建、分配和管理标签
- 到期日管理:设置、更新和跟踪卡片上的到期日期
- 附件管理:上传文件、附加URL和从卡片下载附件
- 批量操作:在一次操作中创建多张卡片或清单项
- MCP资源:将板、列表和卡数据加载到LLM上下文中进行分析
- 安全认证:通过环境变量进行基于API密钥和令牌的身份验证
安装
先决条件
- Python 3.11或更高版本
- Trello账户
- Trello API证书(API密钥和令牌)
安装软件包
# Clone or download this repository
cd TrelloMCP
# Install using pip
pip install -e .
# Or using uv (recommended)
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .获取Trello API凭据
步骤1:获取API密钥
- 访问 Trello电源管理
- 单击“新建”以创建新的电源(如果您没有)
- 填写所需信息(姓名、工作区等)
- 创建后,您将看到您的 API密钥 在Power Up页面上
或者,您可以直接从以下位置获取API密钥:https://trello.com/app-key
步骤2:生成API令牌
- 查看API密钥页面时,单击“代币”链接或访问:
https://trello.com/1/authorize?expiration=never&name=TrelloMCP&scope=read,write&response_type=token&key=YOUR_API_KEY(替换 YOUR_API_KEY 使用步骤1中的密钥)
- 点击“允许”以授权该应用程序
- 复制 API代币 显示
步骤3:配置环境变量
创建 .env 项目根目录中的文件:
cp .env.example .env编辑 .env 并添加您的凭据:
TRELLO_API_KEY=your_api_key_here
TRELLO_API_TOKEN=your_api_token_here重要:永远不要承诺你的 .env 文件到版本控制。它已经在里面了 .gitignore.
用法
独立运行服务器
trello-mcp服务器将启动并通过stdio监听MCP连接。
与Claude Desktop一起使用
将以下内容添加到您的Claude Desktop配置文件中:
在macOS上: ~/Library/Application Support/Claude/claude_desktop_config.json
在Windows上: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"trello": {
"command": "trello-mcp",
"env": {
"TRELLO_API_KEY": "your_api_key_here",
"TRELLO_API_TOKEN": "your_api_token_here"
}
}
}
}或者,如果你有 .env 项目目录中的文件:
{
"mcpServers": {
"trello": {
"command": "python",
"args": ["-m", "trello_mcp"],
"cwd": "/path/to/TrelloMCP",
"env": {}
}
}
}服务器将自动从以下位置加载凭据 .env 工作目录中的文件。
重新启动克劳德桌面
更新配置后,重新启动Claude Desktop以加载Trello MCP服务器。
可用工具
服务器提供以下工具,您可以通过自然语言与Claude一起使用:
电路板工具
list_boards()-列出您的所有Trello板get_board(board_id)-获取特定电路板的详细信息create_board(name, desc?)-创建新板
列出工具
get_board_lists(board_id)-将所有列表放在板上create_list(board_id, name, pos?)-在板上创建新列表archive_list(list_id)-存档(关闭)列表
卡片工具
list_cards(list_id)-获取列表中的所有卡片get_card(card_id)-获取特定卡的详细信息create_card(list_id, name, desc?, pos?, due?)-创建新卡create_cards(list_id, cards, delay_ms?)-在一次操作中创建多张卡update_card(card_id, name?, desc?, list_id?, due?, due_complete?)-更新卡片delete_card(card_id)-删除卡片move_card(card_id, list_id, pos?)-将卡片移动到另一个列表
检查表工具
get_card_checklists(card_id)-把所有清单都写在卡片上create_checklist(card_id, name, pos?)-在卡片上创建新的检查表get_checklist(checklist_id)-获取检查表的详细信息update_checklist(checklist_id, name?, pos?)-更新检查表delete_checklist(checklist_id)-删除检查表get_checklist_items(checklist_id)-将所有项目列入清单add_checklist_item(checklist_id, name, checked?, pos?)-将项目添加到检查表中add_checklist_items(checklist_id, items, delay_ms?)-在检查表中添加多个项目create_checklist_with_items(card_id, name, items, pos?, delay_ms?)-在一次操作中创建包含项目的检查表update_checklist_item(card_id, checklist_item_id, name?, state?, pos?)-更新检查表项目delete_checklist_item(checklist_id, checklist_item_id)-删除检查表项
标签工具
get_board_labels(board_id)-将所有标签放在板上create_label(board_id, name, color?)-在电路板上创建新标签update_label(label_id, name?, color?)-更新标签delete_label(label_id)-删除标签get_card_labels(card_id)-为卡片分配所有标签add_label_to_card(card_id, label_id)-为卡片添加标签remove_label_from_card(card_id, label_id)-从卡片上移除标签set_card_labels(card_id, label_ids)-在卡片上设置所有标签(替换现有标签)
到期日工具
set_card_due_date(card_id, due_date)-设置或更新卡片的到期日期mark_due_date_complete(card_id, complete?)-将截止日期标记为完整/不完整clear_card_due_date(card_id)-从卡片中删除到期日期
随机工具
get_card_attachments(card_id)-获取卡片上的所有附件get_attachment(card_id, attachment_id)-获取附件的详细信息add_attachment_url(card_id, url, name?)-将URL附加到卡add_attachment_file(card_id, file_path, name?)-上传本地文件作为附件download_attachment(card_id, attachment_id, output_path)-下载本地文件的附件delete_attachment(card_id, attachment_id)-删除附件
可用资源
资源允许您将Trello数据加载到LLM的上下文中进行分析:
trello://board/{board_id}-加载包含所有列表和卡片的完整电路板信息trello://list/{list_id}-加载所有卡片的列表信息trello://card/{card_id}-加载详细的卡信息
与克劳德的对话示例
配置后,您可以自然地与Trello交互:
“给我看看我所有的Trello板”
- 克劳德会打电话的
list_boards()并展示您的电路板
“创建一个名为‘2026年第一季度规划’的新董事会”
- 克劳德会打电话的
create_board(name="Q1 2026 Planning")
在我的项目板上,创建一个名为“审阅中”的新列表
- 克劳德会先找到你的董事会,然后打电话
create_list()
“在待办事项列表中添加一张卡片,上面写着‘需要审查新的UI设计’”
- 克劳德会打电话的
create_card()具有适当的参数
“将该卡移至进行中列表”
- 克劳德会打电话的
move_card()重新安置它
“加载板abc123的完整上下文”
- 克劳德将使用该资源
trello://board/abc123加载所有数据
在此卡上创建一个名为“启动任务”的清单,其中包含用于文档、测试和部署的项目
- 克劳德会打电话的
create_checklist_with_items()一次创建包含所有项目的清单
“将“高优先级”标签添加到此卡上”
- Claude将找到标签ID并呼叫
add_label_to_card()
“为此任务设定下周五的截止日期”
- 克劳德会打电话的
set_card_due_date()使用适当的ISO 8601日期
“将此要求文件附加到卡上”
- 克劳德会打电话的
add_attachment_file()上传文档
“为每个团队成员的任务创建5张卡片”
- 克劳德会打电话的
create_cards()高效批量创建所有卡片
发展
运行测试
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest项目结构
TrelloMCP/
├── src/
│ └── trello_mcp/
│ ├── __init__.py
│ ├── __main__.py # Entry point
│ ├── server.py # MCP server with tools and resources
│ └── trello_client.py # Trello API client wrapper
├── tests/
│ ├── __init__.py
│ └── test_server.py
├── pyproject.toml
├── README.md
├── .env.example
└── .gitignore添加新功能
- 将新的API方法添加到
TrelloClient在trello_client.py - 在中添加相应的工具/资源
server.py使用FastMCP装饰器 - 用新功能更新此README
API费率限制
Trello的API有每个API密钥的费率限制。如果超过这些值,您将收到429错误。对于频繁更新,请考虑使用Trello webhooks而不是轮询。
故障排除
“Trello API凭据无效”错误
- 验证您的
TRELLO_API_KEY和TRELLO_API_TOKEN是正确的 - 确保你的简历中没有多余的空格或引号
.env文件 - 尝试重新生成API令牌
“找不到资源”错误
- 仔细检查您使用的板/列表/卡ID
- 确保您可以使用Trello帐户访问资源
服务器未显示在Claude Desktop中
- 检查以下路径
trello-mcp是正确的 - 验证中的JSON语法
claude_desktop_config.json - 完全重新启动克劳德桌面
- 检查Claude Desktop的日志以获取错误消息
安全说明
- 保持API密钥和令牌的安全-永远不要将它们提交给版本控制
- 这
.envgit会自动忽略该文件 - API代币授予对Trello帐户的完全访问权限-将其视为密码
- 考虑创建一个单独的Trello工作区进行测试
贡献
欢迎投稿!请随时提交问题或拉取请求。
许可证
MIT许可证-您可以自由地将此服务器用于您自己的项目。
参考文献
致谢
内置:
- 快速MCP -MCP高级Python SDK
- HTTPX -现代HTTP客户端
- python dotenv -环境变量管理
