Atlassian Trello MCP

Atlassian Trello MCP

MCP server for Trello that enables comprehensive management of boards, cards, lists, labels, checklists, attachments, members, custom fields, and search through natural language.

Category
访问服务器

README

Trello MCP Server

npm version license: MIT

🔀 Active fork. This is a maintained fork of kocakli/Trello-Desktop-MCP integrating contributions from across the fork ecosystem (kevinhillinger, zonca, dbz-max, maks244, jantman, ThatIanMcShane, josh-argyle). PRs welcome — see Credits for what each contributor brought in. Published on npm as atlassian-trello-mcp.

A Model Context Protocol (MCP) server for Trello that works with any MCP-compatible client -- Claude Desktop, Claude Code, Gemini CLI, and more.

Provides 46 tools covering boards, cards, lists, labels, checklists, attachments, members, custom fields, and search.

Quick Start

1. Get Trello API credentials

  • Visit https://trello.com/app-key
  • Copy your API Key
  • Click "Generate a Token" for read/write access

2. Install

The easiest path is npx — no clone, no build, just run:

npx atlassian-trello-mcp

Or install from source:

git clone https://github.com/agrath/Trello-Desktop-MCP.git
cd Trello-Desktop-MCP
npm install
npm run build

3. Configure your MCP client

<details> <summary><strong>Claude Desktop</strong></summary>

Edit your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "trello": {
      "command": "npx",
      "args": ["-y", "atlassian-trello-mcp"],
      "env": {
        "TRELLO_API_KEY": "your-api-key",
        "TRELLO_TOKEN": "your-token"
      }
    }
  }
}

</details>

<details> <summary><strong>Claude Code</strong></summary>

claude mcp add trello -- npx -y atlassian-trello-mcp

Set environment variables TRELLO_API_KEY and TRELLO_TOKEN, or pass credentials per-request. </details>

<details> <summary><strong>Gemini CLI</strong></summary>

Edit ~/.gemini/settings.json:

{
  "mcpServers": {
    "trello": {
      "command": "npx",
      "args": ["-y", "atlassian-trello-mcp"],
      "env": {
        "TRELLO_API_KEY": "your-api-key",
        "TRELLO_TOKEN": "your-token"
      }
    }
  }
}

</details>

<details> <summary><strong>Generic MCP client / source install</strong></summary>

The server uses stdio transport. Run with environment variables set:

TRELLO_API_KEY=your-key TRELLO_TOKEN=your-token npx atlassian-trello-mcp
# or, from a source clone:
TRELLO_API_KEY=your-key TRELLO_TOKEN=your-token node dist/index.js

</details>

Credentials

Credentials can be provided two ways:

  1. Environment variables (recommended): Set TRELLO_API_KEY and TRELLO_TOKEN
  2. Per-request: Pass apiKey and token as tool parameters (overrides env vars)

Available Tools (46)

Boards & Lists

Tool Description
list_boards List all accessible boards
trello_get_user_boards Get boards with user profile info
get_board_details Board metadata, lists, and optionally cards
get_lists Get all lists on a board
trello_filter_lists Filter lists by name (case-insensitive substring match)
trello_create_list Create a new list on a board
trello_get_board_members Get all members on a board
trello_get_board_labels Get all labels on a board
trello_get_board_cards Get all cards on a board (compact or full)
trello_get_board_custom_fields Get custom field definitions

Cards

Tool Description
create_card Create a card with name, description, due date, labels, members
get_card Get card details
update_card Update card properties
move_card Move a card to a different list
trello_archive_card Archive or unarchive a card
trello_get_list_cards Get cards in a list (compact or full mode)

Comments & Activity

Tool Description
trello_add_comment Add a comment to a card
trello_get_card_actions Get card activity history and comments

Labels

Tool Description
trello_create_label Create a label on a board
trello_update_label Update label name or color
trello_delete_label Delete a label
trello_add_label_to_card Assign a label to a card
trello_remove_label_from_card Remove a label from a card

Members on Cards

Tool Description
trello_get_member Get member profile details
trello_add_member_to_card Assign a member to a card
trello_remove_member_from_card Remove a member from a card

Attachments

Tool Description
trello_get_card_attachments List all attachments on a card
trello_get_card_attachment Get a specific attachment
trello_create_card_attachment Attach a URL or upload a local file
trello_delete_card_attachment Delete an attachment

Checklists

Tool Description
trello_create_checklist Create a checklist on a card
trello_get_checklist Get a checklist with items
trello_update_checklist Update checklist name or position
trello_delete_checklist Delete a checklist
trello_get_checklist_field Get a specific checklist field
trello_update_checklist_field Update a specific checklist field
trello_get_board_for_checklist Get the board a checklist belongs to
trello_get_card_for_checklist Get the card a checklist belongs to
trello_get_card_checklists Get all checklists on a card

Check Items

Tool Description
trello_create_check_item Add an item to a checklist
trello_get_check_items Get all items on a checklist
trello_get_check_item Get a specific check item
trello_update_check_item Update item (name, state, due date, assignee)
trello_delete_check_item Delete a check item

Search

Tool Description
trello_search Search across boards, cards, members, organizations

Configuration

Read-only mode

Set TRELLO_READ_ONLY=true to disable all write operations. Only read/query tools will be available.

{
  "env": {
    "TRELLO_API_KEY": "your-key",
    "TRELLO_TOKEN": "your-token",
    "TRELLO_READ_ONLY": "true"
  }
}

Compact mode

Several tools support a compact parameter (default: true) that returns minimal fields to reduce response size. Set compact: false for full details including descriptions, labels, members, and custom fields.

Tools with compact mode: get_board_details, trello_get_board_cards, trello_get_list_cards, trello_search.

Image attachment download

When get_card is called and the card has image attachments, the server downloads them and returns them as inline MCP image content blocks alongside the JSON — letting the client see card images directly. Downloads are restricted to Trello-hosted URLs (*.trello.com, trello-attachments.s3.amazonaws.com) and capped at 5 MB per image to mitigate SSRF and payload-bloat risks.

Set TRELLO_DOWNLOAD_IMAGES=false (or 0/no/off) to disable entirely — the server will skip the extra getCardAttachments call and return text only. Default is enabled.

Logging

Set TRELLO_MCP_LOGGING=true to enable file-based logging via Pino. Logs are written to dist/logs/app.log.

Development

Project structure

src/
  index.ts              Entry point (credential injection, tool routing)
  server.ts             MCP server factory (read-only mode support)
  tools/
    boards.ts           Board tools (list, details, lists, filter)
    cards.ts            Card tools (CRUD, archive)
    lists.ts            List tools (cards, create list, comments)
    members.ts          Member tools (user boards, member details)
    search.ts           Search tool
    advanced.ts         Labels, attachments, members on cards, custom fields
    checklists.ts       Checklist and check item tools (13 tools)
  trello/
    client.ts           TrelloClient (API calls, retry, rate limiting)
  types/
    trello.ts           TypeScript interfaces
  utils/
    validation.ts       Zod schemas, extractCredentials, extractTrelloId
    logger.ts           Pino file logger
    health.ts           Health check utility
    appInsights.ts      Telemetry (no-op)
tests/
  validation.test.ts    Validation and credential extraction tests
  trelloClient.test.ts  API client tests (mocked fetch)
  tools.test.ts         Tool handler tests (mocked client)

Build & test

npm install
npm run build
npm test
npm run type-check

Key patterns

  • ID resolution: All tools accept Trello URLs, short IDs, or full 24-char hex IDs via extractTrelloId()
  • Credential fallback: extractCredentials() checks args first, then env vars
  • Retry with backoff: TrelloClient retries on 500/network errors (3 attempts, exponential backoff)
  • Rate limiting: Extracts and returns x-rate-limit-* headers from every response
  • Validation: Zod schemas validate all inputs before API calls

Contributing

Pull requests are welcome and actively reviewed. This fork is maintained by an extensive Trello user, so features get real-world testing.

If you've forked the original project and built something useful, please submit a PR here rather than maintaining a separate fork -- it's easier for everyone to benefit from a single well-maintained project.

To contribute:

  1. Fork this repo
  2. Create a feature branch
  3. Add tests for new functionality
  4. Run npm test and npm run build
  5. Submit a pull request with a clear description of what and why

Credits

This project is a fork of kocakli/Trello-Desktop-MCP. Features and ideas were incorporated from across the fork ecosystem:

  • kocakli -- Original project, MCP client-agnostic rebranding, stderr logging fix
  • kevinhillinger -- Credential injection architecture, label deletion, card member management, card archiving, expanded TypeScript types, resources layer
  • zonca -- Centralized credential handling with env var fallback, label management tools, comprehensive unit tests, improved TypeScript types replacing any
  • dbz-max -- Custom fields support (board custom fields + card custom field items)
  • maks244 -- Read-only mode concept, list filtering by name, credential stripping from telemetry logs
  • jantman -- Fix for numeric pos values rejected when sent as strings by MCP clients
  • ThatIanMcShane -- Bumped @modelcontextprotocol/sdk 1.0.4 → 1.29.0 to fix connection timeouts with current Claude Code releases
  • josh-argyle -- Auto-download image attachments in get_card responses as inline MCP image content blocks (with allowlist + size cap added during port)

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选