Trello MCP

Trello MCP

A personal remote MCP server that lets Claude read and update Trello boards, with safety guards and access control.

Category
访问服务器

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_card source OR destination refused. create_card to this list refused.
  • WIP-limit warnings — when a move_card or create_card puts 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_card is 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

  1. In Trello: copy the board's 24-char ID from the URL or from a list_boards call.
  2. In src/trello/constants.ts: add an entry to BOARD_ALIASES.
  3. Optionally add list aliases under LIST_ALIASES.
  4. Optionally mark any list as forbidden or read-only.
  5. 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选