Public leaderboard

Public assessment

agrath/Trello-Desktop-MCP (atlassian-trello-mcp)

atlassian-trello-mcp · v1.4.0 · scanned

What changed in the harness

Selection accuracy 95→98, token cost up 12%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

19.2 / 30

19.2 out of 30
03Economics

13.3 / 20

13.3 out of 20
04Discoverability

9.4 / 20

9.4 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

42 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
trello_search
no_return_description
Search across boards, cards, and members by keyword or phrase. Use it when you know part of a name or text but not the exact item, and narrow results with modelTypes or boardIds. Returns the matching boards, cards, and members with descriptions capped by descriptionMaxLength (0 excludes them) and minimal fields by default unless compact is false.
trello_get_user_boards
name_restates_behavior no_return_description
Starting point for exploring a Trello workspace: lists the boards available to the authenticated user, optionally filtered to open, closed, or all. Use it to discover board IDs/URLs before calling get_board_details or get_lists. Returns an array of boards with their metadata (id, name, url, status).
get_board_details
no_return_description
Retrieve a board's metadata and its lists. Start with includeDetails=false for a lightweight overview, then drill into specific cards with get_card or trello_get_list_cards; only set includeDetails=true on small boards when you need a full overview. Returns the board's metadata and lists, and when includeDetails=true also all cards with descriptions capped by descriptionMaxLength and minimal card fields unless compact is false.
get_card
name_restates_behavior no_return_description
Fetches a single card's full record so you can read its content, status, members, and attachments in one call. Use it after you have a cardId from a search or board/list listing. Returns the card's fields (name, description, list position, due dates, etc.); set includeDetails=true to also include members, labels, checklists, and activity badges.
create_card
no_return_description
Add a new task, idea, or item to a list. Requires a name and the destination list ID (from get_lists); optionally add a description, due/start dates, assigned members, and labels. Returns the created card with its id so you can reference it in follow-up calls.
update_card
no_return_description
Modify properties of an existing card in place, such as its name, description, due date, or list membership, and archive or unarchive it with closed. Use it instead of recreating a card when details change. Returns the updated card.
move_card
no_return_description
Change a card's workflow status by moving it to another list (e.g., from 'To Do' to 'In Progress'). Pass the destination list ID and an optional position within that list. Returns the moved card with its new list and position.
trello_add_comment
no_return_description
Append a note, update, or discussion message to a card. Use it to record context or conversation without editing the card itself. Returns the created comment action.
trello_get_list_cards
name_restates_behavior no_return_description
View everything in one workflow column. Use it to enumerate the tasks/items in a list, optionally filtered to open or closed cards and narrowed to specific fields. Returns an array of cards from the list with minimal fields by default unless compact is false.
trello_create_list
no_return_description
Add a workflow column to a board, such as 'To Do', 'In Progress', or 'Done'. Use it when the board's current columns don't cover the needed stages. Returns the newly created list with its id and position.
list_boards
no_return_description
Enumerate the boards the user can access on their Trello account. Use it as a discovery step to find a board ID or URL before operating on it, optionally filtered by status. Returns an array of board summaries (id, name, url, status).
get_lists
no_return_description
See the columns in a board to understand its workflow. Use it to pick the ID of the list where you want to create or move cards, optionally filtered to open or closed lists. Returns the board's lists with their ids, names, and positions.
trello_get_member
name_restates_behavior no_return_description
Inspect a user's profile and what they can access. Use it with 'me' for the authenticated user or a member ID/username to understand their boards and organizations, optionally limited by the boards and organizations parameters. Returns the member's profile fields (full name, username, bio, url) plus their boards and organizations as requested.
trello_get_board_cards
name_restates_behavior no_return_description
List the cards on a board, optionally narrowed by status, assigned member, attachments, or member detail inclusion. Use it to survey a board's work or find cards for a specific assignee. Returns the board's cards with descriptions capped by descriptionMaxLength and minimal fields by default unless compact is false.
trello_get_card_actions
name_restates_behavior no_return_description
Review a card's activity trail: comments, updates, and creation events. Use it to track what changed, when, and by whom, filtered to commentCard, updateCard, or createCard actions. Returns an array of action records with timestamps and the comment text or change details, up to the limit.
trello_get_card_attachments
name_restates_behavior no_return_description
List every file or link attached to a card. Use it to locate shared resources on a card, optionally selecting which fields to return (e.g., name, url, mimeType, date). Returns the card's attachments.
trello_get_card_attachment
name_restates_behavior no_return_description
Fetch metadata for one specific attachment (file or link) on a card using its attachment ID, with optional field selection. Use it after trello_get_card_attachments to inspect a particular resource. Returns the attachment's details such as name, url, mimeType, and date.
trello_delete_card_attachment
name_restates_behavior no_return_description
Remove an attachment (file or link) from a card by its ID. Use it to clean up outdated or incorrect resources on a card. Returns confirmation that the attachment was deleted.
trello_get_card_checklists
name_restates_behavior no_return_description
Read the checklists on a card and their items to see task progress. Use it to verify what is done and what remains before considering a task complete; set checkItems to 'none' for checklist names only. Returns the card's checklists and, by default, their items.
trello_get_board_members
name_restates_behavior no_return_description
See who can access a board. Use it before assigning cards or changing permissions to confirm which member IDs are available. Returns an array of members on the board with their profile details.
trello_get_board_labels
name_restates_behavior no_return_description
See the label options defined on a board so you can categorize cards with trello_add_label_to_card. Use it to discover the label name/ID pairs available before creating or assigning labels. Returns the board's labels with their ids, names, and colors.
trello_create_label
name_restates_behavior no_return_description
Add a new color-coded label to a board so it can be used to categorize cards. Requires a name and a color (e.g., green, yellow, red, blue). Returns the created label with its id, name, and color.
trello_update_label
name_restates_behavior no_return_description
Rename or recolor an existing label. Use it to keep label semantics in sync with the board's workflow or fix a mis-spelled label name. Returns the updated label with its new name and color.
trello_add_label_to_card
name_restates_behavior no_return_description
Categorize a card by assigning an existing label to it. Use it in combination with trello_get_board_labels to apply the correct label ID to a card. Returns the card with the label applied.
trello_remove_label_from_card
name_restates_behavior no_return_description
Remove an existing label from a Trello card when re-categorizing or cleaning up tags. Provide the card's ID (cardId) and the ID of the label to detach (labelId); the label is removed from the card but the label definition on the board remains. Returns the updated card reflecting the removed label.
trello_delete_label
name_restates_behavior no_return_description
Permanently delete a label definition from a Trello board, useful for removing unused or obsolete labels. Provide the label's ID (labelId). Note this removes the label from the board; labels on cards that used it will no longer reference it. Returns the deleted label or a success confirmation.
trello_add_member_to_card
name_restates_behavior no_return_description
Assign a member to a Trello card so they appear as a collaborator, for example to indicate ownership or responsibility. Accepts a card ID or URL (cardId) and the member's ID (memberId). Returns the updated card with the newly added member.
trello_remove_member_from_card
name_restates_behavior no_return_description
Remove a member from a Trello card when they should no longer be assigned, for example after the work is handed off or completed. Accepts a card ID or URL (cardId) and the member's ID (memberId). Returns the updated card without that member.
trello_archive_card
no_return_description
Archive or unarchive a Trello card, moving it out of (or back into) the active board view. Set value to true to archive and false to unarchive; cardId accepts an ID or URL. Returns the updated card reflecting its new archived state.
trello_create_checklist
no_return_description
Create a new checklist (a list of check items) on a card, optionally copying items from an existing checklist via idChecklistSource and placing it at the position given by pos (top, bottom, or a positive number). Returns the created checklist object.
trello_get_checklist
params_unexplained no_return_description
Retrieve a single checklist and all of its check items so you can see item names and completion states. Provide the checklist's Trello ID (checklistId) and optionally pass fields to limit which properties are returned. Returns the checklist object including its check items.
trello_update_checklist
no_return_description
Update an existing checklist's name and/or position on its card. Provide the checklist's ID (checklistId) plus the new name and/or pos (top, bottom, or a positive number). Returns the updated checklist object.
trello_delete_checklist
no_return_description
Delete a checklist and all of its check items from a card permanently, useful for removing outdated task lists. Provide the checklist's ID (checklistId). Returns the deleted checklist or a success confirmation.
trello_get_checklist_field
name_restates_behavior params_unexplained no_return_description
Read a single field of a checklist, either its name or its position (only name and pos are supported). Provide the checklist's Trello ID (checklistId) and the field to retrieve. Returns the current value of the requested field.
trello_update_checklist_field
name_restates_behavior params_unexplained no_return_description
Update a single field of a checklist, either its name or its position (only name and pos are supported). Provide the checklist's Trello ID (checklistId), the field to change, and the new value. Returns the updated checklist reflecting the change.
trello_get_board_for_checklist
name_restates_behavior params_unexplained no_return_description
Find the board that contains a given checklist, useful for navigating upward from a checklist to its parent board. Provide the checklist's Trello ID (checklistId). Returns the board object the checklist belongs to.
trello_get_card_for_checklist
name_restates_behavior params_unexplained no_return_description
Find the card that contains a given checklist, useful for navigating upward from a checklist to its parent card. Provide the checklist's Trello ID (checklistId). Returns the card object the checklist belongs to.
trello_get_check_items
params_unexplained no_return_description
Retrieve all check items on a checklist, optionally filtered by completion state (all, complete, or incomplete; defaults to all). Provide the checklist's Trello ID (checklistId). Returns a list of the checklist's check items.
trello_create_check_item
no_return_description
Add a new item to a checklist, for example a new task or sub-task. Provide the checklist's ID (checklistId) and the item text (name); optionally set its position (pos), whether it starts checked, a due date in ISO 8601 format (due), or an assigned member (idMember). Returns the created check item.
trello_get_check_item
name_restates_behavior params_unexplained no_return_description
Retrieve a single check item from within a checklist to inspect its name, state, due date, or assigned member. Provide the checklist's Trello ID (checklistId) and the check item's ID (checkItemId). Returns the check item object with its current details.
trello_delete_check_item
params_unexplained no_return_description
Remove a specific check item from a checklist, useful for deleting tasks that are no longer needed. Provide the checklist's ID (checklistId) and the ID of the check item to remove (checkItemId). Returns the deleted check item or a success confirmation.
trello_update_check_item
no_return_description
Update a check item on a card: rename it, check/uncheck it via state (complete or incomplete), move it with pos, set or remove a due date (null removes), or assign/unassign a member (null unassigns). Provide the card's ID (cardId) and the check item's ID (checkItemId). Returns the updated check item.

Selection evidence

Confusable tool pairs.

10 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
trello_update_checklist trello_update_checklist_field high Both update a checklist's name/position with near-identical descriptions. A task like 'rename checklist X' fits both equally (update_checklist has a name param; update_checklist_field uses field='name', value), so an agent can pick the wrong one.
trello_get_card_checklists trello_get_card_for_checklist medium Direction swap: 'get the checklist(s) for card X' provides a cardId, but the similarly-named tool reads as 'get the card for a checklist' and requires a checklistId, inviting mismatched input/output.
trello_get_card_attachments trello_get_card_attachment medium Singular/plural twins. Natural phrasing like 'get the attachment on card X' (without a specific attachment ID) matches the singular tool by name, but that tool requires an attachmentId the user never gave.
trello_get_check_items trello_get_check_item medium Singular/plural pair on the same subject. 'Show me the check item on checklist X' without a checkItemId could wrongly select trello_get_check_item (which needs the ID) instead of trello_get_check_items for all items.
trello_get_card_checklists trello_get_checklist medium 'Get the checklist for card X' can match trello_get_checklist by the literal phrase 'get the checklist,' but that tool requires a checklistId and returns one checklist; the card-level tool taking a cardId is the correct pick.
trello_get_board_for_checklist trello_get_card_for_checklist medium Identical shape ('get the X that a checklist belongs to') with the same checklistId input. A task like 'where does checklist X live?' never says whether board or card is meant, so the agent may return the wrong parent object.
trello_get_checklist trello_get_checklist_field low 'Get the name/position of checklist X' can be satisfied by either tool: get_checklist returns the full checklist including those fields, while get_checklist_field returns only the field. Same inputs fit both, so the general getter may be chosen when the field-specific tool is intended.
trello_get_list_cards get_lists medium The verb 'list' collides with the noun. 'List the cards in list X' or 'get the list cards' can greedily match get_lists (get all lists on a board) instead of trello_get_list_cards, since both names share 'get'/'list'.
trello_get_checklist trello_get_card_for_checklist low Both consume a checklistId and start with 'get...checklist.' A task like 'get checklist X and which card it belongs to' may settle on get_checklist when get_card_for_checklist was the specific intent.
get_card trello_get_list_cards low Shared 'get card' tokens. 'Get the cards for a list' could select get_card (which expects a specific cardId) rather than trello_get_list_cards, or vice versa; the ID type supplied is the only disambiguator.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard