MCP Server for Trello
Agent-native Model Context Protocol server for using Trello as a project-management backend for LLM agents.
The server exposes compact workflow tools first, with guarded raw Trello calls available only as escape hatches.
What's new in v0.5.0
- Atomic
create_cards: each card spec acceptschecklists: [{name, items: [...]}]andcomments: ["...", ...]. Sub-resource failures emitpartial_failurewarnings (not errors) soenvelope.okstays True for the card-succeeded case. - Idempotent ensure- operations*:
manage_lists(operation="ensure", name="Done")— case-insensitive match on open lists; creates if missing.manage_labels(operation="ensure", name="Urgent", color="red")— same semantics for labels. Strict match: existing properties are NOT silently updated.
- Declarative
manage_lists(operation="reorder", ordered_names=[...])— listed-first, un-listed open lists trail in their existing order. manage_lists(operation="move_all_cards")safety:confirm=Truerequired when source list has >1 card.dry_run=Truepreviewscard_countwithout requiring confirm.- Hardening:
classify_refverifies/cards/<ref>before emittingwrong_tool;label_cardsDELETE merges dict response into card (no more sparse receipts);get_card_contextuses_board_cards(extra_fields=["desc"])for description.
What's new in v0.3.0
- Input validation with field-level receipts (
fields_summary.aliased/ignored/missing). - Card label hydration: read and mutation responses now return
labels: ["Feature"](name strings) instead of empty arrays. - Card shortLink resolution:
RIQCFJBW-style 8-char references resolve everywhere a card is taken. - New error codes:
partial_resolution,wrong_tool,no_changes_requested,alias_collision.
Aliases accepted (move_cards): list, target_list, destination, move_to, list_name, target → to_list.
Aliases accepted (update_cards): description→desc, title→name, archived/archive/is_closed→closed, due_date→due, dueComplete→due_complete, idList→id_list, idMembers→id_members.
Aliases accepted (label_cards): labels/add_labels/label→add, remove_labels→remove.
Tool Surface
The revised MCP exposes 24 current tools. Prefer compact grouped tools before raw Trello calls.
Board discovery and read tools:
open_boardget_board_snapshotfind_cardsget_card_contextget_board_activity
Card mutation tools:
create_cardsupdate_cardsmove_cardslabel_cardscomment_on_card
Grouped project-management tools:
manage_boardsmanage_cardsmanage_commentsmanage_checklistsmanage_attachmentsmanage_custom_fieldsassign_membersmanage_listsmanage_labelsbatch_get_compact
Raw guarded escape hatches:
trello_gettrello_posttrello_puttrello_delete
Raw tools are for cases the compact surface cannot express. They reject unsafe endpoints, credential-bearing URLs, and unconfirmed deletes.
Response Shape
Tools return compact dict envelopes:
{
"ok": true,
"tool": "open_board",
"board": {"id": "...", "name": "...", "url": "..."},
"result": {},
"warnings": [],
"errors": []
}
Errors and warnings use stable machine-readable codes so agents can recover or retry safely.
Mutation tools return compact receipts plus a top-level verified_by source:
"trello_mutation_response" for real writes, "trello_board_snapshot" for
unchanged items, and "dry_run" for previews. When the source is a real Trello
write response, call read tools only when extra fields such as description,
checklists, or activity are needed.
Board Maps
open_board refreshes a local board map so agents can resolve board-local list and label aliases without rediscovering IDs each turn.
Default storage:
~/.config/mcp-server-trello/boards
Override storage with:
TRELLO_MCP_BOARD_MAP_DIR=/path/to/boards
Board maps store board/list/label metadata and aliases. They do not store card contents, comments, or credentials.
Example Workflows
Open a board:
open_board(name_or_id="Suitepath")
Create cards in bulk:
create_cards(board_id_or_name="Suitepath", list="TODO", cards=[{"name": "Draft release notes"}])
Label cards in bulk:
label_cards(board_id_or_name="Suitepath", card_refs=["Draft release notes"], add=["Feature"])
Inspect recent activity:
get_board_activity(board_id_or_name="Suitepath", limit=10)
Run a compact batch read:
batch_get_compact(urls=["/boards/board_id/cards", "/boards/board_id/labels"])
Installation
uvx mcp-server-trello
Required runtime environment:
TRELLO_API_KEYTRELLO_API_TOKEN
Deployment
See DEPLOYMENT.md for the release and PyPI publish flow.
Metadata
Release files for mcp-server-trello 0.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_server_trello-0.5.2.tar.gz | 32.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_server_trello-0.5.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.1 kB
Release files / mcp_server_trello-0.5.2.tar.gz
| Download URL | mcp_server_trello-0.5.2.tar.gz |
|---|---|
| Size | 32.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7abb60bf1b4cb87af8e2e6c1e1d0b8da48cc7724a7c9c9926d2ea6aea942ef8b
|
|
BLAKE2b-256 checksum How to use checksums |
f811231daef40f5a79b4de7408618cb236792415f7c96fa00e33a741363c089e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.4
|
Release files / mcp_server_trello-0.5.2-py3-none-any.whl
| Download URL | mcp_server_trello-0.5.2-py3-none-any.whl |
|---|---|
| Size | 38.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
396a1e2285691c95e5e32ca51be7f7a31ee40f5605316a388b1c493d54c1abde
|
|
BLAKE2b-256 checksum How to use checksums |
27de85188b88f1ffef2ac0bb6bc97d2de167bac2d7fb01fe260059eeaa97a591
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.4
|
Security for mcp-server-trello 0.5.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.