Trello MCP server
Maintained Trello MCP server: full board, list, card, checklist, label, member, and attachment management across boards and workspaces.
mcp-server-trello is a maintained, full-surface MCP server for Trello, the Kanban-style project tool. It lets an AI agent run a Trello workspace end to end: list boards and workspaces, set an active board, create boards, manage lists (create, archive, reorder, reposition), and do complete card lifecycle work — create, read with full detail, update, move across lists and boards, copy, archive, and bulk-add cards. On top of cards it handles comments, checklists (including completion percentages and an Acceptance Criteria helper), labels, board members and card assignments, custom fields, attachments, and card history.
The server runs locally over stdio via npx (npx @delorenj/mcp-server-trello) and authenticates with a TRELLO_API_KEY and TRELLO_TOKEN from your Trello developer account. Optional environment variables select an active workspace, restrict the agent to an allow-list of workspace IDs, and route through a corporate proxy. It is built on the Bun runtime for speed, enforces built-in rate limiting to stay within Trello's API limits, and exposes attachment tools that accept URLs, local files, or base64 data, plus a small set of health and self-repair endpoints for operating it as a long-running service.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"trello": {
"command": "npx",
"args": [
"-y",
"@delorenj/mcp-server-trello"
],
"env": {
"TRELLO_API_KEY": "<TRELLO_API_KEY>",
"TRELLO_TOKEN": "<TRELLO_TOKEN>",
"TRELLO_WORKSPACE_ID": "<TRELLO_WORKSPACE_ID>"
}
}
}
}claude mcp add trello -- npx -y @delorenj/mcp-server-trelloAvailable tools
| Tool | Description |
|---|---|
| list_boards | List all boards the user has access to. |
| set_active_board | Set the active board for future operations. |
| create_board | Create a new Trello board, optionally within a workspace. |
| get_active_board_info | Get information about the currently active board. |
| list_workspaces | List the workspaces the user has access to (restricted to TRELLO_ALLOWED_WORKSPACES if configured). |
| set_active_workspace | Set the active workspace for future operations. |
| list_boards_in_workspace | List all boards in a specific workspace. |
| get_board_members | Get all members of a specific board. |
| get_board_labels | Get all labels defined on a specific board. |
| create_label | Create a new label on a board. |
| update_label | Update an existing label. |
| delete_label | Delete a label from a board. |
| get_board_custom_fields | Get all custom field definitions on a board (IDs, names, and types). |
| update_card_custom_field | Set or clear a custom field value on a card (requires Trello Standard plan or higher). |
| get_lists | Retrieve all lists from the specified board. |
| add_list_to_board | Add a new list to the specified board. |
| archive_list | Send a list to the archive on a specific board. |
| update_list | Update a list's name, archive state, subscription state, or board. |
| update_list_position | Update the position of a list on the board using Trello's fractional indexing. |
| get_cards_by_list_id | Fetch all cards from a specific list on a specific board. |
| add_card_to_list | Add a new card to a specified list on a specific board. |
| add_cards_to_list | Add multiple cards to a list in one operation (created sequentially). |
| get_card | Get detailed information about a specific card, including checklists and attachments. |
| update_card_details | Update a card's details such as name, description, due date, and position. |
| move_card | Move a card to a different list, potentially on a different board. |
| copy_card | Copy or duplicate a card to any list, even on a different board, copying its properties by default. |
| archive_card | Send a card to the archive on a specific board. |
| get_my_cards | Fetch all cards assigned to the current user. |
| get_card_history | Get the history and actions of a specific card. |
| get_recent_activity | Fetch recent activity on the Trello board. |
| assign_member_to_card | Assign a member to a specific card. |
| remove_member_from_card | Remove a member from a specific card. |
| add_comment | Add the given text as a new comment to a card. |
| update_comment | Update an existing comment with new text. |
| delete_comment | Delete a comment from a card. |
| get_card_comments | Retrieve all comments from a specific card. |
| create_checklist | Create a new checklist on a card. |
| get_checklist_items | Get all items from a checklist by name. |
| add_checklist_item | Add a new item to a checklist. |
| find_checklist_items_by_description | Search for checklist items containing specific text in their description. |
| get_acceptance_criteria | Get all items from the 'Acceptance Criteria' checklist on a card. |
| get_checklist_by_name | Get a complete checklist with all its items and completion percentage. |
| update_checklist_item | Update a checklist item's name, state, position, due date, reminder, or assigned member. |
| delete_checklist_item | Delete a checklist item from a card. |
| copy_checklist | Copy a checklist with all its items from one card to another, across boards if needed. |
| attach_image_to_card | Attach an image to a card from a URL. |
| attach_file_to_card | Attach any file to a card from a URL on a specific board. |
| attach_data_to_card | Attach binary data (image, markdown, PDF, text, etc.) to a card from base64-encoded data or a data URL. |
| attach_image_data_to_card | Attach an image to a card from base64 data or a data URL. |
| download_attachment | Download an attachment from a card, returning base64-encoded data. |
| get_health | Basic health check reporting whether the server is up. |
| get_health_detailed | Detailed health check covering Trello API connectivity and subsystem status. |
| get_health_metadata | Report server health metadata such as version and configuration. |
| get_health_performance | Report server performance metrics such as request timing and rate-limit headroom. |
| perform_system_repair | Run a self-repair routine to recover the server from a degraded state. |
Required configuration
- TRELLO_API_KEYRequired
Trello API key from trello.com/power-ups/admin. Required.
- TRELLO_TOKENRequired
Trello API token authorizing the key against your account. Required.
- TRELLO_WORKSPACE_IDOptional
ID of the workspace to select on startup. Optional.
- TRELLO_ALLOWED_WORKSPACESOptional
Comma-separated list of workspace IDs to restrict the agent's access to. Optional.
- https_proxyOptional
Outbound HTTP proxy for corporate networks. Optional.
What you can do with it
Run your Kanban board from an agent
The agent lists boards, sets the active one, and drives the workflow: create cards with add_card_to_list, move them across lists with move_card, assign members, and tick off checklist items as work completes.
Turn specs into structured cards
Hand the agent a feature spec and it creates a card, fills an Acceptance Criteria checklist, applies labels, and attaches a design file from a URL — capturing the whole task in Trello in one prompt.
FAQ
- Is it free?
- Yes. mcp-server-trello is open source and free to run via npx. It uses your Trello account, so Trello's own plan limits apply — custom fields, for instance, require a Trello Standard plan or higher.
- Does it support remote/OAuth?
- The canonical mode is local stdio via npx, authenticating with a TRELLO_API_KEY and TRELLO_TOKEN from your Trello developer account rather than an interactive OAuth flow. Built-in rate limiting keeps it within Trello's API limits, and TRELLO_ALLOWED_WORKSPACES can restrict which workspaces the agent may touch.