Trello MCP
A personal remote MCP server that lets Claude read and update Trello boards, with safety guards and access control.
README
Trello MCP — Personal remote connector for Claude
A small, opinionated MCP server that lets Claude read and update Trello boards. Runs on Cloudflare Workers, gated behind GitHub OAuth, allowlisted to a single GitHub user.
Designed primarily around Dann Bleeker Pedersen's GTD workflow, but the underlying tools are generic — friendly aliases for boards / lists / labels live in src/trello/constants.ts and are easy to extend for other workflows.
Tools (20)
Reads
| Tool | Purpose |
|---|---|
list_boards |
All open boards the authenticated Trello user belongs to |
list_lists |
Lists on a board (alias or ID) |
list_cards |
Cards on a list or board; includes desc; optional label / staleDays filters |
get_card |
Full details for one card |
search_cards |
Fuzzy name search, scoped or unscoped; includes desc |
list_checklist_items |
Checklists + items on a card |
list_attachments |
Attachments on a card (id, name, url, date, mimeType) |
Writes
| Tool | Purpose |
|---|---|
create_card |
New card on a list (with guards + WIP warning) |
move_card |
Move card between lists (guards source AND destination) |
update_card |
Edit name / description / due date |
archive_card |
Soft archive (closed=true). Hard delete is not implemented. |
set_due_complete |
Mark due date as done (triggers Butler automations) |
set_checklist_item_state |
Tick / untick a single checklist item |
add_label |
Apply a label by ID or name |
remove_label |
Remove a label by ID or name |
add_comment |
Append a comment to a card |
add_checklist_item |
Append an item to the card's checklist |
add_attachment |
Attach a URL to a card |
add_file_attachment |
Upload a real file (base64 → multipart). 10 MB hard cap — for larger files, host the file and use add_attachment with a URL. |
remove_attachment |
Remove an attachment from a card |
Safety guards
Enforced server-side before any Trello call — same rules for every tool, no per-tool drift:
- Forbidden lists (Butler, Repeater Cards) — all writes refused. These lists hold automation rules and recurring templates; the connector observes but never modifies them.
- Read-only lists (Rolling Big Rocks) —
move_cardsource OR destination refused.create_cardto this list refused. - WIP-limit warnings — when a
move_cardorcreate_cardputs a list with a(WIP limit N)suffix over its limit, the response includes a warning, but the call still succeeds (treats WIP as guidance, not enforcement). - No hard delete — the capability is not in the code.
archive_cardis the only destructive-feeling operation, and it's reversible from the Trello UI.
Access control
Only one GitHub login (dannbleeker) can call any tool — hard-coded in src/index.ts. Any other authenticated GitHub user reaches the OAuth flow but every tool call returns a refusal message.
Setup
1. GitHub OAuth app
Create an OAuth app at https://github.com/settings/developers:
- Homepage URL:
https://trello-mcp.<your-subdomain>.workers.dev - Authorization callback URL:
https://trello-mcp.<your-subdomain>.workers.dev/callback - Note the Client ID and generate a Client secret.
For local development, register a second OAuth app with:
- Homepage URL:
http://localhost:8788 - Authorization callback URL:
http://localhost:8788/callback
2. Trello credentials
You need an API key and a user token:
| Value | Where |
|---|---|
| API key | https://trello.com/power-ups/admin → create an app → API key |
| Token | https://trello.com/1/authorize?key=YOUR_KEY&name=Claude&expiration=never&response_type=token&scope=read,write |
3. KV namespace + secrets
# install deps
pnpm install
# create the KV namespace, then paste the returned id into wrangler.jsonc
pnpm exec wrangler kv namespace create OAUTH_KV
# production secrets
pnpm exec wrangler secret put GITHUB_CLIENT_ID
pnpm exec wrangler secret put GITHUB_CLIENT_SECRET
pnpm exec wrangler secret put COOKIE_ENCRYPTION_KEY # openssl rand -hex 32
pnpm exec wrangler secret put TRELLO_KEY
pnpm exec wrangler secret put TRELLO_TOKEN
# deploy
pnpm exec wrangler deploy
For local dev, copy .dev.vars.example to .dev.vars and fill in the values; then pnpm dev.
4. Add to claude.ai
Settings → Connectors → Add custom connector. URL: https://trello-mcp.<your-subdomain>.workers.dev/mcp. Sign in with GitHub when prompted.
Adding a new board
- In Trello: copy the board's 24-char ID from the URL or from a
list_boardscall. - In
src/trello/constants.ts: add an entry toBOARD_ALIASES. - Optionally add list aliases under
LIST_ALIASES. - Optionally mark any list as forbidden or read-only.
pnpm exec wrangler deploy.
No tool code changes are needed — the existing tools resolve aliases at call time.
Project layout
src/
index.ts — Worker entry, OAuth wiring, tool registrations
github-handler.ts — OAuth consent screen + GitHub callback
utils.ts — auth helpers (unchanged from template)
workers-oauth-utils.ts — cookie/state utilities (unchanged from template)
trello/
client.ts — typed Trello REST client (retry on 429 + 5xx)
constants.ts — aliases, forbidden + read-only lists, WIP parser
guards.ts — server-side safety guards
tools.ts — 20 tool implementations (testable in plain Node)
wrangler.jsonc — Cloudflare Workers config
package.json
tsconfig.json
.dev.vars.example
Development
pnpm install
pnpm type-check # tsc --noEmit
pnpm dev # wrangler dev → http://localhost:8788
Related
dannbleeker/trello-plugin— the local Python MCP for Claude Code on the same Trello account. The two coexist; this one is the remote connector for claude.ai.
License
MIT.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。