trello-mcp-server
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides complete access to Trello boards, lists, cards, members, labels, and checklists through a comprehensive set of tools for interacting with the Trello API
Trello MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with the Trello API. Built on the Generic MCP Server Template.
Features
- Trello Integration: Complete access to Trello boards, lists, cards, and more
- Comprehensive API Coverage: Support for all major Trello operations
- Modular Architecture: Clear separation of concerns with a well-defined structure
- Type Safety: Full TypeScript support with proper typing for Trello objects
- Error Handling: Robust error management throughout the codebase
Project Structure
Getting Started
Prerequisites
- Node.js 18 or higher
- npm or yarn
- Trello API key and token
Installation
- Clone this repository:Copy
- Install dependencies:Copy
- Create a
.env
file based on.env.example
:Copy - Edit the
.env
file with your Trello API key and token:You can obtain these from the Trello Developer Portal.Copy
Building and Running
- Build the project:Copy
- Run the server:Copy
Available Tools
The server provides tools for interacting with all major Trello resources:
Board Tools
get_boards
- Get all boards for the authenticated userget_board
- Get a specific board by IDcreate_board
- Create a new boardupdate_board
- Update an existing boarddelete_board
- Delete a boardget_board_lists
- Get all lists on a boardget_board_members
- Get all members of a boardget_board_labels
- Get all labels on a boardclose_board
- Close (archive) a boardreopen_board
- Reopen a closed board
List Tools
get_list
- Get a specific list by IDcreate_list
- Create a new list on a boardupdate_list
- Update an existing listarchive_list
- Archive a listunarchive_list
- Unarchive a listmove_list_to_board
- Move a list to a different boardget_cards_in_list
- Get all cards in a listarchive_all_cards
- Archive all cards in a listmove_all_cards
- Move all cards in a list to another listupdate_list_position
- Update the position of a list on a boardupdate_list_name
- Update the name of a listsubscribe_to_list
- Subscribe to a list
Card Tools
get_card
- Get a specific card by IDcreate_card
- Create a new cardupdate_card
- Update an existing carddelete_card
- Delete a cardarchive_card
- Archive a cardunarchive_card
- Unarchive a cardmove_card_to_list
- Move a card to a different listadd_comment
- Add a comment to a cardget_comments
- Get comments on a cardadd_attachment
- Add an attachment to a cardget_attachments
- Get attachments on a carddelete_attachment
- Delete an attachment from a cardadd_member
- Add a member to a cardremove_member
- Remove a member from a cardadd_label
- Add a label to a cardremove_label
- Remove a label from a cardset_due_date
- Set the due date for a cardset_due_complete
- Mark a card's due date as complete or incomplete
Member Tools
get_me
- Get the authenticated member (current user)get_member
- Get a specific member by ID or usernameget_member_boards
- Get boards that a member belongs toget_member_cards
- Get cards assigned to a memberget_boards_invited
- Get boards that a member has been invited toget_member_organizations
- Get organizations that a member belongs toget_notifications
- Get notifications for the authenticated memberupdate_me
- Update the authenticated member's informationget_avatar
- Get the authenticated member's avatarsearch_members
- Search for members by nameget_board_members
- Get members of a boardget_organization_members
- Get members of an organizationget_card_members
- Get members assigned to a card
Label Tools
get_label
- Get a specific label by IDcreate_label
- Create a new label on a boardupdate_label
- Update an existing labeldelete_label
- Delete a labelget_board_labels
- Get all labels on a boardupdate_label_name
- Update the name of a labelupdate_label_color
- Update the color of a labelcreate_label_on_card
- Create a new label directly on a cardget_card_labels
- Get all labels on a cardadd_label_to_card
- Add a label to a cardremove_label_from_card
- Remove a label from a card
Checklist Tools
get_checklist
- Get a specific checklist by IDcreate_checklist
- Create a new checklist on a cardupdate_checklist
- Update an existing checklistdelete_checklist
- Delete a checklistget_checkitems
- Get all checkitems on a checklistcreate_checkitem
- Create a new checkitem on a checklistget_checkitem
- Get a specific checkitem on a checklistupdate_checkitem
- Update a checkitem on a checklistdelete_checkitem
- Delete a checkitem from a checklistupdate_checklist_name
- Update the name of a checklistupdate_checklist_position
- Update the position of a checklist on a cardget_checklist_board
- Get the board a checklist is onget_checklist_card
- Get the card a checklist is onupdate_checkitem_state_on_card
- Update a checkitem's state on a card
Configuration
The server uses a centralized configuration system in src/config.ts
. Configuration can be provided through:
- Environment variables
- Command line arguments (with
--env KEY=VALUE
) - Default values in the code
Required environment variables:
TRELLO_API_KEY
- Your Trello API keyTRELLO_TOKEN
- Your Trello API token
Error Handling
The server includes comprehensive error handling:
- Service-level error handling with rate limiting support
- Tool-level error handling with proper error messages
- MCP protocol error handling
- Trello API error handling
License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
Connects to Trello with all the tools available that I was able to find in API reference