The Trello MCP connector routes your AI agent's tool calls to Trello's own MCP server through Scalekit. Each user signs in to Trello once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 15 tools.
- Tools
- 15
- What they doRead · write · destructive
- 9 · 6 · 09 read6 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Trello MCP connection
In AgentKit > Connections, create a Trello MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Trello, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'trellomcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Trello MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'trellomcp_trello_read_board',toolInput: { action: 'list' },})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "trellomcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Trello MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"action":"list"},tool_name="trellomcp_trello_read_board",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooltrellomcp_trello_read_boardRead Trello boards.Read-onlyTrello Read Board
Read Trello boards. Supports listing boards the authenticated user is a member of, listing all boards a user can access within a specific workspace (regardless of membership), fetching a single board by ARI or URL, and listing labels on a board. Actions: - "list" — paginated boards the authenticated user is a member of, across all workspaces. Use this for "my boards", "boards I'm on". It does NOT include boards the user could access but has not joined — for those, use "list_by_workspace". By default only open (non-archived) boards are returned; pass filter="all" to include archived boards or filter="closed" for only archived ones. Always include each board's url verbatim in the response. Optionally also filtered by visibility (limit defaults to 25, max 100). The open/closed filter is applied server-side (exact), whereas the visibility filter is applied per page — keep paginating via pageInfo.endCursor while pageInfo.hasNextPage is true to find all matches. - "list_by_workspace" — paginated boards the user can access within ONE workspace (requires workspaceId), regardless of whether they are a member. Use this when the user names a workspace: "boards in <workspace>", "what's in this workspace". Supports the same open/closed filter, visibility filter, and pagination as "list". Always include each board's url verbatim in the response. - "get" — return a single board by ARI or board URL (e.g. https://trello.com/b/<shortLink>/<slug>), including id, objectId, name, closed, shortLink, lastActivityAt, and url. Always include the board url verbatim as the full literal URL — never replace it with a label such as "View on Trello" or hide it behind link text; never omit it. Embeds the first 25 open lists with a listsHasMore flag; for the full set call trelloReadList with action="list_by_board". - "list_labels" — paginated labels on a board (requires boardId; limit defaults to 25, max 100); paginate via nextCursor while hasMore is true.
Inputs
actionstringrequired- Action to perform.
"list" â paginated boards the authenticated user is a member of, across all
workspaces. Use this for "my boards", "boards I'm on". It does NOT include boards
the user could access but has not joined â for those, use "list_by_workspace".
By default only open (non-archived) boards are returned; pass filter="all" to
include archived boards or filter="closed" for only archived ones. Always include
each board's url verbatim in the response. Optionally also filtered by visibility
(limit defaults to 25, max 100). The open/closed
filter is applied server-side (exact), whereas the visibility filter is applied per
page â keep paginating via pageInfo.endCursor while pageInfo.hasNextPage is true to find all matches.
"list_by_workspace" â paginated boards the user can access within ONE workspace
(requires workspaceId), regardless of whether they are a member. Use this when the
user names a workspace: "boards in <workspace>", "what's in this workspace".
Supports the same open/closed filter, visibility filter, and pagination as "list".
Always include each board's url verbatim in the response.
"get" â return a single board by ARI or board URL
(e.g. https://trello.com/b/<shortLink>/<slug>), including id, objectId, name,
closed, shortLink, lastActivityAt, and url. Always include the board url verbatim
as the full literal URL â never replace it with a label such as "View on Trello"
or hide it behind link text; never omit it. Embeds the first 25 open lists with a
listsHasMore flag; for the full set call trelloReadList with action="list_by_board".
"list_labels" â paginated labels on a board (requires boardId; limit defaults to
25, max 100); paginate via nextCursor while
hasMore is true.
"list_custom_fields" â paginated custom field definitions on a board (requires
boardId; limit defaults to 25, max 100). Each
field includes its name, type ('checkbox' | 'date' | 'list' | 'number' | 'text'),
position, and options (present only for 'list' dropdown fields); paginate via
nextCursor while hasMore is true.
"list_activity" â paginated action/history events on a board: comments, card moves,
member changes, attachments, checklists, due date updates, check item state changes,
and custom field updates (requires boardId, which may be an ARI or a board URL; limit
defaults to 50, max 100). Optionally filter by
type. Paginate via nextCursor while hasMore is true.
Every entry is an action on the card in its "card" field; name that entity type when you report one.one of
listlist_by_workspacegetlist_labelslist_custom_fieldslist_activity boardIdstring- Trello board identifier. Required for "get", "list_labels", "list_custom_fields", and "list_activity"; not allowed for other actions. For action="get" and action="list_activity", accepts an ARI (e.g. ari:cloud:trello::board/workspace/<workspaceId>/<boardId>) or a Trello board URL (e.g. https://trello.com/b/<shortLink>/<slug>). For all other actions, boardId must be a board ARI â board URLs/short links are not supported.
cursorstring- Pagination cursor. Only valid for paginated actions ("list", "list_by_workspace", "list_labels", "list_custom_fields", "list_activity").
filterstring- Filter boards by open/closed state. "open" (default) returns only active (non-archived) boards; "closed" returns only archived boards; "all" returns both. When the user asks broadly â "all my boards", "boards I can access", "list my boards" â use the default "open". Switch to "all" only when the user explicitly asks to include closed/archived boards (e.g. "including closed boards"), and "closed" when they want only archived ones. Only valid when action="list" or action="list_by_workspace".one of
openclosedall limitinteger- Maximum results per page, max 100. Defaults to 25 for "list", "list_by_workspace", "list_labels", and "list_custom_fields"; defaults to 50 for "list_activity". Only valid for paginated actions.
typearray- Filter board history by action type(s). Only valid when action="list_activity"; defaults to all action types when omitted.
visibilitystring- Filter boards by visibility ("private" | "workspace" | "public"). Only valid when action="list" or action="list_by_workspace".one of
privateworkspacepublic workspaceIdstring- Trello workspace identifier. Required for action="list_by_workspace"; not allowed for other actions. Accepts an ARI (e.g. ari:cloud:trello::workspace/<workspaceId>).
trellomcp_trello_read_cardFetch a Trello card's full details, or list cards across a board or list to surface open work items.Read-onlyTrello Read Card
Fetch a Trello card's full details, or list cards across a board or list to surface open work items. Use this tool when you know the specific board, list, or card you want to inspect. For keyword-based discovery across all boards/cards, use trelloSearch instead. Actions: - "get": fetch a single card by id or card URL (cardIdOrUrl required). Returns core card fields and labels (up to 25; truncation signalled via labelsHasMore). - "list_by_board": fetch all cards for a board grouped by list (boardIdOrUrl required). Response: { lists: [{ id, name, cards: [...] }], hasNextPage, nextCursor }. Each page contains up to 25 lists (configurable via limit); each list contains all its cards. Filter by card state: "open" (default), "archived", or "all". Use cursor/limit to paginate over lists (max 50 lists per page). - "list_by_list": fetch cards in a Trello list (listId required) with cursor-based pagination. Use this when the user asks for cards in a list or all cards from a specific list. Response: { cards: [...], pageInfo: { hasNextPage, endCursor } }. Filter by card state: "open" (default), "archived", or "all". Use cursor/limit to paginate (max 50 cards per page). Due date timezone handling: Card due dates (due.date) are stored as UTC ISO 8601 timestamps. For "today" or date-based due-date requests, first call trelloReadMember (get_me) for prefs.timezone and interpret due dates in the user's local time.
Inputs
actionstringrequired- Action to perform: "get" fetches a single card, "list_by_board" fetches cards grouped by list for a board, "list_by_list" fetches cards in a specific list, "get_comment" fetches a single comment on a card, "list_comments" lists comments on a card, "list_attachments" lists files/links attached to a card, "list_custom_field_items" lists the card's custom field values, "list_activity" lists the card's full activity history.one of
getlist_by_boardlist_by_listget_commentlist_commentslist_attachmentslist_custom_field_itemslist_activity boardIdOrUrlstring- Trello board identifier. Required for "list_by_board". Accepts an ARI (e.g. ari:cloud:trello::board/workspace/<workspaceId>/<boardId>). A Trello board URL is also accepted (e.g. https://trello.com/b/<shortLink>/<slug>).
cardIdOrUrlstring- Trello card identifier. Required for "get", "get_comment", "list_comments", "list_attachments", "list_custom_field_items", and "list_activity". For "get_comment", cardIdOrUrl must be a Trello card ARI. Accepts an ARI (e.g. ari:cloud:trello::card/workspace/<workspaceId>/<cardId>) or a Trello card URL (e.g. https://trello.com/c/<shortLink>/<slug>).
commentIdstring- Trello comment/action identifier. Required for "get_comment". Accepts an ARI (e.g. ari:cloud:trello::action/<actionId>).
cursorstring- Pagination cursor for the list actions, "list_comments", "list_attachments", "list_custom_field_items", and "list_activity". Not allowed for "get" or "get_comment".
filterstring- Card state filter for "list_by_board" and "list_by_list". One of: "open" (default), "archived", "all". Not allowed for "get", "get_comment", "list_comments", "list_attachments", "list_custom_field_items", or "list_activity".
limitinteger- Pagination limit (1-50) for the list actions, "list_comments", "list_attachments", "list_custom_field_items", and "list_activity" (default 25). Not allowed for "get" or "get_comment".
listIdstring- Trello list identifier. Required for "list_by_list". Accepts an ARI (e.g. ari:cloud:trello::list/workspace/<workspaceId>/<listId>).
trellomcp_trello_read_checklistRead Trello checklists (and their check items) attached to a card.Read-onlyTrello Read Checklist
Read Trello checklists (and their check items) attached to a card. Supported actions: "list_by_card" — list checklists on a card (cardId required); cursor/limit page the checklists. "get" — fetch a single checklist by id (checklistId required). In both actions each checklist is returned with its complete `items` list embedded.
Inputs
actionstringrequired- The read action to perform: "list_by_card" or "get".one of
list_by_cardget cardIdstring- Trello card ARI (e.g. "ari:cloud:trello::card/workspace/<workspaceId>/<cardId>"). Required for "list_by_card".
checklistIdstring- Trello checklist ARI (e.g. "ari:cloud:trello::checklist/workspace/<workspaceId>/<checklistId>"). Required for "get".
cursorstring- Pagination cursor for "list_by_card" (pages checklists). Not allowed for "get".
limitinteger- Pagination limit (1-100, default 25) for "list_by_card" (caps checklists). Not allowed for "get".
trellomcp_trello_read_inboxTriage and review the authenticated user's Trello Inbox — the personal quick-capture board where new cards and notifications land.Read-onlyTrello Read Inbox
Triage and review the authenticated user's Trello Inbox — the personal quick-capture board where new cards and notifications land. Use this specifically for the user's Inbox board. For cards on other boards or lists, use trelloReadCard instead. Actions: - "get" — return the Inbox board details (id, objectId, lastActivityAt). No additional arguments are needed. - "list_cards" — list cards in the Inbox with optional filtering and pagination. Each card includes labels and up to 25 checklists (truncation signalled via checklistsHasMore). Filter by card state: "open" (default), "archived", or "all". Use cursor/limit to paginate (limit defaults to 25, max 50).
Inputs
actionstringrequired- Action to perform. "get" returns the Inbox board details. "list_cards" returns paginated cards in the Inbox (filter/cursor/limit are optional).one of
getlist_cards cursorstring- Pagination cursor. Only valid when action="list_cards".
filterstring- Card state filter for "list_cards". One of: "open" (default), "archived", "all". Not allowed for "get".
limitinteger- Maximum number of cards to return per page. Defaults to 25, max 50. Only valid when action="list_cards".
trellomcp_trello_read_listRead Trello lists.Read-onlyTrello Read List
Read Trello lists. Supported actions: "list_by_board" — list the open lists on a board (id, name, position, objectId) with cursor-based pagination (limit defaults to 25, max 50); "get" — return a single list by id, including up to 25 nested cards (id, name).
Inputs
actionstringrequired- Action to perform. "list_by_board" requires boardId (cursor/limit are optional). "get" requires listId and does not allow pagination. "list_activity" requires listId and returns open cards with their 25 most recent activity entries each (cursor/limit are optional).one of
list_by_boardgetlist_activity boardIdstring- Trello board identifier. Required when action="list_by_board". Accepts an ARI (e.g. ari:cloud:trello::board/workspace/<workspaceId>/<boardId>).
cursorstring- Pagination cursor for "list_by_board" or "list_activity".
limitinteger- Maximum items to return per page. Defaults to 25, max 50. Counts lists when action="list_by_board" and cards when action="list_activity". Not valid when action="get".
listIdstring- Trello list identifier. Required when action="get" or action="list_activity". Accepts an ARI (e.g. ari:cloud:trello::list/workspace/<workspaceId>/<listId>).
trellomcp_trello_read_memberGet a Trello member's profile.Read-onlyTrello Read Member
Get a Trello member's profile. Call action="get_me" FIRST before any due-date query (e.g. "cards due today", "overdue cards") to get prefs.timezone (e.g. "America/Los_Angeles") so due dates can be interpreted in the user's local time rather than UTC. Also use action="get_me" to look up the current user's username, fullName, email, or avatarUrl. Supported actions: "get_me" — returns the authenticated user's Trello member profile (id, username, fullName, email, avatarUrl, url, prefs) via the Trello GraphQL API.
Inputs
actionstringrequired- The read action to perform. "get_me" returns the authenticated user's profile. "get" returns a specific member's profile by memberId. "list_by_board" returns a board's members and their board role by boardId. "list_by_workspace" returns a workspace's members and their workspace role by workspaceId. "list_by_card" lists members assigned to cardId.one of
get_megetlist_by_boardlist_by_workspacelist_by_card boardIdstring- Trello board identifier. Required for "list_by_board"; not allowed for other actions. Accepts an ARI (e.g. ari:cloud:trello::board/workspace/<workspaceId>/<boardId>).
cardIdstring- Trello card identifier. Required for "list_by_card"; not allowed for other actions. Accepts an ARI (e.g. ari:cloud:trello::card/workspace/<workspaceId>/<cardId>).
cursorstring- Pagination cursor. Only valid for member list actions.
limitinteger- Maximum number of members to return per page. Defaults to 25, max 100. Only valid for member list actions.
memberIdstring- Trello member identifier. Required for "get"; not allowed for any other action. Accepts an ARI (e.g. ari:cloud:trello::user/<memberId>).
rolestring- Only return members with this board role. Only valid when action="list_by_board" â workspace membership cannot be filtered by role.one of
adminmemberobserver workspaceIdstring- Trello workspace identifier. Required for "list_by_workspace"; not allowed for other actions. Accepts an ARI (e.g. ari:cloud:trello::workspace/<workspaceId>).
trellomcp_trello_read_plannerRead Trello Planner information for the authenticated user.Read-onlyTrello Read Planner
Read Trello Planner information for the authenticated user. Supported actions: "get" — returns the current member's planner (id, primaryAccountId, primaryCalendarId, primaryCalendar details); "list_events" — lists calendar events for a given planner calendar in a time window (plannerCalendarId, providerAccountId, start, end required; limit defaults to 25, max 50; cursor-based pagination supported); "get_event" — returns a single calendar event by provider event id (eventId, providerAccountId, plannerCalendarId required). Timezone handling: start and end must be UTC ISO 8601. For relative time queries like "today" or "this week", first use the "get" action to retrieve primaryCalendar.timezone, then convert to UTC before calling "list_events".
Inputs
actionstringrequired- Action to perform. "get" takes no additional args and returns the current member's planner. "list_events" requires plannerCalendarId, providerAccountId, start, end (cursor and limit optional). "get_event" requires eventId, providerAccountId, plannerCalendarId.one of
getlist_eventsget_event cursorstring- Pagination cursor. Only valid for "list_events".
endstring- Event window end as a UTC ISO 8601 date-time string. Must be after start. For relative queries like "today", first use the "get" action to retrieve primaryCalendar.timezone and convert to UTC. Required for "list_events".
eventIdstring- Provider event ID. Required for "get_event".
limitinteger- Maximum number of events to return. Defaults to 25, max 50. Only valid for "list_events".
plannerCalendarIdstring- Trello planner calendar identifier. Required for "list_events" and "get_event". Accepts an ARI (e.g. ari:cloud:trello::planner-calendar/<calendarId>).
providerAccountIdstring- Provider account ARI (e.g. Google account ARI like "ari:third-party:google::account/<id>"). Required for "list_events" and "get_event".
startstring- Event window start as a UTC ISO 8601 date-time string. For relative queries like "today", first use the "get" action to retrieve primaryCalendar.timezone and convert to UTC. Required for "list_events".
trellomcp_trello_read_workspaceRead Trello workspaces (organizations) the current user has access to.Read-onlyTrello Read Workspace
Read Trello workspaces (organizations) the current user has access to. Supported actions: "list" — list workspaces visible to the authenticated user (cursor-based pagination, limit defaults to 25, max 100); "get" — fetch detailed data for a single workspace by id (typically used after "list" to drill into a workspace).
Inputs
actionstringrequired- The read action to perform. "list" returns paginated workspaces; "get" returns a single workspace by id.one of
listget cursorstring- Pagination cursor for the next page. Only valid for "list" action.
limitinteger- Maximum number of workspaces to return (default 25, max 100). Only valid for "list" action.
workspaceIdstring- Trello workspace identifier. Required for "get" action. Accepts an ARI (e.g. ari:cloud:trello::workspace/<workspaceId>).
trellomcp_trello_searchDiscover Trello boards or cards by keyword across all workspaces.Read-onlyTrello Search
Discover Trello boards or cards by keyword across all workspaces. Use this when the user wants to find something by name or content but does not know which board it is on. If the user already knows the board or list they want to browse, use trelloReadCard (list_by_board or list_by_list) instead — it is faster and returns richer grouped results. Supported actions: "search_boards" — search for boards by name, always include each board's `url` verbatim in the response; "search_cards" — search for cards by name/content. Both support optional workspace scoping and cursor-based pagination. Both actions return open (non-archived) results by default. To search archived items instead, include `is:archived` in the query. "search_cards" additionally supports boardIds scoping and qualifiers: label:, board:, list:, member:, due:, has:. For archived/closed cards, use `is:archived` or `is:closed` (they are equivalent for cards only). For archived boards, use `is:archived` only — boards do not support the `is:closed` alias. Due date timezone handling: Trello due-date search qualifiers use UTC boundaries. For "today" or date-based due-date queries, first call trelloReadMember (get_me) for prefs.timezone and account for the user's local timezone.
Inputs
actionstringrequired- The search action to perform: "search_boards" or "search_cards".one of
search_boardssearch_cards querystringrequired- Required free-text query string to search for (min 1 character).
boardIdsarray- Optional list of board ARIs to scope card search results (e.g. ["ari:cloud:trello::board/workspace/<workspaceId>/<boardId>"]). Only valid for "search_cards".
cursorstring- Pagination cursor from a prior response's nextCursor field.
limitinteger- Maximum number of results to return (default 10, max 100).
partialboolean- Enable partial/prefix matching on names (default false).
workspaceIdsarray- Optional list of workspace ARIs to scope search results (e.g. ["ari:cloud:trello::workspace/<workspaceId>"]). Valid for both "search_boards" and "search_cards".
trellomcp_trello_write_boardCreate Trello boards.WriteTrello Write Board
Create Trello boards. Supported actions: "create" — create a Trello board in a workspace with a name, visibility, and optional preferences.
Inputs
actionstringrequired- Board write action to perform. "create" creates a board in a workspace.one of
create boardIdstring- Trello board ARI â the `id` field returned by trelloReadBoard (e.g. "ari:cloud:trello::board/workspace/<workspaceId>/<boardId>"). Required for "update" and "archive".
colorstring- Label color. Required for "create_label", optional for "update_label"; not allowed for other actions.one of
greengreen_darkgreen_lightyellowyellow_darkyellow_lightorangeorange_darkorange_lightredred_darkred_lightpurplepurple_darkpurple_lightblueblue_darkblue_lightskysky_darksky_lightlimelime_darklime_lightpinkpink_darkpink_lightblackblack_darkblack_light descstring- Board description. Optional for "update".
labelIdstring- Trello label ARI (e.g. "ari:cloud:trello::label/workspace/<workspaceId>/<labelId>"). Required for "update_label".
namestring- Board name. Required for "create".
prefsobject- Optional board preferences payload. Only valid for "create".
visibilitystring- Board visibility. Supported values: ENTERPRISE, ORG, PRIVATE, PUBLIC. Use ORG for workspace visibility. Optional for "create" (defaults to PRIVATE) and for "update".one of
ENTERPRISEORGPRIVATEPUBLIC workspaceIdstring- Trello workspace identifier that will own the new board. Required for "create". Accepts an ARI (e.g. ari:cloud:trello::workspace/<workspaceId>).
trellomcp_trello_write_cardCreate, update, move, archive, mark Trello cards done, or manage labels on cards.WriteTrello Write Card
Create, update, move, archive, mark Trello cards done, or manage labels on cards. Supported actions: "create" — create a card on a list (listId and name required; desc, due, pos optional); "update" — update an existing card (cardId required; at least one of name, desc, due required); "move" — move a card to another list, optionally across boards (cardId and listId required, where listId is the destination list; boardId is optional and only needed when moving to a list on a different board; pos is optional and sets the card position in the destination list); "archive" — archive a card (cardId required); "mark_done" — mark a card as complete (cardId required); "attach_label" — attach a label to a card (cardId and labelId required); "detach_label" — detach a label from a card (cardId and labelId required).
Inputs
actionstringrequired- Action to perform: "create" creates a card; "update" updates card fields; "move" moves a card to another list; "archive" archives a card; "mark_done" marks a card complete; "attach_label" attaches a label to a card; "detach_label" detaches a label from a card. "add_comment" posts a comment on a card; "update_comment" edits an existing comment on a card.one of
createupdatemovearchivemark_doneattach_labeldetach_labeladd_commentupdate_comment boardIdstring- Trello board ARI (e.g. "ari:cloud:trello::board/workspace/<workspaceId>/<boardId>"). Only used by "move": pass the destination board ARI when moving a card to a list on a different board. Omit when moving within the same board. Must be paired with listId â boardId on its own is not allowed.
cardIdstring- Trello card ARI â the `id` field returned by trelloReadCard (e.g. "ari:cloud:trello::card/workspace/<workspaceId>/<cardId>"). Do NOT pass a Trello URL or short link; use trelloReadCard first to obtain the ARI. Required for "update", "move", "copy", "archive", "mark_done", "attach_label", "detach_label", "add_comment".
commentIdstring- Trello comment/action ARI (e.g. "ari:cloud:trello::action/<actionId>") â the `id` field returned by trelloReadCard ("get_comment" or "list_comments"). Required for "update_comment", and must be a comment on the card given by cardId.
customFieldIdstring- Trello custom field ARI (e.g. "ari:cloud:trello::customField/workspace/<workspaceId>/<customFieldId>"). Use trelloReadBoard "list_custom_fields" to find the ARI. Required for "set_custom_field_value".
customFieldValueobject- Value to set on the custom field. Required for "set_custom_field_value". Pass exactly one of: text (text field), number (number field, as string), date (date field, ISO 8601), checked (checkbox field), valueId (list/dropdown option ARI), or clear: true to remove the value.
descstring- Card description. Optional for "create" and "update".
duestring- Card due date as a UTC ISO 8601 date-time string (e.g. "2026-06-01T17:00:00.000Z"). Optional for "create" and "update".
labelIdstring- Trello label ARI (e.g. "ari:cloud:trello::label/workspace/<workspaceId>/<labelId>"). Required for "attach_label" and "detach_label".
listIdstring- Trello list ARI (e.g. "ari:cloud:trello::list/workspace/<workspaceId>/<listId>"). For "create", this is the list the new card is added to. For "move", this is the destination list the card is moved to. For "copy", this is the optional destination list; omit it to copy within the source list. Required for "create" and "move".
memberIdstring- Trello member ARI (e.g. "ari:cloud:trello::user/<memberId>"). Use trelloReadMember "list_by_board" to find the member ARI. Required for "add_member".
namestring- Card name. Required for "create"; optional for "update" and "copy".
posstring- Card position. Optional for "create", "move", and "copy". Use "top", "bottom", or a non-negative number (e.g. 16384).
textstring- Comment text. Required for "add_comment"; for "update_comment" this is the replacement text for the comment.
trellomcp_trello_write_checklistWrite Trello checklists and their check items.WriteTrello Write Checklist
Write Trello checklists and their check items. Actions: "create" — add a new checklist to a card by cardId and name, optionally placed at "top", "bottom", or an explicit numeric position. Returns the created checklist as a TrelloChecklist (id, objectId, name, position, checkItems[]). "add_item" — append a new check item to an existing checklist by checklistId and text, optionally placed at "top", "bottom", or an explicit numeric position. Returns the created check item (id, name, state, position) using the same normalized shape as trelloReadChecklist. "update_item" — update an existing check item by checklistId and itemId; supports renaming (text), toggling completion (checked), and repositioning (pos). Returns the updated check item. "update" — rename a checklist (name) and/or change its position on its card (pos) by checklistId. At least one of name or pos must be supplied. Returns the resulting checklist in the same normalized shape as trelloReadChecklist (id, name, position, checkItems[]).
Inputs
actionstringrequired- Action to perform. "create" requires cardId and name (pos is optional). "add_item" requires checklistId and text (pos is optional). "update_item" requires checklistId and itemId (text, checked, pos, toChecklistId are optional). "update" requires checklistId and at least one of name or pos. one of
createadd_itemupdate_itemupdateadd_member cardIdstring- Trello card ARI â the `id` field returned by trelloReadCard (e.g. "ari:cloud:trello::card/workspace/<workspaceId>/<cardId>"). Do NOT pass a Trello URL or short link; use trelloReadCard first to obtain the ARI. Required when action="create".
checkedboolean- Whether the check item is completed. Optional when action="update_item".
checklistIdstring- Trello checklist identifier. Required when action="add_item", action="update_item", or action="update". Accepts an ARI (e.g. ari:cloud:trello::checklist/workspace/<workspaceId>/<checklistId>).
itemIdstring- Trello check item identifier. Required when action="update_item". Accepts an ARI (e.g. ari:cloud:trello::check-item/workspace/<workspaceId>/<itemId>).
memberIdstring- Member to assign to the check item (e.g. "ari:cloud:trello::user/<memberId>"). Use trelloReadMember "list_by_board" to find the member ARI. Only valid for action="add_item" and action="add_member".
namestring- Name of the checklist. Required when action="create". Optional for action="update" (renames the checklist).
posstring- Position of the new checklist on the card (action="create"), the initial position of the new check item within the checklist (action="add_item"), an existing check item (action="update_item"), or an existing checklist on its card (action="update"). "top" or "bottom" places it relative to existing items; a number sets an explicit absolute position.
textstring- Text (name) of the check item. Required when action="add_item"; optional rename when action="update_item".
toChecklistIdstring- Target checklist ARI to move the check item into (e.g. "ari:cloud:trello::checklist/workspace/<workspaceId>/<checklistId>"). The target checklist must be on the same card. Only valid for action="update_item".
trellomcp_trello_write_inboxWrite Trello Inbox cards.WriteTrello Write Inbox
Write Trello Inbox cards. Supported actions: "create" — create a new card in the Trello Inbox (name required; desc and due are optional). The Inbox list is resolved automatically — no listId needed. "update" — update fields on an existing Inbox card (cardId required; at least one of name, desc, or due required). "move" — move an Inbox card to another list and board (cardId, listId, and boardId required; pos optional). "archive" — archive an existing Inbox card (cardId required; no other fields allowed). Returns the created, updated, moved, or archived card including its id.
Inputs
actionstringrequired- Action to perform. "create" creates a new card in the Trello Inbox; "update" updates card fields; "move" moves a card to another list; "archive" archives an existing card.one of
createupdatemovearchive boardIdstring- Trello board ARI (e.g. "ari:cloud:trello::board/workspace/<workspaceId>/<boardId>"). Required for "move".
cardIdstring- Trello Inbox card ARI — the `id` field returned by trelloReadInbox (e.g. "ari:cloud:trello::card/workspace/<workspaceId>/<cardId>"). Do NOT pass a Trello URL or short link; use trelloReadInbox first to obtain the ARI. Required for "update", "move", and "archive"; not used for "create".
descstring- Card description. Optional for "create" and "update".
duestring- Card due date as a UTC ISO 8601 date-time string (e.g. "2026-06-01T17:00:00.000Z"). Optional for "create" and "update".
listIdstring- Trello list ARI (e.g. "ari:cloud:trello::list/workspace/<workspaceId>/<listId>"). Required for "move": the destination list the card is moved to.
namestring- Card name. Required for "create"; optional for "update".
posstring- Card position after move. Optional for "move". Use "top", "bottom", or a non-negative number (e.g. 16384).
trellomcp_trello_write_listCreate, update, archive, or move a Trello list.WriteTrello Write List
Create, update, archive, or move a Trello list. Supported actions: "create" — create a new list on a board (boardId and name required; pos optional); "update" — rename an existing list (listId and name required); "archive" — soft-delete (close) a list (listId required); "move" — reposition a list, optionally moving it to another board (listId and pos required; boardId is optional and only needed when moving the list to a different board).
Inputs
actionstringrequired- Action to perform: "create", "update", "archive", or "move".one of
createupdatearchivemove boardIdstring- Trello board identifier. Required when action="create". For action="move", pass the destination board ARI to move the list to a different board; omit it to reposition within the same board. Accepts an ARI (e.g. ari:cloud:trello::board/workspace/<workspaceId>/<boardId>).
listIdstring- Trello list identifier. Required when action="update", action="archive", or action="move". Accepts an ARI (e.g. ari:cloud:trello::list/workspace/<workspaceId>/<listId>).
namestring- List name. Required when action="create" or action="update".
posstring- List position. Required when action="move"; optional when action="create". Use a non-negative number for an absolute position, or the string "top" or "bottom".
trellomcp_trello_write_plannerCreate Trello Planner calendar events and manage card-event links.WriteTrello Write Planner
Create Trello Planner calendar events and manage card-event links. Supported actions: "create_event" — create a calendar event (title, start, and end required; if cardId is provided, the event is linked to that card and title defaults to the card name); "link_card_to_event" — link an existing card to an existing event (cardId and eventId required); "unlink_card_from_event" — unlink a card from an event (cardId and eventId required). providerAccountId and calendarId are optional for all actions; when omitted the user's primary calendar account is used.
Inputs
actionstringrequired- Action to perform: "create_event", "link_card_to_event", or "unlink_card_from_event".one of
create_eventlink_card_to_eventunlink_card_from_event calendarIdstring- The planner calendar ID to operate on. Optional — when omitted, the user's primary calendar is used.
cardIdstring- Trello card ARI — the `id` field returned by trelloReadCard (e.g. "ari:cloud:trello::card/workspace/<workspaceId>/<cardId>"). Do NOT pass a Trello URL or short link; use trelloReadCard first to obtain the ARI. Required for "link_card_to_event" and "unlink_card_from_event". Optional for "create_event" (when provided, the new event is linked to the card).
endstring- Event end time as a UTC ISO 8601 date-time string. Required for "create_event".
eventIdstring- The planner calendar event ID. Required for "link_card_to_event" and "unlink_card_from_event".
providerAccountIdstring- The provider account ID (e.g. a linked Google or Outlook account ID). Optional — when omitted, the user's primary planner account is used.
startstring- Event start time as a UTC ISO 8601 date-time string. Required for "create_event".
titlestring- Event title. Required for "create_event" when cardId is not provided. When cardId is provided, defaults to the card name.
No tools match.