Trello MCP Server
Trello MCP
将 Claude(桌面版/协作版 和 Claude Code)连接到 Trello 看板。
看板由配置中的 board_id 选择——没有硬编码任何特定看板的信息。
~/mcp-servers/trello-mcp/
trello_mcp.py the server — no credentials inside, safe to share
requirements.txt mcp==1.27.2 (pinned, see below)
.venv/ dedicated Python 3.12 environment
~/.config/trello-mcp/config.json credentials (chmod 600, never shared)已在 两者 中注册:
~/Library/Application Support/Claude/claude_desktop_config.json(桌面版/协作版)~/.claude.json(Claude Code)
两者都指向 绝对路径 的虚拟环境解释器。这一点至关重要——见下文。
为什么它以前每天早上都会断开连接
旧配置使用裸命令 python3 启动服务器。这台 Mac 上有四个 python3 二进制文件,只有一个安装了 mcp 包:
解释器 | 版本 |
|
| 3.9.6 | 否 |
| 3.9.6 | 否 |
| 3.9.6 | 否 |
| 3.12.7 | 是 |
python3 具体指向哪个取决于启动应用程序的进程的 PATH。从 Finder 或登录时 启动,应用程序继承最小的 launchd PATH(/usr/bin:/bin:/usr/sbin:/sbin),得到 Python 3.9 → ModuleNotFoundError: No module named 'mcp' → “无法连接 Trello MCP。” 从 终端 启动,它继承 shell 的 PATH,其中 Anaconda 排在前面 → 正常工作。因此:大多数早上都坏了,手动测试时却正常。
重现旧故障和修复方法:
env -i PATH=/usr/bin:/bin:/usr/sbin:/sbin python3 "$HOME/Claude/Projects/Daily Trello/trello_mcp.py" # ModuleNotFoundError
env -i PATH=/usr/bin:/bin:/usr/sbin:/sbin ~/mcp-servers/trello-mcp/.venv/bin/python3 -c "import mcp; print('ok')" # ok使用绝对路径指定解释器意味着 完全不进行 PATH 查找。应用程序启动一个已知的二进制文件,该文件找到一个已知的包目录。早上 7 点和晚上 7 点结果相同。
Related MCP server: trello-mcp-server
虚拟环境到底是什么(以及它 不能 防止什么)
Python 在特定运行解释器所绑定的目录中查找已安装的包。四个解释器 = 四个独立的包目录;mcp 只安装到了其中一个。虚拟环境创建一个私有的目录,仅属于此服务器。
技术上:python3 -m venv .venv 创建 .venv/bin/python3 和一个记录基础安装的 pyvenv.cfg。启动时,解释器读取该文件并将 sys.prefix 设置为虚拟环境,因此 import 解析到 .venv/lib/python3.12/site-packages。
诚实的限制: 在 macOS 上,venv 符号链接 解释器而不是复制它,标准库仍然从基础安装加载:
.venv/bin/python3 -> /opt/anaconda3/bin/python3
stdlib = /opt/anaconda3/lib/python3.12因此,此虚拟环境 仍然依赖于已安装的 Anaconda。它隔离的是 包,而不是解释器。
事件 | 是否存活? |
Anaconda 包更新( | 是 |
Anaconda 3.12.x 小版本升级 | 是 |
macOS 更新 | 是 |
任何 | 是 |
Shell/配置文件更改 | 是 |
卸载 Anaconda | 否——重建(见下文) |
Anaconda 放弃 Python 3.12 | 否——重建 |
移动/重命名此文件夹 | 否——路径是绝对的;更新两个配置文件 |
在上述任何情况后重建,约 15 秒:
cd ~/mcp-servers/trello-mcp && rm -rf .venv
/path/to/any/python3.10+ -m venv .venv && ./.venv/bin/pip install -r requirements.txt如果你想要真正独立于 Anaconda,请安装 uv 并从 uv 管理的独立 Python 构建虚拟环境。这里没有这样做,因为会给机器增加一个新工具。
不要盲目升级 mcp
requirements.txt 固定了 mcp==1.27.2。这是故意的:mcp 2.0.0 移除了此服务器所依赖的 @app.list_tools() / @app.call_tool() 装饰器 API。安装最新版本会立即破坏服务器,出现 AttributeError: 'Server' object has no attribute 'list_tools'——这看起来与整个设置旨在修复的连接失败完全一样。只有在同时重写新 API 的处理程序时才升级。
凭据文件的工作原理
~/.config/trello-mcp/config.json:
{ "api_key": "...", "token": "...", "board_id": "676f0bfc11723d27f716291d" }没有托管,没有外部服务——只是一个在此磁盘上的普通 JSON 文件。两件事使其“秘密”:
它位于 代码之外,因此复制或发布
trello_mcp.py不会携带凭据。chmod 600——只有此 macOS 用户帐户可以读取它。
服务器在启动时读取它并将值保存在内存中。要共享服务器,发送 trello_mcp.py;接收者使用自己的 Trello 密钥创建自己的配置。这个值不是加密——而是 将你分享的东西与你不想分享的东西分开。
Trello 令牌 没有过期时间(dateExpires: null),作用域为成员/看板/组织读写。与 Google Drive 服务器的 OAuth 刷新令牌不同,它不需要定期重新授权。
列表从不硬编码
每个列表在调用时通过 名称 从实时 API 解析,因此在 Trello 中添加的列表(每季度一个新班级)立即可用——无需更改代码,无需重启。一个 60 秒的缓存使其保持廉价;缓存未命中会在报告“未找到”之前强制重新获取一次,因此几秒前创建的列表仍然可以解析。
在此看板上测量:一次列表获取约 307 毫秒。没有缓存,每个工具调用都会支付这个代价(get_cards 需要两次往返),因此一个 12 张卡片的规划会议仅在重新获取上就消耗了约 3.7 秒。有了缓存,一次获取覆盖整个突发。
代码中 唯一 的列表名称是 trello_mcp.py 顶部的三个工作流锚点:
LIST_TODO = "To Do Today"
LIST_WORKING = "Working on"
LIST_DONE = "Done Today"它们被命名是因为日常工作流程是根据它们定义的(sort_todo_today 不能被告知“排序表示今天的列表”而没有名称)。在 Trello 中重命名一个 → 在该块和 Daily Trello CLAUDE.md 中更改它。rename_list 会在你重命名锚点时发出警告。
工具(37 个)
读取 — get_all_lists、get_cards(包括附件、标签、截止日期、位置)、get_card(完整详情)、search_cards、get_board_summary
卡片 — create_card(带附件/标签/位置)、update_card、move_card、complete_card、archive_card、unarchive_card、copy_card、set_card_position、set_card_cover、sort_todo_today
附件 — get_attachments、add_attachment(URL 或 上传本地文件)、view_attachment(返回可查看的图像——这是 Claude 读取卡片上截图的方式)、delete_attachment
标签 — get_labels、add_label_to_card、remove_label_from_card、create_label
评论 — get_comments、add_comment
列表 — create_list、rename_list、archive_list、move_list
检查清单 — get_checklists、create_checklist、add_checklist_item、complete_checklist_item、uncheck_checklist_item、rename_checklist_item、delete_checklist_item、delete_checklist
已知看板设置:评论已禁用
add_comment 返回 401,因为 看板本身 关闭了评论功能(prefs.comments: "disabled")——不是令牌或代码问题。要启用:Trello → 看板菜单 (···) → 设置 → 评论权限 → 看板成员。该工具会检测到这一点并解释,而不是显示原始 401。
关于 search_cards 的说明
Trello 的搜索索引有几秒延迟。刚刚创建的卡片可能不会立即出现;请改用其列表上的 get_cards。
故障排除
# 1. Does the interpreter still work?
~/mcp-servers/trello-mcp/.venv/bin/python3 -c "import mcp; print('ok')"
# 2. Does the server start and reach Trello? (Ctrl-C to exit; silence = healthy)
~/mcp-servers/trello-mcp/.venv/bin/python3 ~/mcp-servers/trello-mcp/trello_mcp.py
# 3. Are the configs still pointing at the venv?
grep -A3 '"trello"' ~/.claude.json "$HOME/Library/Application Support/Claude/claude_desktop_config.json"更改任一配置后,完全退出并重新打开 应用程序——MCP 服务器仅在启动时启动。
此脚本的旧副本仍位于 ~/Claude/Projects/Daily Trello/trello_mcp.py 和 ~/Downloads/trello_mcp.py。没有指向它们;它们仍然包含嵌入的凭据,因此不要共享这两个文件。
用于简历/作品集
保留在这里,以便未来的简历会话有真实的版本,而不是重新构建。
值得讲述的故事 是失败,而不是功能。这个服务器连续几周每天早上都失败,但每次手动测试时都正常工作——这正是整个诊断:代码没问题,而 环境 有问题。配置命名为 python3;登录时启动的应用程序继承最小的 PATH(/usr/bin:/bin:/usr/sbin:/sbin),其中该命令解析为没有所需包的系统 Python,而终端继承的 PATH 中它正确解析。从 shell 测试是唯一保证通过的情况。
我实际做的: 指导调试。我的决定是——将“我测试时它工作”视为关于测试的证据,而不是对代码的安慰,并要求一个能重现真实启动条件(剥离的 PATH)的测试,而不是方便的测试。
结果,现在应用于每个集成:配置中的绝对解释器路径、每个项目专用环境、每个依赖项固定,以及一个检查每个已知故障模式并尽可能修复的诊断脚本。
作品集长度的要点:
指导了三个将 macOS 连接到云服务的自动化集成的开发,这些集成在计划任务上无人值守运行。将反复出现的每日故障根因定位到 shell 和应用程序启动上下文之间的 PATH 解析差异,并建立了绝对路径和固定依赖项约定,在所有三个集成中消除了该问题。
完整案例研究:https://zeno-blade-creator.github.io/projects/personal-integrations.html
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to manage Trello boards, lists, cards, comments, checklists, labels, and members through natural language.16
- Alicense-qualityDmaintenanceEnables Claude to manage Trello boards, lists, and cards through natural language, using tools like list_boards, add_card, and move_card.MIT
- Alicense-qualityCmaintenanceEnables Claude to manage Trello boards, lists, and cards through natural language.82ISC
- Alicense-qualityCmaintenanceEnables managing Trello boards, lists, cards, labels, checklists, members, and attachments through natural language via Claude Desktop.12MIT
Related MCP Connectors
Manage projects, tasks, time tracking, and team collaboration through natural language.
Connect AI to your Attio CRM. Manage contacts, companies, deals, and sales pipelines. Create tasks…
Streamline your Attio workflows using natural language to search, create, update, and organize com…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zeno-blade-creator/trello-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server