MCP Server Trello

by delorenj

23 stars
1 downloads
Not rated
GitHub

About

Facilitates interaction with Trello boards via the Trello API, offering features like rate limiting, type safety, input validation, and error handling for seamless management of cards, lists, and board activities.

Details

Author
delorenj
Repository
delorenj/mcp-server-trello
GitHub stars
23
Downloads
1
License
MIT License
Categories
Developer Tools, Project Management, Other

- Full Trello Board Integration: Interact with cards, lists, and board activities
- Acceptance Criteria Extraction: Pull a card's acceptance criteria checklist directly into agent context
- Checklist Intelligence: Query checklist items by name or description, track completion, manage items
- Complete Card Data Extraction: Fetch all card details including checklists, attachments, labels, members, and comments
- 💬 Comment Management: Add, update, delete, and retrieve comments on cards
- Activity Subscriptions: Watch cards and lists so their activity surfaces in Trello notifications
- List Management: Create, update, reorder, and archive lists
- File Attachments: Attach any type of file to cards (PDFs, documents, videos, images, etc.) from URLs
- Custom Fields: Read board custom field definitions and update card values
- Built-in Rate Limiting: Respects Trello's API limits (300 requests/10s per API key, 100 requests/10s per token)
- Type-Safe Implementation: Written in TypeScript with comprehensive type definitions
- Input Validation: Robust validation for all API inputs
- Error Handling: Graceful error handling with informative messages
- Dynamic Board Selection: Switch between boards and workspaces without restarting
- Markdown Formatting: Export card data in human-readable markdown format

Setting up with Highlight

Follow these steps to add this server as a custom Highlight plugin:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Server Trello
    Command (node, npx, python, etc.) bunx
    Arguments
    • Argument 1 @delorenj/mcp-server-trello
    Environment
    • TRELLO_TOKEN your-trello-token
    • TRELLO_API_KEY your-trello-api-key

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

1. Clone the repository

<!-- end list -->

git clone https://github.com/delorenj/mcp-server-trello
cd mcp-server-trello

2. Install dependencies

<!-- end list -->

bun install

3. Build the project

<!-- end list -->

bun run build

Add the server to your client's MCP configuration:

{
  "mcpServers": {
    "trello": {
      "command": "bunx",
      "args": ["@delorenj/mcp-server-trello"],
      "env": {
        "TRELLO_API_KEY": "your-trello-api-key",
        "TRELLO_TOKEN": "your-trello-token"
      }
    }
  }
}

bunx starts fastest, but npx works identically. Get your API key at trello.com/app-key and generate a token from the same page.

The server can be configured using environment variables. Create a .env file in the root directory with the following variables:


To run the tests, run the following command:

bash
bun test

The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the bunx command. Full documentation can be found here.

bash
OPENAI_API_KEY=your-key bunx mcp-eval src/evals/evals.ts src/index.ts
```

get_checklist_items

Get all items from a checklist by name. Parameters: name (string), boardId (optional string)

add_checklist_item

Add a new item to an existing checklist. Parameters: text (string), checkListName (string), boardId (optional string)

find_checklist_items_by_description

Search for checklist items containing specific text. Parameters: description (string), boardId (optional string)

get_acceptance_criteria

Get all items from the 'Acceptance Criteria' checklist. Parameters: boardId (optional string)

get_checklist_by_name

Get a complete checklist with all items and completion percentage. Parameters: name (string), boardId (optional string)

update_checklist_item

Update an existing checklist item. Parameters: cardId (string), checkItemId (string), name (optional string), state (optional string), pos (optional number or string), due (optional string), dueReminder (optional number), idMember (optional string)

delete_checklist_item

Delete an existing checklist item. Parameters: cardId (string), checkItemId (string)

get_card

Get comprehensive details of a specific Trello card. Parameters: cardId (string), includeMarkdown (optional boolean)

get_cards_by_list_id

Fetch all cards from a specific list. Parameters: boardId (optional string), listId (string)

get_lists

Retrieve all lists from a board. Parameters: boardId (optional string)

get_recent_activity

Fetch recent activity on a board. Parameters: boardId (optional string), limit (optional number)

add_card_to_list

Add a new card to a specified list. Parameters: boardId (optional string), listId (string), name (string), description (optional string), dueDate (optional string), start (optional string), labels (optional array of strings)

update_card_details

Update an existing card's details. Parameters: boardId (optional string), cardId (string), name (optional string), description (optional string), dueDate (optional string), start (optional string), dueComplete (optional boolean), labels (optional array of strings)

archive_card

Send a card to the archive. Parameters: boardId (optional string), cardId (string)

add_list_to_board

Add a new list to a board. Parameters: boardId (optional string), name (string)

archive_list

Send a list to the archive. Parameters: boardId (optional string), listId (string)

update_list

Update a list's name, archive state, subscription state, or board. Parameters: listId (string), name (optional string), closed (optional boolean), subscribed (optional boolean), idBoard (optional string)

update_list_position

Update the position of a list on the board. Parameters: listId (string), position (string)

get_my_cards

Fetch all cards assigned to the current user. Parameters: none

move_card

Move a card to a different list. Parameters: boardId (optional string), cardId (string), listId (string)

attach_image_to_card

Attach an image to a card directly from a URL. Parameters: boardId (optional string), cardId (string), imageUrl (string), name (optional string)

attach_file_to_card

Attach any type of file to a card from a URL or a local file path. Parameters: boardId (optional string), cardId (string), fileUrl (string), name (optional string), mimeType (optional string)

download_attachment

Download an attachment from a card by ID. Parameters: cardId (string), attachmentId (string)

add_comment

Add a comment to a Trello card. Parameters: cardId (string), text (string)

update_comment

Update an existing comment on a card. Parameters: commentId (string), text (string)

delete_comment

Delete a comment from a card. Parameters: commentId (string)

get_card_comments

Retrieve all comments from a specific card. Parameters: cardId (string), limit (optional number)

list_boards

List all boards the user has access to. Parameters: none

set_active_board

Set the active board for future operations. Parameters: boardId (string)

list_workspaces

List all workspaces the user has access to. Parameters: none

set_active_workspace

Set the active workspace for future operations. Parameters: workspaceId (string)

list_boards_in_workspace

List all boards in a specific workspace. Parameters: workspaceId (string)

get_active_board_info

Get information about the currently active board. Parameters: none

get_board_custom_fields

Get all custom field definitions on a board. Parameters: boardId (optional string)

update_card_custom_field

Set or clear a custom field value on a card. Parameters: cardId (string), customFieldId (string), type (string), value (optional string)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp server trello": {
            "env": {
                "TRELLO_TOKEN": "your-trello-token",
                "TRELLO_API_KEY": "your-trello-api-key"
            },
            "args": [
                "@delorenj/mcp-server-trello"
            ],
            "command": "bunx"
        }
    }
}

Linux

{
    "env": {
        "TRELLO_TOKEN": "your-trello-token",
        "TRELLO_API_KEY": "your-trello-api-key"
    },
    "args": [
        "@delorenj/mcp-server-trello"
    ],
    "command": "bunx"
}

Macos

{
    "env": {
        "TRELLO_TOKEN": "your-trello-token",
        "TRELLO_API_KEY": "your-trello-api-key"
    },
    "args": [
        "@delorenj/mcp-server-trello"
    ],
    "command": "bunx"
}

Windows

{
    "env": {
        "TRELLO_TOKEN": "your-trello-token",
        "TRELLO_API_KEY": "your-trello-api-key"
    },
    "args": [
        "/c",
        "bunx",
        "@delorenj/mcp-server-trello"
    ],
    "command": "cmd"
}

MCP Server Trello

Verified on MseeP
MCP Registry
npm version

<a href="https://glama.ai/mcp/servers/klqkamy7wt">Server Trello MCP server</a>

A Model Context Protocol (MCP) server that gives AI agents full access to your Trello boards — cards, lists, checklists, attachments, comments, custom fields, and workspaces — with built-in rate limiting, type safety, and workflow-level tools you won't find in a plain API wrapper, like acceptance-criteria extraction and checklist dependency queries. 57 tools, one npx install, powered by Bun.

Highlights

- Acceptance criteria, natively: get_acceptance_criteria pulls a card's AC checklist straight into your agent's context — no competitor offers it.
- Watch anything: watch_card and watch_list route card and list activity into your Trello notifications.
- Full list management: create, update, reorder (update_list_position), and archive lists.
- Board and workspace switching on the fly: no restarts, no config edits.
- Rate limiting handled for you: respects Trello's API limits automatically (300 req/10s per key, 100 req/10s per token).
- Bun-powered: fast startup and a 2.8-4.4x performance boost over the old Node build. npx and npm work too.

Changelog

For a detailed list of changes, see CHANGELOG.md.

Features

- Full Trello Board Integration: Interact with cards, lists, and board activities
- Acceptance Criteria Extraction: Pull a card's acceptance criteria checklist directly into agent context
- Checklist Intelligence: Query checklist items by name or description, track completion, manage items
- Complete Card Data Extraction: Fetch all card details including checklists, attachments, labels, members, and comments
- 💬 Comment Management: Add, update, delete, and retrieve comments on cards
- Activity Subscriptions: Watch cards and lists so their activity surfaces in Trello notifications
- List Management: Create, update, reorder, and archive lists
- File Attachments: Attach any type of file to cards (PDFs, documents, videos, images, etc.) from URLs
- Custom Fields: Read board custom field definitions and update card values
- Built-in Rate Limiting: Respects Trello's API limits (300 requests/10s per API key, 100 requests/10s per token)
- Type-Safe Implementation: Written in TypeScript with comprehensive type definitions
- Input Validation: Robust validation for all API inputs
- Error Handling: Graceful error handling with informative messages
- Dynamic Board Selection: Switch between boards and workspaces without restarting
- Markdown Formatting: Export card data in human-readable markdown format

Installation

The server is published on npm as @delorenj/mcp-server-trello. Add it to your MCP client and you're done — no clone, no build.

Quickstart (Claude Desktop, Cursor, and other MCP clients)

Add the server to your client's MCP configuration:

{
  "mcpServers": {
    "trello": {
      "command": "bunx",
      "args": ["@delorenj/mcp-server-trello"],
      "env": {
        "TRELLO_API_KEY": "your-trello-api-key",
        "TRELLO_TOKEN": "your-trello-token"
      }
    }
  }
}

bunx starts fastest, but npx works identically. Get your API key at trello.com/app-key and generate a token from the same page.

Claude Code

Register the server with the CLI:

claude mcp add trello \
  --env TRELLO_API_KEY=your-trello-api-key \
  --env TRELLO_TOKEN=your-trello-token \
  -- bunx @delorenj/mcp-server-trello

MCP Registry

The server is listed on the official MCP Registry as io.github.delorenj/mcp-server-trello, so registry-aware clients can discover and install it directly.

Agent skill package (optional)

This repository also ships a BMAD-compatible skill package for the
Trello MCP server. Install the skill/ directory through your agent's skill
management workflow, or place it in the agent's skills directory.

When an agent activates the skill, it follows skill/SKILL.md. On first use,
the agent runs the bundled installer:

bash skill/scripts/install.sh

The installer builds the MCP server from skill/assets/source/ when Bun is
available. If Bun is unavailable, it falls back to the published Smithery
install path for @delorenj/mcp-server-trello and creates the same local
build/index.js command path used by the skill activation check.

Skill package structure

The skill is the agent-facing entry point for this repository.

- skill/SKILL.md: Activation, routing, and agent workflow rules.
- skill/scripts/install.sh: First-run installer for the bundled server.
- skill/references/trello-mcp/: Focused references for setup, tools,
workflows, and gotchas.
- skill/assets/source/: Bundled MCP server source used for local builds.

For AI agents, start with skill/SKILL.md rather than this README. The README
is the human-facing overview; the skill references are the operational surface
for tool selection and Trello workflow rules.

Maintainers can refresh the bundled source before packaging with:

mise run package

Configuration

Environment Variables

The server can be configured using environment variables. Create a .env file in the root directory with the following variables:

```env

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.