Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-server-trello

MCP.Pizza Chef: delorenj

The mcp-server-trello is a Model Context Protocol (MCP) server designed to provide robust tools for interacting with Trello boards. It integrates directly with Trello's API, offering full board management capabilities while automatically handling rate limiting, type safety, and error handling. This server simplifies Trello automation and integration workflows by providing a secure, reliable interface that supports operations like moving cards between lists and managing board data. With Docker support and easy environment configuration, it is ideal for developers looking to embed Trello functionality into AI-enhanced applications or workflows.

Use This MCP server To

Automate Trello card management and movement Integrate Trello boards into AI workflows Manage Trello lists and cards programmatically Handle Trello API rate limits automatically Enable secure Trello API access with environment configs Build AI copilots that interact with Trello boards

README

MCP Server Trello

smithery badge

A Model Context Protocol (MCP) server that provides tools for interacting with Trello boards. This server enables seamless integration with Trello's API while handling rate limiting, type safety, and error handling automatically.

Server Trello MCP server

Changelog

0.1.2

  • Added Docker support with multi-stage build
  • Improved security by moving environment variables to .env
  • Added Docker Compose configuration
  • Added .env.template for easier setup

0.1.1

  • Added move_card tool to move cards between lists
  • Improved documentation

0.1.0

  • Initial release with basic Trello board management features

Features

  • Full Trello Board Integration: Interact with cards, lists, and board activities
  • Built-in Rate Limiting: Respects Trello's API limits (300 requests/10s per API key, 100 requests/10s per token)
  • Type-Safe Implementation: Written in TypeScript with comprehensive type definitions
  • Input Validation: Robust validation for all API inputs
  • Error Handling: Graceful error handling with informative messages

Installation

Docker Installation (Recommended)

The easiest way to run the server is using Docker:

  1. Clone the repository:
git clone https://github.com/delorenj/mcp-server-trello
cd mcp-server-trello
  1. Copy the environment template and fill in your Trello credentials:
cp .env.template .env
  1. Build and run with Docker Compose:
docker compose up --build

Installing via Smithery

To install Trello Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @modelcontextprotocol/mcp-server-trello --client claude

Manual Installation

npm install @delorenj/mcp-server-trello

Configuration

The server can be configured using environment variables. Create a .env file in the root directory with the following variables:

TRELLO_API_KEY=your-api-key
TRELLO_TOKEN=your-token
TRELLO_BOARD_ID=your-board-id

You can get these values from:

Available Tools

get_cards_by_list_id

Fetch all cards from a specific list.

{
  name: 'get_cards_by_list_id',
  arguments: {
    listId: string  // ID of the Trello list
  }
}

get_lists

Retrieve all lists from the configured board.

{
  name: 'get_lists',
  arguments: {}
}

get_recent_activity

Fetch recent activity on the board.

{
  name: 'get_recent_activity',
  arguments: {
    limit?: number  // Optional: Number of activities to fetch (default: 10)
  }
}

add_card_to_list

Add a new card to a specified list.

{
  name: 'add_card_to_list',
  arguments: {
    listId: string,       // ID of the list to add the card to
    name: string,         // Name of the card
    description?: string, // Optional: Description of the card
    dueDate?: string,    // Optional: Due date (ISO 8601 format)
    labels?: string[]    // Optional: Array of label IDs
  }
}

update_card_details

Update an existing card's details.

{
  name: 'update_card_details',
  arguments: {
    cardId: string,       // ID of the card to update
    name?: string,        // Optional: New name for the card
    description?: string, // Optional: New description
    dueDate?: string,    // Optional: New due date (ISO 8601 format)
    labels?: string[]    // Optional: New array of label IDs
  }
}

archive_card

Send a card to the archive.

{
  name: 'archive_card',
  arguments: {
    cardId: string  // ID of the card to archive
  }
}

add_list_to_board

Add a new list to the board.

{
  name: 'add_list_to_board',
  arguments: {
    name: string  // Name of the new list
  }
}

archive_list

Send a list to the archive.

{
  name: 'archive_list',
  arguments: {
    listId: string  // ID of the list to archive
  }
}

get_my_cards

Fetch all cards assigned to the current user.

{
  name: 'get_my_cards',
  arguments: {}
}

move_card

Move a card to a different list.

{
  name: 'move_card',
  arguments: {
    cardId: string,  // ID of the card to move
    listId: string   // ID of the target list
  }
}

Rate Limiting

The server implements a token bucket algorithm for rate limiting to comply with Trello's API limits:

  • 300 requests per 10 seconds per API key
  • 100 requests per 10 seconds per token

Rate limiting is handled automatically, and requests will be queued if limits are reached.

Error Handling

The server provides detailed error messages for various scenarios:

  • Invalid input parameters
  • Rate limit exceeded
  • API authentication errors
  • Network issues
  • Invalid board/list/card IDs

Development

Prerequisites

  • Node.js 16 or higher
  • npm or yarn

Setup

  1. Clone the repository
git clone https://github.com/delorenj/mcp-server-trello
cd mcp-server-trello
  1. Install dependencies
npm install
  1. Build the project
npm run build

Contributing

Contributions are welcome!

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

mcp-server-trello FAQ

How does mcp-server-trello handle Trello API rate limits?
It automatically manages rate limiting to prevent API request failures, ensuring smooth interactions.
Can I run mcp-server-trello using Docker?
Yes, it supports Docker with multi-stage builds and Docker Compose for easy deployment.
How are environment variables managed in mcp-server-trello?
Environment variables are securely managed via a .env file, with a .env.template provided for setup.
Does mcp-server-trello support moving cards between Trello lists?
Yes, it includes a move_card tool to facilitate card movement across lists.
Is error handling built into mcp-server-trello?
Yes, it provides automatic error handling to ensure reliable Trello API interactions.
What programming languages or frameworks is mcp-server-trello compatible with?
It is designed as an MCP server, making it compatible with any MCP client or host regardless of language.
How does mcp-server-trello ensure type safety?
It enforces type safety in its API interactions to reduce runtime errors and improve reliability.
Can mcp-server-trello be integrated with multiple LLM providers?
Yes, it works with MCP clients that support models like OpenAI, Anthropic Claude, and Google Gemini.