Skip to main content
Glama
musictechlab

mtl-trello-mcp

by musictechlab

mtl-trello-mcp

License: MIT CI Python 3.10+ Code style: Ruff Built by MusicTech Lab

Model Context Protocol (MCP) server for Trello project management.

Manage boards, lists, cards, labels, and members - all from Claude Code or any MCP-compatible client.

mtl-trello-mcp in action — translating Trello cards from Claude Code

Tools

Tool

Description

trello_list_boards

List all boards

trello_get_board

Get board with all lists and cards

trello_get_lists

Get lists in a board

trello_create_list

Create a new list

trello_get_card

Get full card details

trello_create_card

Create a new card

trello_update_card

Update card name, description, due date

trello_move_card

Move card to a different list

trello_archive_card

Archive a card

trello_add_attachment

Attach a local file (image, PDF, …) to a card

trello_attach_link

Attach a URL (web link) to a card

trello_get_comments

Get comments on a card

trello_add_comment

Add a comment to a card

trello_comment_with_attachment

Upload a file and post a comment embedding/linking it

trello_search

Search cards by keyword

trello_get_labels

Get board labels

trello_get_members

Get board members

Setup

1. Get Trello API credentials

  1. Register a Trello Power-Up

  2. Note your API Key and generate a Token from the Power-Up admin page

2. Configure environment

cp .env.example .env
# Edit .env with your TRELLO_API_KEY and TRELLO_TOKEN

Attachment upload safety. The attachment tools (trello_add_attachment, trello_comment_with_attachment) validate every local path before uploading, to stop a prompt-injected path from leaking a sensitive file onto a card:

Var

Default

Effect

TRELLO_UPLOAD_DIR

~

Uploads must resolve to a regular file inside this root (symlinks resolved first).

TRELLO_ALLOW_HIDDEN

unset

When not 1, any hidden path component (.ssh, .aws, .config, .env, …) is rejected — this is what blocks ~/.ssh/id_rsa under the default home root.

TRELLO_MAX_UPLOAD_MB

50

Maximum upload size in MB.

Sensitive filename patterns (*.pem, *.key, *.env, id_rsa, .netrc, …) are rejected regardless. For the strictest setup, point TRELLO_UPLOAD_DIR at a dedicated staging folder that contains nothing else.

3. Install dependencies

poetry install

4. Add to Claude Code

claude mcp add mtl-trello -- poetry -C /path/to/mtl-trello-mcp run python -m mtl_trello_mcp

Or add it manually to your Claude Code MCP settings:

{
  "mtl-trello": {
    "type": "stdio",
    "command": "poetry",
    "args": ["-C", "/path/to/mtl-trello-mcp", "run", "python", "-m", "mtl_trello_mcp"],
    "env": {
      "TRELLO_API_KEY": "your-api-key",
      "TRELLO_TOKEN": "your-token"
    }
  }
}

Usage examples

Once configured, you can ask Claude:

  • "Show me all my Trello boards"

  • "What cards are on the MTL board?"

  • "Create a card 'Fix ISRC validation' in the BACKLOG list"

  • "Move card abc123 to the DONE list"

  • "Search Trello for 'audio fingerprinting'"

  • "Translate all card names on this board to English"

Development

# Install dev dependencies
poetry install

# Run the server directly
poetry run python -m mtl_trello_mcp

# Run tests
poetry run pytest

# Run linter
poetry run ruff check .

Contributing

Contributions are welcome! Please read CONTRIBUTING.md before submitting a PR.

Security

To report a vulnerability, please see SECURITY.md.

License

MIT - see LICENSE for details.


Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/musictechlab/mtl-trello-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server