MCP Server Trello
About
MCP Server Trello is a Model Context Protocol (MCP) server that provides tools for interacting with Trello boards. It handles rate limiting, type safety, and error handling automatically, and is intended for developers using MCP-enabled applications.
Details
- Author
- MCP-Mirror
- Downloads
- 306
- Categories
- Other
Jump to
- Full Trello board integration: cards, lists, board activities
- Built-in rate limiting respecting Trello’s API limits
- Type-safe implementation in TypeScript
- Input validation for all API inputs
- Graceful error handling with informative messages
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP Server TrelloCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install via npm: npm install @modelcontextprotocol/mcp-server-trello. Configure in your MCP settings file with the required environment variables TRELLO_API_KEY, TRELLO_TOKEN, and TRELLO_BOARD_ID. The server exposes tools like get_cards_by_list_id, get_lists, get_recent_activity, add_card_to_list, update_card_details, archive_card, add_list_to_board, archive_list, and get_my_cards.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp server trello": {
"trello": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-trello"
],
"env": {
"TRELLO_API_KEY": "",
"TRELLO_TOKEN": "",
"TRELLO_BOARD_ID": ""
}
}
}
}
}
McpServers
{
"trello": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-trello"
],
"env": {
"TRELLO_API_KEY": "",
"TRELLO_TOKEN": "",
"TRELLO_BOARD_ID": ""
}
}
}
MCP Server Trello
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.
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
npm install @modelcontextprotocol/mcp-server-trello
Configuration
Add the server to your MCP settings file with the following configuration:
{
"mcpServers": {
"trello": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-trello"],
"env": {
"TRELLO_API_KEY": "your-api-key",
"TRELLO_TOKEN": "your-token",
"TRELLO_BOARD_ID": "your-board-id"
}
}
}
}
Required Environment Variables
- TRELLO_API_KEY: Your Trello API key (get from https://trello.com/app-key)
- TRELLO_TOKEN: Your Trello token (generate using your API key)
- TRELLO_BOARD_ID: ID of the Trello board to interact with (found in board URL)
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: {}
}
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/modelcontextprotocol/server-trello.git
cd server-trello
2. Install dependencies
npm install
3. Build the project
npm run build
Running Tests
npm test
Contributing
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with the Model Context Protocol SDK
- Uses the Trello REST API
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



