trello-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRELLO_TOKEN | Yes | Trello API token | |
| TRELLO_API_KEY | Yes | Trello API key |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_boardsA | List every Trello board the configured token can see, including archived (closed) ones. Returns id, name, url and closed for each. Start here: the board ids returned feed get_lists, get_cards, get_labels and get_board_activity. |
| get_listsA | Get the open (non-archived) lists on a Trello board, in board order. board_id comes from list_boards. Returns id, name and position — the list ids are what create_card and move_card need. |
| get_cardsA | Get cards on a board, optionally narrowed to one list or one label. board_id comes from list_boards; list_id (optional) comes from get_lists; label (optional) is a label NAME as shown by get_labels, matched case-insensitively. include_archived defaults to false, limit defaults to 50. Each card comes back trimmed: id, name, list, labels, due, url and a shortened description — call get_card for the full card with comments and checklists. |
| get_cardA | Get a single card with everything worth reading: full description, labels, due date, assigned members, a per-checklist done/total summary, and the most recent comments. card_id comes from get_cards, search_cards or a Trello card URL. |
| search_cardsA | Search Trello cards with Trello's own search syntax (plain words, or operators like "due:week", "label:urgent", "@me", "is:open"). Pass board_id to scope the search to one board, otherwise it covers every board the token can see. Returns up to 25 trimmed card summaries. |
| get_labelsA | List the labels defined on a board, with id, name and colour. Use this before create_card or add_label to turn a human label name into the label id those tools require. board_id comes from list_boards. |
| get_board_activityA | Recent activity on a board — cards created, moved, archived, commented on — newest first, as one readable line per action plus the raw action type. days defaults to 7. Good for "what changed this week" without diffing card state. board_id comes from list_boards. |
| create_cardA | Create a card at the bottom of a list. list_id comes from get_lists. desc is Markdown. due is an ISO 8601 date or datetime (e.g. 2026-08-20 or 2026-08-20T17:00:00Z). label_ids are label ids from get_labels — names will not work. Returns the created card including its id and url. |
| update_cardA | Update a card's title, description or due date. Only the fields you pass are changed; omitted fields are left alone. Pass due as an ISO 8601 date to set it, or null to clear it. To move a card between lists use move_card; to archive it use archive_card. |
| move_cardA | Move a card to a different list on the same board. list_id comes from get_lists. position is optional: "top" or "bottom" (default "bottom") within the destination list. |
| add_commentA | Post a comment on a card as the authenticated Trello user. text is Markdown. Comments are the right place for context and decisions — they are preserved in the card history. |
| add_labelA | Attach an existing board label to a card. label_id comes from get_labels — label names are not accepted. Adding a label the card already has is a no-op error from Trello, so check get_card first if unsure. |
| remove_labelA | Detach a label from a card. This removes the label from that one card only — the label itself stays on the board. label_id comes from get_labels or from get_card. |
| archive_cardA | Archive a card — Trello's reversible "remove". The card leaves the board view but keeps its comments, checklists and history, and unarchive_card brings it back. This server has no delete tool on purpose: Trello deletion is permanent and unrecoverable, so archiving is always the correct move. |
| unarchive_cardA | Restore an archived card to its list. Find archived cards with get_cards using include_archived: true, or with search_cards. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct action-resource pair: card CRUD (create/get/update/move/archive/unarchive), comments, labels, boards, lists, and search. Even similar tools like get_cards vs get_card vs search_cards have clear differences in scope and return shape.
All tools follow a consistent verb_noun snake_case pattern: get_*, create_card, update_card, move_card, archive_card, unarchive_card, add_comment, add_label, remove_label, list_boards. There are no mixed styles or vague verbs like 'process' or 'do_thing'.
15 tools is at the upper end of the ideal range but well justified by the breadth of Trello operations covered: boards, lists, cards, labels, comments, search, and activity. Each tool serves a distinct purpose with no redundancy.
The card lifecycle is fully covered (create, read, update, archive/unarchive instead of permanent delete), plus labels, comments, search, and board activity. Minor gaps exist: no board or list creation/update/delete, but the server is clearly card-centric and archiving is intentionally used as a safe deletion alternative.