The MCP Server Trello provides tools for programmatic interaction with Trello boards, lists, and cards through the Model Context Protocol. It offers capabilities including card data extraction, comment management, file attachments, board navigation, and markdown export, while automatically handling rate limiting and providing type-safe error handling. This server solves the problem of integrating Trello automation into AI-assisted workflows by exposing Trello's API through a standardized MCP interface with built-in safeguards and validation.
Public tool metadata for what this MCP can expose to an agent.
TRELLO_ADD_BOARDSCreates a new Trello board; the 'name' parameter is required for creation, and various preferences can be customized or cloned from a source board.31 paramsCreates a new Trello board; the 'name' parameter is required for creation, and various preferences can be customized or cloned from a source board.
descstringnamestringclosedstringpowerUpsstringsubscribedstringprefs_votingstringidBoardSourcestringprefs__votingstringidOrganizationstringkeepFromSourcestringprefs_commentsstringprefs_selfJoinstringlabelNames__redstringprefs__commentsstringprefs__selfJoinstringprefs_cardAgingstringlabelNames__bluestringprefs__cardAgingstringprefs_backgroundstringprefs_cardCoversstringlabelNames__greenstringprefs__backgroundstringprefs__cardCoversstringprefs_invitationsstringlabelNames__orangestringlabelNames__purplestringlabelNames__yellowstringprefs__invitationsstringprefs_permissionLevelstringprefs__permissionLevelstringprefs__calendarFeedEnabledstringTRELLO_ADD_BOARDS_CALENDAR_KEY_GENERATE_BY_ID_BOARDGenerates a new calendar key for the Trello board specified by `idBoard`, invalidating any previous key for that board.1 paramsGenerates a new calendar key for the Trello board specified by `idBoard`, invalidating any previous key for that board.
idBoardstringTRELLO_ADD_BOARDS_CHECKLISTS_BY_ID_BOARDCreates a new, initially empty checklist with a given name on an existing Trello card. Checklists are created on cards, not boards.2 paramsCreates a new, initially empty checklist with a given name on an existing Trello card. Checklists are created on cards, not boards.
namestringidCardstringTRELLO_ADD_BOARDS_EMAIL_KEY_GENERATE_BY_ID_BOARDGenerates a new email key for the Trello board specified by idBoard to enable or reset adding cards via email; this invalidates any previously existing email key for the board.1 paramsGenerates a new email key for the Trello board specified by idBoard to enable or reset adding cards via email; this invalidates any previously existing email key for the board.
idBoardstringTRELLO_ADD_BOARDS_LABELS_BY_ID_BOARDCreates a new label on an existing Trello board.3 paramsCreates a new label on an existing Trello board.
namestringcolorstringidBoardstringTRELLO_ADD_BOARDS_LISTS_BY_ID_BOARDCreates a new, empty list on a specified, existing Trello board, typically used as a column or category for organizing cards.3 paramsCreates a new, empty list on a specified, existing Trello board, typically used as a column or category for organizing cards.
posstringnamestringidBoardstringTRELLO_ADD_BOARDS_MARK_AS_VIEWED_BY_ID_BOARDMarks the Trello board specified by idBoard as viewed for the current user, exclusively updating its viewed status and potentially influencing its position in user-specific lists and notification settings.1 paramsMarks the Trello board specified by idBoard as viewed for the current user, exclusively updating its viewed status and potentially influencing its position in user-specific lists and notification settings.
idBoardstringTRELLO_ADD_BOARDS_POWER_UPS_BY_ID_BOARDEnables the Power-Up specified by the 'value' parameter on the board; processes one Power-Up enablement per call.2 paramsEnables the Power-Up specified by the 'value' parameter on the board; processes one Power-Up enablement per call.
valuestringidBoardstringTRELLO_ADD_CARDSCreates a new card in a Trello list; `idList` is required, and if `idCardSource` is used, the source card must be accessible.16 paramsCreates a new card in a Trello list; `idList` is required, and if `idCardSource` is used, the source card must be accessible.
duestringposstringdescstringnamestringclosedstringidListstringlabelsstringidBoardstringidLabelsstringidMembersstringurlSourcestringfileSourcestringsubscribedstringidCardSourcestringkeepFromSourcestringidAttachmentCoverstringTRELLO_ADD_CARDS_ACTIONS_COMMENTS_BY_ID_CARDAdds a new text comment, which can include @mentions, to a Trello card specified by its ID; file attachments are not supported via this action.2 paramsAdds a new text comment, which can include @mentions, to a Trello card specified by its ID; file attachments are not supported via this action.
textstringidCardstringTRELLO_ADD_CARDS_ATTACHMENTS_BY_ID_CARDAdds an attachment to a Trello card by `idCard`; specify either a `file` to upload or a `url` to link, but not both.5 paramsAdds an attachment to a Trello card by `idCard`; specify either a `file` to upload or a `url` to link, but not both.
urlstringfilestringnamestringidCardstringmimeTypestringTRELLO_ADD_CARDS_CHECKLIST_CHECK_ITEM_BY_ID_CARD_BY_ID_CHECKLISTAdds a new check item to an existing checklist on a specific Trello card.4 paramsAdds a new check item to an existing checklist on a specific Trello card.
posstringnamestringidCardstringidCheckliststringTRELLO_ADD_CARDS_CHECKLISTS_BY_ID_CARDAdds a checklist to a Trello card: use `value` to add a specific existing checklist, `idChecklistSource` to create a new checklist by copying an existing one (optionally using `name` for the new checklist's name), or `name` to create a new empty checklist from scratch.4 paramsAdds a checklist to a Trello card: use `value` to add a specific existing checklist, `idChecklistSource` to create a new checklist by copying an existing one (optionally using `name` for the new checklist's name), or `name` to create a new empty checklist from scratch.
namestringvaluestringidCardstringidChecklistSourcestringTRELLO_ADD_CARDS_ID_LABELS_BY_ID_CARDAdds an existing label to a Trello card; `idCard` identifies the card and `value` is the ID of the label to add. Both card and label must already exist.2 paramsAdds an existing label to a Trello card; `idCard` identifies the card and `value` is the ID of the label to add. Both card and label must already exist.
valuestringidCardstringTRELLO_ADD_CARDS_ID_MEMBERS_BY_ID_CARDAssigns a Trello member to a specific Trello card by card ID (or short link) and member ID.2 paramsAssigns a Trello member to a specific Trello card by card ID (or short link) and member ID.
valuestringidCardstringTRELLO_ADD_CARDS_LABELS_BY_ID_CARDAdds a label to an existing Trello card (specified by `idCard`), defining the label by `name` and either `color` or the overriding `value` (which specifies color by name); a new label is created on the board if a matching one (by name/color combination) doesn't already exist.4 paramsAdds a label to an existing Trello card (specified by `idCard`), defining the label by `name` and either `color` or the overriding `value` (which specifies color by name); a new label is created on the board if a matching one (by name/color combination) doesn't already exist.
namestringcolorstringvaluestringidCardstringTRELLO_ADD_CARDS_MEMBERS_VOTED_BY_ID_CARDCasts a 'yes' vote for a specified member on a Trello card; a member can only vote once per card.2 paramsCasts a 'yes' vote for a specified member on a Trello card; a member can only vote once per card.
valuestringidCardstringTRELLO_ADD_CARDS_STICKERS_BY_ID_CARDAdds a sticker to a Trello card, using a default sticker name (e.g., 'taco-cool') or a custom sticker ID for the image, and allows specifying its position, rotation, and z-index.6 paramsAdds a sticker to a Trello card, using a default sticker name (e.g., 'taco-cool') or a custom sticker ID for the image, and allows specifying its position, rotation, and z-index.
topstringleftstringimagestringidCardstringrotatestringzIndexstringTRELLO_ADD_CHECKLISTSCreates a new checklist on a Trello card, either by name or by copying from `idChecklistSource`, targeting an `idCard` or `idBoard`; this action creates only the checklist structure, not its items.5 paramsCreates a new checklist on a Trello card, either by name or by copying from `idChecklistSource`, targeting an `idCard` or `idBoard`; this action creates only the checklist structure, not its items.
posstringnamestringidCardstringidBoardstringidChecklistSourcestringTRELLO_ADD_CHECKLISTS_CHECK_ITEMS_BY_ID_CHECKLISTAdds a new check item to a specified Trello checklist; this action does not update existing check items.4 paramsAdds a new check item to a specified Trello checklist; this action does not update existing check items.
posstringnamestringcheckedstringidCheckliststringTRELLO_ADD_LABELSCreates a new label with a specified name (required) and color on a Trello board (idBoard required); this action defines the label but does not apply it to cards.3 paramsCreates a new label with a specified name (required) and color on a Trello board (idBoard required); this action defines the label but does not apply it to cards.
namestringcolorstringidBoardstringTRELLO_ADD_LISTSCreates a new list on a specified Trello board, with options to copy an existing list, set its position, initial state (archived/subscribed), and does not modify existing lists or move cards.6 paramsCreates a new list on a specified Trello board, with options to copy an existing list, set its position, initial state (archived/subscribed), and does not modify existing lists or move cards.
posstringnamestringclosedstringidBoardstringsubscribedstringidListSourcestringTRELLO_ADD_LISTS_ARCHIVE_ALL_CARDS_BY_ID_LISTArchives all cards in a Trello list; while cards can be restored via the Trello interface, this action does not provide an unarchive function.1 paramsArchives all cards in a Trello list; while cards can be restored via the Trello interface, this action does not provide an unarchive function.
idListstringTRELLO_ADD_LISTS_CARDS_BY_ID_LISTCreates a new card in a Trello list, which must be specified by an existing and accessible `idList`.6 paramsCreates a new card in a Trello list, which must be specified by an existing and accessible `idList`.
duestringdescstringnamestringidListstringlabelsstringidMembersstringTRELLO_ADD_LISTS_MOVE_ALL_CARDS_BY_ID_LISTMoves all cards from a Trello list to a *different* board; this action is irreversible, moves (not copies) cards, and empties the source list without deleting it.2 paramsMoves all cards from a Trello list to a *different* board; this action is irreversible, moves (not copies) cards, and empties the source list without deleting it.
idListstringidBoardstringTRELLO_ADD_MEMBERS_AVATAR_BY_ID_MEMBERUpdates a Trello member's avatar using a base64-encoded image; the `file` field, though schema-optional, requires valid image data for a successful update.2 paramsUpdates a Trello member's avatar using a base64-encoded image; the `file` field, though schema-optional, requires valid image data for a successful update.
filestringidMemberstringTRELLO_ADD_MEMBERS_BOARD_BACKGROUNDS_BY_ID_MEMBERAdds a new custom board background, from an image file, to a specified Trello member's collection, making it available for their use but not applying it to any board.4 paramsAdds a new custom board background, from an image file, to a specified Trello member's collection, making it available for their use but not applying it to any board.
filestringtilestringidMemberstringbrightnessstringTRELLO_ADD_MEMBERS_BOARD_STARS_BY_ID_MEMBERStars a Trello board for a member (does not remove or list stars), optionally at a specified position; the board must exist and be accessible to the member.3 paramsStars a Trello board for a member (does not remove or list stars), optionally at a specified position; the board must exist and be accessible to the member.
posstringidBoardstringidMemberstringTRELLO_ADD_MEMBERS_CUSTOM_BOARD_BACKGROUNDS_BY_ID_MEMBERAdds a new custom board background for a specified Trello member; the `file` parameter (image data) is required.4 paramsAdds a new custom board background for a specified Trello member; the `file` parameter (image data) is required.
filestringtilestringidMemberstringbrightnessstringTRELLO_ADD_MEMBERS_CUSTOM_EMOJI_BY_ID_MEMBERAdds a new custom emoji using an image file and a unique name to a Trello member's account; this emoji is member-specific and not shared across the workspace.3 paramsAdds a new custom emoji using an image file and a unique name to a Trello member's account; this emoji is member-specific and not shared across the workspace.
filestringnamestringidMemberstringTRELLO_ADD_MEMBERS_CUSTOM_STICKERS_BY_ID_MEMBERUploads a custom sticker to a Trello member's collection, if the member's plan allows custom stickers and respects associated limits.2 paramsUploads a custom sticker to a Trello member's collection, if the member's plan allows custom stickers and respects associated limits.
filestringidMemberstringTRELLO_ADD_MEMBERS_SAVED_SEARCHES_BY_ID_MEMBERCreates a new saved search with a specified name, position, and query for a Trello member.4 paramsCreates a new saved search with a specified name, position, and query for a Trello member.
posstringnamestringquerystringidMemberstringTRELLO_ADD_NOTIFICATIONS_ALL_READMarks all Trello notifications for the authenticated user as read across all boards; this action is permanent and cannot be undone.Marks all Trello notifications for the authenticated user as read across all boards; this action is permanent and cannot be undone.
No parameter schema in public metadata yet.
TRELLO_ADD_ORGANIZATIONSCreates a new Trello organization (Workspace) with a `displayName` (required), and optionally a description, website, and various preferences (e.g., board visibility, member invitation restrictions).12 paramsCreates a new Trello organization (Workspace) with a `displayName` (required), and optionally a description, website, and various preferences (e.g., board visibility, member invitation restrictions).
descstringnamestringwebsitestringdisplayNamestringprefs__permissionLevelstringprefs__associatedDomainstringprefs__googleAppsVersionstringprefs__orgInviteRestrictstringprefs__externalMembersDisabledstringprefs__boardVisibilityRestrict__orgstringprefs__boardVisibilityRestrict__publicstringprefs__boardVisibilityRestrict__privatestringTRELLO_ADD_ORGANIZATIONS_LOGO_BY_ID_ORGSets or updates the logo for a Trello organization; the provided image file must adhere to Trello's format and size restrictions.2 paramsSets or updates the logo for a Trello organization; the provided image file must adhere to Trello's format and size restrictions.
filestringidOrgstringTRELLO_ADD_SESSIONSCreates or updates a Trello user session, optionally linking it to a specific board for status updates and setting the user's activity status.2 paramsCreates or updates a Trello user session, optionally linking it to a specific board for status updates and setting the user's activity status.
statusstringidBoardstringTRELLO_ADD_TOKENS_WEBHOOKS_BY_TOKENCreates a webhook for a Trello token to monitor a Trello model (`idModel`) and send notifications to a `callbackURL`, which must be publicly accessible and able to respond to Trello's HEAD validation request.3 paramsCreates a webhook for a Trello token to monitor a Trello model (`idModel`) and send notifications to a `callbackURL`, which must be publicly accessible and able to respond to Trello's HEAD validation request.
idModelstringcallbackURLstringdescriptionstringTRELLO_CONVERT_CHECKLIST_ITEM_TO_CARDConverts a checklist item into a new card (useful for promoting a subtask), which inherits some properties from the item; this is irreversible via the API and offers no customization during conversion.3 paramsConverts a checklist item into a new card (useful for promoting a subtask), which inherits some properties from the item; this is irreversible via the API and offers no customization during conversion.
idCardstringidCheckItemstringidCheckliststringTRELLO_DELETE_ACTIONS_BY_ID_ACTIONDeletes a specific Trello action, such as a `commentCard`, by its ID; this is an irreversible operation and only applies to deletable action types, as many (especially system-generated) actions cannot be deleted.1 paramsDeletes a specific Trello action, such as a `commentCard`, by its ID; this is an irreversible operation and only applies to deletable action types, as many (especially system-generated) actions cannot be deleted.
idActionstringTRELLO_DELETE_BOARDS_MEMBERS_BY_ID_BOARD_BY_ID_MEMBERPermanently removes a current member from a Trello board, revoking their access; this action is irreversible.2 paramsPermanently removes a current member from a Trello board, revoking their access; this action is irreversible.
idBoardstringidMemberstringTRELLO_DELETE_BOARDS_POWER_UPS_BY_ID_BOARD_BY_POWER_UPDisables a Power-Up on a Trello board using the board's ID and the plugin ID of a Power-Up currently enabled on that board; this action is irreversible and may result in data loss.2 paramsDisables a Power-Up on a Trello board using the board's ID and the plugin ID of a Power-Up currently enabled on that board; this action is irreversible and may result in data loss.
idBoardstringpowerUpstringTRELLO_DELETE_CARDS_ACTIONS_COMMENTS_BY_ID_CARD_BY_ID_ACTIONDeletes a specific comment action (identified by `idAction`) from a Trello card (identified by `idCard`); this operation is irreversible and only affects comments.2 paramsDeletes a specific comment action (identified by `idAction`) from a Trello card (identified by `idCard`); this operation is irreversible and only affects comments.
idCardstringidActionstringTRELLO_DELETE_CARDS_ATTACHMENTS_BY_ID_CARD_BY_ID_ATTACHMENTPermanently removes a specified attachment from a Trello card; this action is irreversible and requires that both the card and the attachment exist.2 paramsPermanently removes a specified attachment from a Trello card; this action is irreversible and requires that both the card and the attachment exist.
idCardstringidAttachmentstringTRELLO_DELETE_CARDS_BY_ID_CARDPermanently deletes an archived Trello card specified by its `idCard`.1 paramsPermanently deletes an archived Trello card specified by its `idCard`.
idCardstringTRELLO_DELETE_CARDS_CHECKLISTS_BY_ID_CARD_BY_ID_CHECKLISTPermanently deletes a specific checklist from a Trello card.2 paramsPermanently deletes a specific checklist from a Trello card.
idCardstringidCheckliststringTRELLO_DELETE_CARDS_ID_LABELS_BY_ID_CARD_BY_ID_LABELRemoves a specific label from a Trello card; the label itself is not deleted from the board, only its association with the card.2 paramsRemoves a specific label from a Trello card; the label itself is not deleted from the board, only its association with the card.
idCardstringidLabelstringTRELLO_DELETE_CARDS_ID_MEMBERS_BY_ID_CARD_BY_ID_MEMBERRemoves a currently assigned member from a Trello card, affecting only the card's member list and not the member's board membership or overall permissions.2 paramsRemoves a currently assigned member from a Trello card, affecting only the card's member list and not the member's board membership or overall permissions.
idCardstringidMemberstringTRELLO_DELETE_CARDS_LABELS_BY_ID_CARD_BY_COLORPermanently removes a specific `color` label from an existing Trello card identified by `idCard`, if the card has that label; this only disassociates the label from the card, not deleting the label definition itself.2 paramsPermanently removes a specific `color` label from an existing Trello card identified by `idCard`, if the card has that label; this only disassociates the label from the card, not deleting the label definition itself.
colorstringidCardstringTRELLO_DELETE_CARDS_MEMBERS_VOTED_BY_ID_CARD_BY_ID_MEMBERRemoves a member's vote from a Trello card; this operation is irreversible and does not confirm if the vote existed prior to removal.2 paramsRemoves a member's vote from a Trello card; this operation is irreversible and does not confirm if the vote existed prior to removal.
idCardstringidMemberstringTRELLO_DELETE_CARDS_STICKERS_BY_ID_CARD_BY_ID_STICKERPermanently removes a specific sticker (identified by `idSticker`) from a Trello card (identified by `idCard`).2 paramsPermanently removes a specific sticker (identified by `idSticker`) from a Trello card (identified by `idCard`).
idCardstringidStickerstringTRELLO_DELETE_CHECKLIST_ITEMPermanently deletes a specific check item from a checklist on a Trello card; this operation is irreversible and only affects the specified item, not the entire checklist.2 paramsPermanently deletes a specific check item from a checklist on a Trello card; this operation is irreversible and only affects the specified item, not the entire checklist.
idCheckItemstringidCheckliststringTRELLO_DELETE_CHECKLISTS_BY_ID_CHECKLISTPermanently and irreversibly deletes a Trello checklist and all its items using the `idChecklist`.1 paramsPermanently and irreversibly deletes a Trello checklist and all its items using the `idChecklist`.
idCheckliststringTRELLO_DELETE_LABELS_BY_ID_LABELPermanently deletes an existing label from a Trello board by its ID; this operation is irreversible via the API.1 paramsPermanently deletes an existing label from a Trello board by its ID; this operation is irreversible via the API.
idLabelstringTRELLO_DELETE_MEMBER_BOARD_BACKGROUNDPermanently deletes a specific custom board background belonging to the specified Trello member; this operation cannot be undone.2 paramsPermanently deletes a specific custom board background belonging to the specified Trello member; this operation cannot be undone.
idMemberstringidBoardBackgroundstringTRELLO_DELETE_MEMBER_CUSTOM_STICKERDeletes a custom sticker from a Trello member's collection; this permanent action is only available for custom stickers within a Trello Workspace on a paid plan.2 paramsDeletes a custom sticker from a Trello member's collection; this permanent action is only available for custom stickers within a Trello Workspace on a paid plan.
idMemberstringidCustomStickerstringTRELLO_DELETE_MEMBER_SAVED_SEARCHPermanently deletes a specific saved search for a Trello member, used when the search is outdated or no longer needed.2 paramsPermanently deletes a specific saved search for a Trello member, used when the search is outdated or no longer needed.
idMemberstringidSavedSearchstringTRELLO_DELETE_MEMBERS_BOARD_STARS_BY_ID_MEMBER_BY_ID_BOARD_STARRemoves a specific starred board (identified by `idBoardStar`) from a Trello member's (identified by `idMember`) list of favorites; `idBoardStar` must be an existing star for that member.2 paramsRemoves a specific starred board (identified by `idBoardStar`) from a Trello member's (identified by `idMember`) list of favorites; `idBoardStar` must be an existing star for that member.
idMemberstringidBoardStarstringTRELLO_DELETE_ORGANIZATIONS_BY_ID_ORGPermanently deletes a Trello organization and all its associated data; this action is irreversible and requires caution.1 paramsPermanently deletes a Trello organization and all its associated data; this action is irreversible and requires caution.
idOrgstringTRELLO_DELETE_ORGANIZATIONS_LOGO_BY_ID_ORGDeletes an existing Trello organization's custom logo, restoring its default and leaving other settings unchanged; if no custom logo exists, it succeeds without effect.1 paramsDeletes an existing Trello organization's custom logo, restoring its default and leaving other settings unchanged; if no custom logo exists, it succeeds without effect.
idOrgstringTRELLO_DELETE_ORGANIZATIONS_MEMBERS_ALL_BY_ID_ORG_BY_ID_MEMBERRemoves a member entirely from a specific Trello organization, including from all its boards and cards; this action is permanent and does not delete the member's Trello account.2 paramsRemoves a member entirely from a specific Trello organization, including from all its boards and cards; this action is permanent and does not delete the member's Trello account.
idOrgstringidMemberstringTRELLO_DELETE_ORGANIZATIONS_MEMBERS_BY_ID_ORG_BY_ID_MEMBERPermanently removes a member from a Trello organization by ID, revoking all access to its content; re-invitation is required for renewed access, and this does not delete the member's Trello account.2 paramsPermanently removes a member from a Trello organization by ID, revoking all access to its content; re-invitation is required for renewed access, and this does not delete the member's Trello account.
idOrgstringidMemberstringTRELLO_DELETE_ORGANIZATIONS_PREFS_ORG_INVITE_RESTRICT_BY_ID_ORGRemoves a previously set email domain invitation restriction for a Trello organization.2 paramsRemoves a previously set email domain invitation restriction for a Trello organization.
idOrgstringvaluestringTRELLO_DELETE_ORG_ASSOCIATED_DOMAINIrreversibly deletes an associated email domain from a Trello organization's preferences to update email domain restrictions for workspace membership; the domain must be currently associated for removal.1 paramsIrreversibly deletes an associated email domain from a Trello organization's preferences to update email domain restrictions for workspace membership; the domain must be currently associated for removal.
idOrgstringTRELLO_DELETE_TOKENS_BY_TOKENDeletes a specific Trello API token, identified by its value in the path, permanently revoking its access; this action is irreversible and used to invalidate compromised or unneeded tokens.Deletes a specific Trello API token, identified by its value in the path, permanently revoking its access; this action is irreversible and used to invalidate compromised or unneeded tokens.
No parameter schema in public metadata yet.
TRELLO_DELETE_TOKENS_WEBHOOKS_BY_TOKEN_BY_ID_WEBHOOKDeletes an existing webhook, specified by its `idWebhook`, thereby stopping its notifications.1 paramsDeletes an existing webhook, specified by its `idWebhook`, thereby stopping its notifications.
idWebhookstringTRELLO_DELETE_WEBHOOKS_BY_ID_WEBHOOKPermanently deletes an existing Trello webhook by its `idWebhook`, an irreversible action that stops future notifications.1 paramsPermanently deletes an existing Trello webhook by its `idWebhook`, an irreversible action that stops future notifications.
idWebhookstringTRELLO_DISMISS_MEMBER_MESSAGEDismisses a specific one-time message for an existing Trello member, preventing it from being displayed again.2 paramsDismisses a specific one-time message for an existing Trello member, preventing it from being displayed again.
valuestringidMemberstringTRELLO_GET_ACTIONS_BOARD_BY_ID_ACTIONRetrieves details for the Trello board associated with a specific action ID, returning board information only.2 paramsRetrieves details for the Trello board associated with a specific action ID, returning board information only.
fieldsstringidActionstringTRELLO_GET_ACTIONS_BOARD_BY_ID_ACTION_BY_FIELDRetrieves a specified `field` from the Trello board associated with the provided Trello `idAction`.2 paramsRetrieves a specified `field` from the Trello board associated with the provided Trello `idAction`.
fieldstringidActionstringTRELLO_GET_ACTIONS_BY_ID_ACTIONRetrieves detailed information about a specific Trello action by its ID.8 paramsRetrieves detailed information about a specific Trello action by its ID.
fieldsstringmemberstringdisplaystringentitiesstringidActionstringmemberCreatorstringmember_fieldsstringmemberCreator_fieldsstringTRELLO_GET_ACTIONS_BY_ID_ACTION_BY_FIELDRetrieves the value of a specific field (e.g., 'data', 'date', 'type') from a Trello action using its unique ID.2 paramsRetrieves the value of a specific field (e.g., 'data', 'date', 'type') from a Trello action using its unique ID.
fieldstringidActionstringTRELLO_GET_ACTIONS_CARD_BY_ID_ACTIONRetrieves Trello card details for a given `idAction`, which must be an action specifically linked to a card; returns only card data, not action details.2 paramsRetrieves Trello card details for a given `idAction`, which must be an action specifically linked to a card; returns only card data, not action details.
fieldsstringidActionstringTRELLO_GET_ACTIONS_CARD_BY_ID_ACTION_BY_FIELDRetrieves a specific field from the Trello card associated with the given action ID.2 paramsRetrieves a specific field from the Trello card associated with the given action ID.
fieldstringidActionstringTRELLO_GET_ACTIONS_DISPLAY_BY_ID_ACTIONRetrieves a display-friendly representation of an existing and accessible Trello action for UI/report purposes, providing presentation-focused data instead of full raw details and without altering the action.1 paramsRetrieves a display-friendly representation of an existing and accessible Trello action for UI/report purposes, providing presentation-focused data instead of full raw details and without altering the action.
idActionstringTRELLO_GET_ACTIONS_ENTITIES_BY_ID_ACTIONRetrieves all entities (e.g., boards, lists, cards, members) associated with a specific, existing Trello action ID.1 paramsRetrieves all entities (e.g., boards, lists, cards, members) associated with a specific, existing Trello action ID.
idActionstringTRELLO_GET_ACTIONS_LIST_BY_ID_ACTIONRetrieves the Trello list associated with a specific Trello action ID, for actions linked to a list.2 paramsRetrieves the Trello list associated with a specific Trello action ID, for actions linked to a list.
fieldsstringidActionstringTRELLO_GET_ACTIONS_LIST_BY_ID_ACTION_BY_FIELDRetrieves a specific field of the list associated with a Trello action, returning only that single field's value.2 paramsRetrieves a specific field of the list associated with a Trello action, returning only that single field's value.
fieldstringidActionstringTRELLO_GET_ACTIONS_MEMBER_BY_ID_ACTIONRetrieves specified details of the Trello member who performed the action identified by `idAction`; information is specific to this action's context, not the member's full profile.2 paramsRetrieves specified details of the Trello member who performed the action identified by `idAction`; information is specific to this action's context, not the member's full profile.
fieldsstringidActionstringTRELLO_GET_ACTIONS_MEMBER_BY_ID_ACTION_BY_FIELDFetches a specific field of a member for a Trello action, returning only one field per call for optimized data retrieval.2 paramsFetches a specific field of a member for a Trello action, returning only one field per call for optimized data retrieval.
fieldstringidActionstringTRELLO_GET_ACTIONS_MEMBER_CREATOR_BY_ID_ACTIONRetrieves details about the Trello member who created the action with the given `idAction`.2 paramsRetrieves details about the Trello member who created the action with the given `idAction`.
fieldsstringidActionstringA Model Context Protocol (MCP) server that provides tools for interacting with Trello boards. This server enables seamless integration with Trello's API while handling rate limiting, type safety, and error handling automatically.
This project is now powered by Bun! 🚀 We've migrated the entire project to the Bun runtime, resulting in a 2.8-4.4x performance boost. All existing npx, pnpx, and npm commands will continue to work perfectly.
examples directory with detailed implementations in JavaScript, Python, and TypeScript.Plus: Modern MCP SDK architecture, enhanced type safety, and comprehensive documentation!
For a detailed list of changes, please refer to the CHANGELOG.md file.
This repository is distributed as 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.
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
The server can be configured using environment variables. Create a .env file in the root directory with the following variables:
# Required: Your Trello API credentials
TRELLO_API_KEY=your-api-key
TRELLO_TOKEN=your-token
# Optional (Deprecated): Default board ID (can be changed later using set_active_board)
TRELLO_BOARD_ID=your-board-id
# Optional: Initial workspace ID (can be changed later using set_active_workspace)
TRELLO_WORKSPACE_ID=your-workspace-id
# Optional: HTTPS proxy URL (for corporate proxies or restricted networks)
https_proxy=http://your-proxy:8080
# Optional: Restrict access to specific workspaces (comma-separated IDs)
# If set, only the listed workspaces will be accessible via MCP tools
TRELLO_ALLOWED_WORKSPACES=workspace-id-1,workspace-id-2
Proxy Support: If you're behind a corporate proxy or in an environment that routes traffic through a proxy, set the
https_proxyorHTTPS_PROXYenvironment variable. The server will automatically route all Trello API requests through the specified proxy.
You can get these values from:
list_workspaces toolStarting with version 0.3.0, the MCP server supports multiple ways to work with boards:
Multi-board support: All methods now accept an optional boardId parameter
- Omit TRELLO_BOARD_ID and provide boardId in each API call
- Set TRELLO_BOARD_ID as default and optionally override with boardId parameter
Dynamic board selection: Use workspace management tools
- The TRELLO_BOARD_ID in your .env file is used as the initial/default board ID
- You can change the active board at any time using the set_active_board tool
- The selected board persists between server restarts (stored in ~/.trello-mcp/config.json)
- Similarly, you can set and persist an active workspace using set_active_workspace
This allows you to work with multiple boards and workspaces without restarting the server.
You can optionally restrict MCP access to specific workspaces using the TRELLO_ALLOWED_WORKSPACES environment variable. This is useful for:
When TRELLO_ALLOWED_WORKSPACES is set:
list_workspaces only returns workspaces in the allowed listlist_boards only returns boards from allowed workspacesset_active_workspace rejects workspaces not in the allowed listlist_boards_in_workspace rejects non-allowed workspace IDscreate_board rejects creation in non-allowed workspacesExample configuration:
# Only allow access to two specific workspaces
TRELLO_ALLOWED_WORKSPACES=697c549ce04dc460af133a75,5f8a3b2c1d4e5f6a7b8c9d0e
If TRELLO_ALLOWED_WORKSPACES is not set or empty, all workspaces the token has access to will be available (default behaviour).
{
name: 'list_boards',
arguments: {}
}
{
name: 'set_active_board',
arguments: {
boardId: "abc123" // ID from list_boards response
}
}
{
name: 'list_workspaces',
arguments: {}
}
{
name: 'set_active_workspace',
arguments: {
workspaceId: "xyz789" // ID from list_workspaces response
}
}
{
name: 'get_active_board_info',
arguments: {}
}
When working with dates in the Trello MCP server, please note the different format requirements:
dueDate): Accepts full ISO 8601 format with time (e.g., 2023-12-31T12:00:00Z)start): Accepts date only in YYYY-MM-DD format (e.g., 2025-08-05)This distinction follows Trello's API conventions where start dates are day-based markers while due dates can include specific times.
Get all items from a checklist by name.
{
name: 'get_checklist_items',
arguments: {
name: string, // Name of the checklist to retrieve items from
boardId?: string // Optional: ID of the board (uses default if not provided)
}
}
Add a new item to an existing checklist.
{
name: 'add_checklist_item',
arguments: {
text: string, // Text content of the checklist item
checkListName: string, // Name of the checklist to add the item to
boardId?: string // Optional: ID of the board (uses default if not provided)
}
}
Search for checklist items containing specific text.
{
nbsp; name: 'find_checklist_items_by_description',
arguments: {
description: string, // Text to search for in checklist item descriptions
boardId?: string // Optional: ID of the board (uses default if not provided)
nbsp; }
}
Get all items from the "Acceptance Criteria" checklist.
{
name: 'get_acceptance_criteria',
arguments: {
boardId?: string // Optional: ID of the board (uses default if not provided)
}
}
Get a complete checklist with all items and completion percentage.
{
name: 'get_checklist_by_name',
arguments: {
name: string, // Name of the checklist to retrieve
boardId?: string // Optional: ID of the board (uses default if not provided)
}
}
Returns: CheckList object with:
id: Checklist identifiername: Checklist nameitems: Array of CheckListItem objectspercentComplete: Completion percentage (0-100)Update an existing checklist item.
{
name: 'update_checklist_item',
arguments: {
cardId: string, // ID of the card containing the checklist item
checkItemId: string, // ID of the checklist item to update
name?: string, // Optional: new checklist item text
state?: 'complete' | 'incomplete', // Optional: new checklist item state
pos?: number | 'top' | 'bottom', // Optional: new checklist item position
due?: string | null, // Optional: ISO 8601 due date, or null to clear it
dueReminder?: number | null, // Optional: reminder offset in minutes, or null to clear it
idMember?: string | null // Optional: member ID to assign, or null to clear it
}
}
Delete an existing checklist item.
{
name: 'delete_checklist_item',
arguments: {
cardId: string, // ID of the card containing the checklist item
checkItemId: string // ID of the checklist item to delete
}
}
Get comprehensive details of a specific Trello card with human-level parity.
{
name: 'get_card',
arguments: {
cardId: string, // ID of the Trello card (short ID like 'FdhbArbK' or full ID)
includeMarkdown?: boolean // Return formatted markdown instead of JSON (default: false)
}
}
Returns: Complete card data including:
Fetch all cards from a specific list.
{
name: 'get_cards_by_list_id',
arguments: {
boardId?: string, // Optional: ID of the board (uses default if not provided)
listId: string // ID of the Trello list
}
}
Retrieve all lists from a board.
{
name: 'get_lists',
arguments: {
boardId?: string // Optional: ID of the board (uses default if not provided)
}
}
Fetch recent activity on a board.
{
name: 'get_recent_activity',
arguments: {
boardId?: string, // Optional: ID of the board (uses default if not provided)
limit?: number // Optional: Number of activities to fetch (default: 10)
}
}
Add a new card to a specified list.
{
name: 'add_card_to_list',
arguments: {
boardId?: string, // Optional: ID of the board (uses default if not provided)
listId: string, // ID of the list to add the card to
name: string, // Name of the card
description?: string, // Optional: Description of the card
mbs; dueDate?: string, // Optional: Due date (ISO 8601 format with time)
start?: string, // Optional: Start date (YYYY-MM-DD format, date only)
labels?: string[] // Optional: Array of label IDs
}
}
Update an existing card's details.
{
name: 'update_card_details',
arguments: {
boardId?: string, // Optional: ID of the board (uses default if not provided)
cardId: string, // ID of the card to update
name?: string, // Optional: New name for the card
description?: string, // Optional: New description
dueDate?: string, // Optional: New due date (ISO 8601 format with time)
start?: string, // Optional: New start date (YYYY-MM-DD format, date only)
dueComplete?: boolean,// Optional: Mark the due date as complete (true) or incomplete (false)
labels?: string[] // Optional: New array of label IDs
}
}
Send a card to the archive.
{
name: 'archive_card',
arguments: {
boardId?: string, // Optional: ID of the board (uses default if not provided)
cardId: string // ID of the card to archive
}
}
Add a new list to a board.
{
nbsp; name: 'add_list_to_board',
arguments: {
boardId?: string, // Optional: ID of the board (uses default if not provided)
name: string // Name of the new list
}
}
Send a list to the archive.
{
name: 'archive_list',
arguments: {
boardId?: string, // Optional: ID of the board (uses default if not provided)
listId: string // ID of the list to archive
}
}
Update a list's name, archive state, subscription state, or board. Use update_list_position to reorder lists within a board.
{
name: 'update_list',
arguments: {
listId: string, // ID of the list to update
name?: string, // Optional: New name for the list
closed?: boolean, // Optional: Whether to close (archive) the list
subscribed?: boolean, // Optional: Whether to subscribe to the list
idBoard?: string // Optional: ID of a board to move the list to
}
}
Update the position of a list on the board. Trello uses fractional indexing: each list has a float position, and to place a list between two others, use the average of their positions (e.g., between pos 1024 and 2048, use 1536). Use "top"/"bottom" shortcuts to move to the edges.
{
name: 'update_list_position',
arguments: {
listId: string, // ID of the list to reposition
position: string // "top", "bottom", or a positive numeric string (e.g. "1536")
}
}
Fetch all cards assigned to the current user.
{
name: 'get_my_cards',
arguments: {}
}
Move a card to a different list.
{
name: 'move_card',
arguments: {
boardId?: string, // Optional: ID of the target board (uses default if not provided)
s; cardId: string, // ID of the card to move
listId: string // ID of the target list
}
}
Attach an image to a card directly from a URL.
{
name: 'attach_image_to_card',
arguments: {
boardId?: string, // Optional: ID of the board (uses default if not provided)
cardId: string, nbsp; // ID of the card to attach the image to
imageUrl: string, // URL of the image to attach
name?: string // Optional: Name for the attachment (defaults to "Image Attachment")
}
}
Attach any type of file to a card from a URL or a local file path (e.g., file:///path/to/your/file.pdf).
{
name: 'attach_file_to_card',
nbsp; arguments: {
boardId?: string, // Optional: ID of the board (uses default if not provided)
cardId: string,s; // ID of the card to attach the file to
fileUrl: string, // URL or local file path (using the file:// protocol) of the file to attach
name?: string, // Optional: Name for the attachment (defaults to the file name for local files)
mimeType?: string // Optional: MIME type (e.g., "application/pdf", "text/plain", "video/mp4")
}
}
Add a comment to a Trello card.
{
name: 'add_comment',
arguments: {
cardId: string, // ID of the card to comment on
text: string // The text of the comment to add
}
}
Update an existing comment on a card.
{
name: 'update_comment',
arguments: {
commentId: string, // ID of the comment to change
text: string // The new text of the comment
}
}
Delete a comment from a card.
{
name: 'delete_comment',
arguments: {
commentId: string // ID of the comment to delete
}
}
Retrieve all comments from a specific card without fetching all card data.
{
name: 'get_card_comments',
arguments: {
cardId: string, // ID of the card to get comments from
limit?: number // Optional: Maximum number of comments to retrieve (default: 100)
}
}
List all boards the user has access to.
{
name: 'list_boards',
arguments: {}
}
Set the active board for future operations.
{
name: 'set_active_board',
arguments: {
boardId: string // ID of the board to set as active
}
}
List all workspaces the user has access to.
{
s; name: 'list_workspaces',
arguments: {}
}
Set the active workspace for future operations.
{
name: 'set_active_workspace',
arguments: {
workspaceId: string // ID of the workspace to set as active
}
}
List all boards in a specific workspace.
{
name: 'list_boards_in_workspace',
arguments: {
workspaceId: string // ID of the workspace to list boards from
}
}
Get information about the currently active board.
{
s; name: 'get_active_board_info',
arguments: {}
}
Note: Custom fields require Trello Standard plan or higher.
Get all custom field definitions on a board. For dropdown/list fields, also returns the available options with their IDs.
{
name: 'get_board_custom_fields',
arguments: {
boardId?: string // Optional: ID of the board (uses default if not provided)
}
}
Returns: Array of custom field definitions including:
text, number, checkbox, date, list)list type fields: available options with IDs (use these IDs when setting values)Set or clear a custom field value on a card.
{
name: 'update_card_custom_field',
arguments: {
cardId: string, // ID of the card to update
customFieldId: string,// ID of the custom field definition
type: string, // Field type: 'text' | 'number' | 'checkbox' | 'date' | 'list' | 'clear'
value?: string // The value to set (not needed when type is 'clear')
}
}
Value format by type:
text: any stringnumber: numeric string (e.g. "42.5")checkbox: "true" or "false"date: ISO 8601 string (e.g. "2025-12-31T00:00:00.000Z")list: option ID from get_board_custom_fieldsclear: omit value to remove the field valueThe Trello MCP server pairs beautifully with @flowluap/ideogram-mcp-server for AI-powered visual content creation. Generate images with Ideogram and attach them directly to your Trello cards!
// Using ideogram-mcp-server
{
name: 'generate_image',
arguments: {
prompt: "A futuristic dashboard design with neon accents",
aspect_ratio: "16:9"
}
}
// Returns: { image_url: "https://..." }
// Using trello-mcp-server
{
name: 'attach_image_to_card',
arguments: {
cardId: "your-card-id",
imageUrl: "https://...", // URL from Ideogram
name: "Dashboard Mockup v1"
}
}
Add both servers to your Claude Desktop configuration. Use bunx for the fastest startup.
{
"mcpServers": {
"trello": {
"command": "bunx",
"args": ["@delorenj/mcp-server-trello"],
nbsp; "env": {
"TRELLO_API_KEY": "your-trello-api-key",
"TRELLO_TOKEN": "your-trello-token"
}
},
"ideogram": {
"command": "bunx",
"args": ["@flowluap/ideogram-mcp-server"],
"env": {
"IDEOGRAM_API_KEY": "your-ideogram-api-key"
}
}
}
}
Now you can seamlessly create visual content and organize it in Trello, all within Claude!
The server implements a token bucket algorithm for rate limiting to comply with Trello's API limits:
Rate limiting is handled automatically, and requests will be queued if limits are reached.
The server provides detailed error messages for various scenarios:
git clone https://github.com/delorenj/mcp-server-trello
cd mcp-server-trello
bun install
bun run build
To run the tests, run the following command:
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.
OPENAI_API_KEY=your-key bunx mcp-eval src/evals/evals.ts src/index.ts
Contributions are welcome!
This project is licensed under the MIT License - see the LICENSE file for details.
TRELLO_API_KEY*secretYour Trello API key
TRELLO_TOKEN*secretYour Trello token
gongrzhe/office-powerpoint-mcp-server
gongrzhe/office-word-mcp-server
io.github.mindstone/mcp-server-office
greirson/mcp-todoist
henilcalagiya/mcp-apple-notes
ankimcp/anki-mcp-server-addon