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
Related MCP server: MCP Server Trello
Project Structure
Getting Started
Prerequisites
Node.js 18 or higher
npm or yarn
Trello API key and token
Installation
Clone this repository:
git clone https://github.com/yourusername/trello-mcp-server.git cd trello-mcp-serverInstall dependencies:
npm installCreate a
.envfile based on.env.example:cp .env.example .envEdit the
.envfile with your Trello API key and token:TRELLO_API_KEY=your_trello_api_key TRELLO_TOKEN=your_trello_tokenYou can obtain these from the Trello Developer Portal.
Building and Running
Build the project:
npm run buildRun the server:
npm start
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.