Trello MCP Server
Provides 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.
README
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
# Clone or download this repository
cd TrelloMCP
# Install using pip
pip install -e .
# Or using uv (recommended)
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
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:
cp .env.example .env
Edit .env and add your credentials:
TRELLO_API_KEY=your_api_key_here
TRELLO_API_TOKEN=your_api_token_here
Important: Never commit your .env file to version control. It's already in .gitignore.
Usage
Running the Server Standalone
trello-mcp
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
{
"mcpServers": {
"trello": {
"command": "trello-mcp",
"env": {
"TRELLO_API_KEY": "your_api_key_here",
"TRELLO_API_TOKEN": "your_api_token_here"
}
}
}
}
Alternatively, if you have a .env file in your project directory:
{
"mcpServers": {
"trello": {
"command": "python",
"args": ["-m", "trello_mcp"],
"cwd": "/path/to/TrelloMCP",
"env": {}
}
}
}
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
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
Project Structure
TrelloMCP/
├── src/
│ └── trello_mcp/
│ ├── __init__.py
│ ├── __main__.py # Entry point
│ ├── server.py # MCP server with tools and resources
│ └── trello_client.py # Trello API client wrapper
├── tests/
│ ├── __init__.py
│ └── test_server.py
├── pyproject.toml
├── README.md
├── .env.example
└── .gitignore
Adding New Features
- Add new API methods to
TrelloClientintrello_client.py - Add corresponding tools/resources in
server.pyusing FastMCP decorators - Update 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 correct - Make sure there are no extra spaces or quotes in your
.envfile - Try 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 correct - Verify the JSON syntax in
claude_desktop_config.json - Restart 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 git - API 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
- Trello REST API Documentation
- Model Context Protocol
- FastMCP Framework
- Getting Started with Trello REST API
Acknowledgments
Built with:
- FastMCP - High-level Python SDK for MCP
- httpx - Modern HTTP client
- python-dotenv - Environment variable management
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.