Trello助手添加福利群:解决AI开发者的「MCP实战痛点」这是一个基于模型上下文协议(MCP)的服务器,提供与 Trello 看板交互的工具。该服务器能够无缝集成 Trello 的 API,同时自动处理速率限制、类型安全和错误处理。
list_boards - 列出用户可访问的所有看板set_active_board - 设置未来操作的活跃看板list_workspaces - 列出用户可访问的所有空间set_active_workspace - 设置未来操作的活跃空间list_boards_in_workspace - 列出特定空间中的所有看板get_active_board_info - 获取当前活跃看板的信息attach_image_to_card 工具的文档attach_image_to_card 工具,支持通过 URL 将图片附加到卡片.env 文件提升安全性.env.template 文件便于设置move_card 工具,支持在列表间移动卡片运行服务器最简单的方式是使用 Docker:
git clone https://github.com/delorenj/mcp-server-trello
cd mcp-server-trello

cp .env.template .env

docker compose up --build
要通过 Smithery为 Claude Desktop 自动安装 Trello 服务器:
npx -y @smithery/cli install @modelcontextprotocol/mcp-server-trello --client claude
npm install @delorenj/mcp-server-trello
服务器可通过环境变量进行配置。在根目录创建 .env 文件并设置以下变量:
# 必填:您的 Trello API 凭据 TRELLO_API_KEY=您的API密钥 TRELLO_TOKEN=您的令牌 # 必填:初始看板 ID(稍后可通过 set_active_board 更改) TRELLO_BOARD_ID=您的看板ID # 可选:初始空间 ID(稍后可通过 set_active_workspace 更改) TRELLO_WORKSPACE_ID=您的空间ID
您可以从以下位置获取这些值:
list_workspaces 工具获取从 0.3.0 版本开始,MCP 服务器支持动态选择看板和空间:
.env 文件中的 TRELLO_BOARD_ID 用作服务器启动时的初始看板 IDset_active_board 工具更改活跃看板~/.trello-mcp/config.json 中)set_active_workspace 设置并保留活跃空间这使您可以在不重启服务器或更改环境变量的情况下使用多个看板和空间。
{
name: 'list_boards',
arguments: {}
}

{
name: 'set_active_board',
arguments: {
boardId: "abc123" // 来自 list_boards 响应的 ID
}
}

{
name: 'list_workspaces',
arguments: {}
}

{
name: 'set_active_workspace',
arguments: {
workspaceId: "xyz789" // 来自 list_workspaces 响应的 ID
}
}

{
name: 'get_active_board_info',
arguments: {}
}

从特定列表获取所有卡片。
{
name: 'get_cards_by_list_id',
arguments: {
listId: string // Trello 列表的 ID
}
}

获取当前活跃看板中的所有列表。
{
name: 'get_lists',
arguments: {}
}

获取当前活跃看板的最近活动。
{
name: 'get_recent_activity',
arguments: {
limit?: number // 可选:要获取的活动数量(默认:10)
}
}

向指定列表添加新卡片。
{
name: 'add_card_to_list',
arguments: {
listId: string, // 要添加卡片的列表 ID
name: string, // 卡片名称
description?: string, // 可选:卡片描述
dueDate?: string, // 可选:到期日期(ISO 8601 格式)
labels?: string[] // 可选:标签 ID 数组
}
}

更新现有卡片的详细信息。
{
name: 'update_card_details',
arguments: {
cardId: string, // 要更新的卡片 ID
name?: string, // 可选:卡片的新名称
description?: string, // 可选:新描述
dueDate?: string, // 可选:新到期日期(ISO 8601 格式)
labels?: string[] // 可选:新的标签 ID 数组
}
}

将卡片归档。
{
name: 'archive_card',
arguments: {
cardId: string // 要归档的卡片 ID
}
}

向当前活跃看板添加新列表。
{
name: 'add_list_to_board',
arguments: {
name: string // 新列表的名称
}
}

将列表归档。
{
name: 'archive_list',
arguments: {
listId: string // 要归档的列表 ID
}
}

获取分配给当前用户的所有卡片。
{
name: 'get_my_cards',
arguments: {}
}

将卡片移动到不同的列表。
{
name: 'move_card',
arguments: {
cardId: string, // 要移动的卡片 ID
listId: string // 目标列表的 ID
}
}

直接从 URL 将图片附加到卡片。
{
name: 'attach_image_to_card',
arguments: {
cardId: string, // 要附加图片的卡片 ID
imageUrl: string, // 要附加的图片 URL
name?: string // 可选:附件的名称(默认为"图片附件")
}
}

列出用户可访问的所有看板。
{
name: 'list_boards',
arguments: {}
}

设置未来操作的活跃看板。
{
name: 'set_active_board',
arguments: {
boardId: string // 要设置为活跃的看板 ID
}
}

列出用户可访问的所有空间。
{
name: 'list_workspaces',
arguments: {}
}

设置未来操作的活跃空间。
{
name: 'set_active_workspace',
arguments: {
workspaceId: string // 要设置为活跃的空间 ID
}
}

列出特定空间中的所有看板。
{
name: 'list_boards_in_workspace',
arguments: {
workspaceId: string // 要列出看板的空间 ID
}
}

获取当前活跃看板的信息。
{
name: 'get_active_board_info',
arguments: {}
}

服务器实现了令牌桶算法进行速率限制,以符合 Trello 的 API 限制:
速率限制会自动处理,如果达到限制,请求将被排队。
服务器为各种情况提供详细的错误消息:
git clone https://github.com/delorenj/mcp-server-trello
cd mcp-server-trello

npm install
npm run build
evals 包会加载一个 mcp 客户端来运行 index.ts 文件,因此测试之间不需要重新构建。您可以通过在 npx 命令前添加前缀来加载环境变量。完整文档请参阅 这里。
OPENAI_API_KEY=您的密钥 npx mcp-eval src/evals/evals.ts src/index.ts
欢迎贡献!
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。