Skip to main content
Glama

Trello MCP

A Model Context Protocol (MCP) server that provides comprehensive Trello integration for any MCP-compatible client — including Claude Desktop, Claude Code, Gemini CLI, and more. This server enables AI assistants to interact with Trello boards, cards, lists, and more through a secure local connection.

Features

šŸ” Search & Discovery

  • Universal Search: Search across all Trello content (boards, cards, members, organizations)

  • User Boards: Get all boards accessible to the current user

  • Board Details: Retrieve detailed information about boards including lists and cards

šŸ“ Card Management

  • Create Cards: Add new cards to any list with descriptions, due dates, and assignments

  • Update Cards: Modify card properties like name, description, due dates, and status

  • Move Cards: Transfer cards between lists to update workflow status

  • Get Card Details: Fetch comprehensive card information including members, labels, and checklists

šŸ’¬ Collaboration

  • Add Comments: Post comments on cards for team communication

  • Member Management: View board members and member details

  • Activity History: Track card actions and changes

šŸ“‹ Organization

  • List Management: Create new lists and get cards within specific lists

  • Labels: View and manage board labels for categorization

  • Checklists: Access card checklists and checklist items

  • Attachments: View card attachments and linked files

Related MCP server: Trello MCP Server

Installation

Prerequisites

  • Node.js 18+ installed

  • An MCP-compatible client (Claude Desktop, Claude Code, Gemini CLI, etc.)

  • Trello account with API credentials

Setup Steps

  1. Clone the repository

    git clone https://github.com/kocakli/trello-desktop-mcp.git
    cd trello-desktop-mcp
  2. Install dependencies

    npm install
  3. Build the project

    npm run build
  4. Get Trello API credentials

  5. Configure your MCP client

    Choose the instructions for your client below:

    Edit your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

    Add the Trello MCP server:

    {
      "mcpServers": {
        "trello": {
          "command": "node",
          "args": ["/absolute/path/to/trello-desktop-mcp/dist/index.js"],
          "env": {
            "TRELLO_API_KEY": "your-api-key-here",
            "TRELLO_TOKEN": "your-token-here"
          }
        }
      }
    }

    Then restart Claude Desktop.

    Add the server using the Claude Code CLI:

    claude mcp add trello -- node /absolute/path/to/trello-desktop-mcp/dist/index.js \
      -e TRELLO_API_KEY=your-api-key-here \
      -e TRELLO_TOKEN=your-token-here

    Or add it to your project's .mcp.json:

    {
      "mcpServers": {
        "trello": {
          "command": "node",
          "args": ["/absolute/path/to/trello-desktop-mcp/dist/index.js"],
          "env": {
            "TRELLO_API_KEY": "your-api-key-here",
            "TRELLO_TOKEN": "your-token-here"
          }
        }
      }
    }

    Edit your Gemini CLI settings file at ~/.gemini/settings.json:

    {
      "mcpServers": {
        "trello": {
          "command": "node",
          "args": ["/absolute/path/to/trello-desktop-mcp/dist/index.js"],
          "env": {
            "TRELLO_API_KEY": "your-api-key-here",
            "TRELLO_TOKEN": "your-token-here"
          }
        }
      }
    }

    Any MCP-compatible client that supports stdio transport can use this server. You need to configure it to:

    1. Run node /absolute/path/to/trello-desktop-mcp/dist/index.js

    2. Set environment variables TRELLO_API_KEY and TRELLO_TOKEN

    Refer to your client's documentation for the exact configuration format.

  6. Restart your MCP client to pick up the new configuration.

Available Tools

The MCP server provides 19 tools organized into three phases:

Phase 1: Essential Tools

  • trello_search - Universal search across all Trello content

  • trello_get_user_boards - Get all boards accessible to the current user

  • get_board_details - Get detailed board information with lists and cards

  • get_card - Get comprehensive card details

  • create_card - Create new cards in any list

Phase 2: Core Operations

  • update_card - Update card properties

  • move_card - Move cards between lists

  • trello_add_comment - Add comments to cards

  • trello_get_list_cards - Get all cards in a specific list

  • trello_create_list - Create new lists on boards

Phase 3: Advanced Features

  • trello_get_board_cards - Get all cards from a board with filtering

  • trello_get_card_actions - Get card activity history

  • trello_get_card_attachments - Get card attachments

  • trello_get_card_checklists - Get card checklists

  • trello_get_board_members - Get board members

  • trello_get_board_labels - Get board labels

  • trello_get_member - Get member details

Legacy Tools (Backward Compatibility)

  • list_boards - List user's boards

  • get_lists - Get lists in a board

Usage Examples

Once configured, you can use natural language with your AI assistant to interact with Trello:

"Show me all my Trello boards"
"Create a new card called 'Update documentation' in the To Do list"
"Move card X from In Progress to Done"
"Add a comment to card Y saying 'This is ready for review'"
"Search for all cards with 'bug' in the title"
"Show me all cards assigned to me"

Architecture

MCP Protocol

The server implements the Model Context Protocol (MCP), which provides:

  • Standardized tool discovery and invocation

  • Type-safe parameter validation

  • Structured error handling

  • Automatic credential management

Security

  • API credentials are stored locally in your MCP client's config

  • No credentials are transmitted over the network

  • All Trello API calls use HTTPS

  • Rate limiting is respected with automatic retry logic

Technical Stack

  • TypeScript for type safety

  • MCP SDK for protocol implementation

  • Zod for schema validation

  • Fetch API for HTTP requests

Development

Project Structure

ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts          # Main MCP server entry point
│   ā”œā”€ā”€ server.ts         # Alternative server implementation
│   ā”œā”€ā”€ tools/            # Tool implementations
│   │   ā”œā”€ā”€ boards.ts     # Board-related tools
│   │   ā”œā”€ā”€ cards.ts      # Card-related tools
│   │   ā”œā”€ā”€ lists.ts      # List-related tools
│   │   ā”œā”€ā”€ members.ts    # Member-related tools
│   │   ā”œā”€ā”€ search.ts     # Search functionality
│   │   └── advanced.ts   # Advanced features
│   ā”œā”€ā”€ trello/           # Trello API client
│   │   └── client.ts     # API client with retry logic
│   ā”œā”€ā”€ types/            # TypeScript type definitions
│   └── utils/            # Utility functions
ā”œā”€ā”€ dist/                 # Compiled JavaScript
└── package.json          # Project configuration

Building from Source

# Install dependencies
npm install

# Build the project
npm run build

# Run type checking
npm run type-check

Testing

The server includes comprehensive error handling and validation. Test your setup by:

  1. Checking your MCP client's connection status

  2. Running a simple command like "Show me my Trello boards"

  3. Verifying the response includes your board data

Troubleshooting

Common Issues

  1. "No Trello tools available"

    • Ensure your MCP client is fully restarted after configuration

    • Check that the path in config points to dist/index.js

    • Verify the file exists and is built

  2. "Invalid credentials"

    • Double-check your API key and token

    • Ensure token has read/write permissions

    • Regenerate token if needed

  3. "Rate limit exceeded"

    • The server includes automatic retry logic

    • Wait a few minutes if you hit limits

    • Consider reducing request frequency

Debug Logging

Check your MCP client's logs for connection and error details. For Claude Desktop, logs are at:

  • macOS: ~/Library/Logs/Claude/mcp-server-trello.log

  • Windows: %APPDATA%\Claude\Logs\mcp-server-trello.log

Contributing

Contributions are welcome! Please:

  1. Fork the repository

  2. Create a feature branch

  3. Add tests for new functionality

  4. Submit a pull request

License

MIT License - see LICENSE file for details

Acknowledgments

Available Tools

20 tools
create_boardA

Create a new Trello board. Optionally set a description and choose whether to add the default lists (To Do, Doing, Done).

Inputs: name (required), token (required), apiKey (required), desc, +1 more.

create_cardA

Create a new card in a Trello list. Use this to add tasks, ideas, or items to your workflow.

Inputs: name (required), token (required), apiKey (required), idList (required), +5 more.

get_board_detailsB

Get detailed information about a specific Trello board, including its lists and cards. Useful for understanding board structure and content.

Inputs: token (required), apiKey (required), boardId (required), includeDetails.

get_cardC

Get detailed information about a specific Trello card, including its content, status, members, and attachments.

Inputs: token (required), apiKey (required), cardId (required), includeDetails.

get_listsA

Get all lists in a specific Trello board. Use this to see the workflow columns (like "To Do", "In Progress", "Done") in a board.

Inputs: token (required), apiKey (required), boardId (required), filter.

list_boardsA

List all Trello boards accessible to the user. Use this to see all boards you have access to, or filter by status.

Inputs: token (required), apiKey (required), filter.

move_cardA

Move a card to a different list. Use this to change a card's workflow status (e.g., from "To Do" to "In Progress").

Inputs: token (required), apiKey (required), cardId (required), idList (required), +1 more.

trello_add_commentA

Add a comment to a Trello card. Use this to add notes, updates, or discussions to cards.

Inputs: text (required), token (required), apiKey (required), cardId (required).

trello_create_listA

Create a new list in a Trello board. Use this to add workflow columns like "To Do", "In Progress", or "Done".

Inputs: name (required), token (required), apiKey (required), idBoard (required), +1 more.

trello_get_board_cardsB

Get all cards from a Trello board with optional filtering and detailed information like attachments and members.

Inputs: token (required), apiKey (required), boardId (required), filter, +2 more.

trello_get_board_labelsA

Get all labels available on a specific Trello board for categorizing cards.

Inputs: token (required), apiKey (required), boardId (required).

trello_get_board_membersB

Get all members who have access to a specific Trello board.

Inputs: token (required), apiKey (required), boardId (required).

trello_get_card_actionsA

Get activity history and comments for a specific Trello card. Useful for tracking changes and discussions.

Inputs: token (required), apiKey (required), cardId (required), limit, +1 more.

trello_get_card_attachmentsA

Get all attachments (files, links) for a specific Trello card.

Inputs: token (required), apiKey (required), cardId (required), fields.

trello_get_card_checklistsB

Get all checklists and their items for a specific Trello card.

Inputs: token (required), apiKey (required), cardId (required), fields, +1 more.

trello_get_list_cardsA

Get all cards in a specific Trello list. Use this to see all tasks/items in a workflow column.

Inputs: token (required), apiKey (required), listId (required), fields, +1 more.

trello_get_memberA

Get details about a specific Trello member/user, including their boards and profile information.

Inputs: token (required), apiKey (required), memberId (required), boards, +2 more.

trello_get_user_boardsA

Get all boards accessible to the current user. This is the starting point for exploring your Trello workspace.

Inputs: token (required), apiKey (required), filter.

update_cardB

Update properties of an existing Trello card. Use this to change card details like name, description, due date, or status.

Inputs: token (required), apiKey (required), cardId (required), due, +6 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 20 tools

    Disambiguation2/5

    Two tools (trello_get_user_boards and list_boards) both list accessible boards with nearly identical descriptions, causing ambiguity. Additionally, get_board_details overlaps with get_lists and trello_get_board_cards in board structure/reading, making it unclear which tool to use for a given task.

    Naming Consistency2/5

    Naming is inconsistent: some tools use a trello_ prefix (trello_get_user_boards, trello_add_comment), while others use bare verb_noun (get_board_details, list_boards). Verbs like get and list are used interchangeably for similar operations, and the set does not follow a single coherent pattern.

    Tool Count3/5

    At 20 tools, the set is on the heavier side but not excessive for a domain as rich as Trello. However, the presence of duplicate board-listing tools and overlapping detail-fetching tools means the count could be reduced without losing functionality.

    Completeness3/5

    The tool set provides extensive read operations and supports creating boards/lists/cards, updating cards, moving cards, and commenting. However, it lacks update/delete operations for boards and lists, no card deletion, and no tools for label assignment or board configuration, leaving notable lifecycle gaps.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers