Provides a suite of tools to manage Trello boards, lists, and cards, including full CRUD operations for cards, list archival, and the ability to load comprehensive Trello data into the context for analysis.
Click on "Install 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., "@Trello MCP ServerAdd a card 'Update documentation' to my To Do list"
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.
Trello MCP Server
A Model Context Protocol (MCP) server that provides seamless integration with Trello's API. Manage your Trello boards, lists, and cards directly through Claude or any MCP-compatible client.
Features
Board Management: List, view, and create Trello boards
List Operations: Create, view, and archive lists on boards
Card CRUD: Full create, read, update, delete operations for cards
Card Movement: Move cards between lists with position control
MCP Resources: Load board, list, and card data into LLM context for analysis
Secure Authentication: API key and token-based authentication via environment variables
Installation
Prerequisites
Python 3.11 or higher
A Trello account
Trello API credentials (API key and token)
Install the Package
Getting Trello API Credentials
Step 1: Get Your API Key
Visit Trello Power-Ups Admin
Click "New" to create a new Power-Up (if you don't have one)
Fill in the required information (name, workspace, etc.)
Once created, you'll see your API Key on the Power-Up's page
Alternatively, you can get your API key directly from: https://trello.com/app-key
Step 2: Generate an API Token
While viewing your API key page, click the "Token" link or visit:
https://trello.com/1/authorize?expiration=never&name=TrelloMCP&scope=read,write&response_type=token&key=YOUR_API_KEY(Replace
YOUR_API_KEYwith the key from Step 1)Click "Allow" to authorize the application
Copy the API Token that is displayed
Step 3: Configure Environment Variables
Create a .env file in the project root:
Edit .env and add your credentials:
Important: Never commit your .env file to version control. It's already in .gitignore.
Usage
Running the Server Standalone
The server will start and listen for MCP connections via stdio.
Using with Claude Desktop
Add the following to your Claude Desktop configuration file:
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json
Alternatively, if you have a .env file in your project directory:
The server will automatically load credentials from the .env file in the working directory.
Restart Claude Desktop
After updating the configuration, restart Claude Desktop to load the Trello MCP server.
Available Tools
The server provides the following tools that you can use through natural language with Claude:
Board Tools
list_boards()- List all your Trello boardsget_board(board_id)- Get details of a specific boardcreate_board(name, desc?)- Create a new board
List Tools
get_board_lists(board_id)- Get all lists on a boardcreate_list(board_id, name, pos?)- Create a new list on a boardarchive_list(list_id)- Archive (close) a list
Card Tools
list_cards(list_id)- Get all cards in a listget_card(card_id)- Get details of a specific cardcreate_card(list_id, name, desc?, pos?)- Create a new cardupdate_card(card_id, name?, desc?, list_id?)- Update a carddelete_card(card_id)- Delete a cardmove_card(card_id, list_id, pos?)- Move a card to another list
Available Resources
Resources allow you to load Trello data into the LLM's context for analysis:
trello://board/{board_id}- Load complete board information with all lists and cardstrello://list/{list_id}- Load list information with all cardstrello://card/{card_id}- Load detailed card information
Example Conversations with Claude
Once configured, you can interact with Trello naturally:
"Show me all my Trello boards"
Claude will call
list_boards()and display your boards
"Create a new board called 'Q1 2026 Planning'"
Claude will call
create_board(name="Q1 2026 Planning")
"On my project board, create a new list called 'In Review'"
Claude will first find your board, then call
create_list()
"Add a card 'Review design docs' to the To Do list with description 'Need to review the new UI designs'"
Claude will call
create_card()with the appropriate parameters
"Move that card to the In Progress list"
Claude will call
move_card()to relocate it
"Load the full context of board abc123"
Claude will use the resource
trello://board/abc123to load all data
Development
Running Tests
Project Structure
Adding New Features
Add new API methods to
TrelloClientintrello_client.pyAdd corresponding tools/resources in
server.pyusing FastMCP decoratorsUpdate this README with the new functionality
API Rate Limits
Trello's API has rate limits per API key. If you exceed them, you'll receive a 429 error. For frequent updates, consider using Trello webhooks instead of polling.
Troubleshooting
"Invalid Trello API credentials" error
Verify your
TRELLO_API_KEYandTRELLO_API_TOKENare correctMake sure there are no extra spaces or quotes in your
.envfileTry regenerating your API token
"Resource not found" error
Double-check the board/list/card ID you're using
Ensure you have access to the resource with your Trello account
Server not showing in Claude Desktop
Check that the path to
trello-mcpis correctVerify the JSON syntax in
claude_desktop_config.jsonRestart Claude Desktop completely
Check Claude Desktop's logs for error messages
Security Notes
Keep your API key and token secure - never commit them to version control
The
.envfile is automatically ignored by gitAPI tokens grant full access to your Trello account - treat them like passwords
Consider creating a separate Trello workspace for testing
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
License
MIT License - feel free to use this server for your own projects.
References
Acknowledgments
Built with:
FastMCP - High-level Python SDK for MCP
httpx - Modern HTTP client
python-dotenv - Environment variable management