Skip to main content

MCP server for Trello API integration

Project description

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 accepts checklists: [{name, items: [...]}] and comments: ["...", ...]. Sub-resource failures emit partial_failure warnings (not errors) so envelope.ok stays 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=True required when source list has >1 card. dry_run=True previews card_count without requiring confirm.
  • Hardening: classify_ref verifies /cards/<ref> before emitting wrong_tool; label_cards DELETE merges dict response into card (no more sparse receipts); get_card_context uses _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, targetto_list.

Aliases accepted (update_cards): descriptiondesc, titlename, archived/archive/is_closedclosed, due_datedue, dueCompletedue_complete, idListid_list, idMembersid_members.

Aliases accepted (label_cards): labels/add_labels/labeladd, remove_labelsremove.

Tool Surface

The revised MCP exposes 24 current tools. Prefer compact grouped tools before raw Trello calls.

Board discovery and read tools:

  • open_board
  • get_board_snapshot
  • find_cards
  • get_card_context
  • get_board_activity

Card mutation tools:

  • create_cards
  • update_cards
  • move_cards
  • label_cards
  • comment_on_card

Grouped project-management tools:

  • manage_boards
  • manage_cards
  • manage_comments
  • manage_checklists
  • manage_attachments
  • manage_custom_fields
  • assign_members
  • manage_lists
  • manage_labels
  • batch_get_compact

Raw guarded escape hatches:

  • trello_get
  • trello_post
  • trello_put
  • trello_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.

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_KEY
  • TRELLO_API_TOKEN

Deployment

See DEPLOYMENT.md for the release and PyPI publish flow.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_trello-0.5.0.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_trello-0.5.0-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_trello-0.5.0.tar.gz.

File metadata

  • Download URL: mcp_server_trello-0.5.0.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for mcp_server_trello-0.5.0.tar.gz
Algorithm Hash digest
SHA256 99e187d4dac9eeaa1c5d71a8a89c70410dc9924fc7f0b49d7876ba64f3068193
MD5 e65d4349186015b2da16a7a8e5de19a7
BLAKE2b-256 e781d5df215036eb48f9a0171d170f2b583efec6dc702f17334edf2adf737f8b

See more details on using hashes here.

File details

Details for the file mcp_server_trello-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_trello-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4cdcccf90545ce571f203b3764997b66c8e0436637e69f415cd6921b00fce14
MD5 f008ae2458f736b5865a890edea7e566
BLAKE2b-256 d28c8e50ed6b03f3f94350793f85eaff323e6e210fc25620fcdcca94979fe47f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page