MCP Server Trello
The MCP Server Trello enables seamless interaction with Trello boards through a type-safe, rate-limited, and error-handled API.
Fetch cards from a specific list using
get_cards_by_list_idRetrieve all lists from the board with
get_listsFetch recent activity on the board via
get_recent_activityAdd new cards to a list using
add_card_to_listUpdate existing cards with
update_card_detailsArchive cards using
archive_cardAdd new lists to the board with
add_list_to_boardArchive lists using
archive_listFetch assigned cards for the current user via
get_my_cardsHandle rate limiting (300 requests/10s per API key, 100 requests/10s per token)
Provide robust error handling for various error conditions
Enables comprehensive Trello board management with capabilities for interacting with cards, lists, and board activities. Supports creating and updating cards, managing lists, tracking recent activity, and handling assigned tasks while respecting Trello's API rate limits.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Server Trello add a card to the backlog list for the new login feature"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: MCP Trello
Installation
npm install @modelcontextprotocol/mcp-server-trelloConfiguration
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
Clone the repository
git clone https://github.com/modelcontextprotocol/server-trello.git
cd server-trelloInstall dependencies
npm installBuild the project
npm run buildRunning Tests
npm testContributing
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
Available Tools
9 toolsadd_card_to_listC
Add a new card to a specified list
Inputs: listId (required), name (required), description, dueDate, +1 more.
add_list_to_boardC
Add a new list to the board
Inputs: name (required).
archive_cardC
Send a card to the archive
Inputs: cardId (required).
archive_listC
Send a list to the archive
Inputs: listId (required).
get_cards_by_list_idB
Fetch cards from a specific Trello list
Inputs: listId (required).
get_listsB
Retrieve all lists from the specified board
Inputs: no named parameters.
get_my_cardsA
Fetch all cards assigned to the current user
Inputs: no named parameters.
get_recent_activityC
Fetch recent activity on the Trello board
Inputs: limit.
update_card_detailsC
Update an existing card's details
Inputs: cardId (required), description, dueDate, labels, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose with no ambiguity: adding cards/lists, archiving cards/lists, fetching cards by list/board/user, getting activity, and updating cards. The descriptions reinforce this by specifying unique actions on different Trello entities.
The naming is mostly consistent with a verb_noun pattern (e.g., add_card_to_list, archive_card, get_cards_by_list_id), but there are minor deviations like 'get_my_cards' (which could be 'get_cards_by_user' for full consistency) and 'get_recent_activity' (which doesn't follow the verb_noun structure as tightly).
With 9 tools, this is well-scoped for a Trello server, covering core operations like CRUD for cards and lists, archiving, and activity tracking. Each tool earns its place without feeling excessive or insufficient for managing Trello boards.
The toolset provides strong coverage for Trello's domain, including create (add_card_to_list, add_list_to_board), read (get_cards_by_list_id, get_lists, get_my_cards, get_recent_activity), update (update_card_details), and delete/archive (archive_card, archive_list). A minor gap is the lack of a tool to update list details, but agents can work around this.
Maintenance
Related MCP Connectors
Log time on Trello cards and read time reports. Free during early access.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
One gateway, every app: Gmail, GitHub, Notion and more. Connect once, call any tool. Managed auth.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceFacilitates interaction with Trello boards via the Trello API, offering features like rate limiting, type safety, input validation, and error handling for seamless management of cards, lists, and board activities.5,781 npm447MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Trello boards through comprehensive card, list, and board management tools. Includes built-in rate limiting, type safety, and support for operations like creating cards, updating details, managing members, and tracking board activity.346 npm10MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Trello boards, lists, and cards through the Trello REST API. Supports board management, card operations, member management, labels, and checklists through natural language.96 npm1ISC
- AlicenseNot gradedqualityDmaintenanceProvides seamless integration with Trello's API to manage boards, lists, and cards through natural language. It supports full CRUD operations, card movement, and the ability to load Trello resources directly into an LLM's context for analysis.MIT