trello-mcp
v1.0.3
Published
A comprehensive MCP server for Trello - manage boards, lists, cards, checklists, labels, and more
Maintainers
Readme
Trello MCP Server
A comprehensive Model Context Protocol (MCP) server for Trello. Manage boards, lists, cards, checklists, labels, and members through any MCP-compatible AI assistant.
Works with: Claude Code, Codex, OpenCode, Cursor, Windsurf, and any other MCP client.
⚠️ SECURITY WARNING: Your Trello credentials provide full access to your boards. Never share your API key or token. Protect your MCP config files with proper permissions (
chmod 600) and never commit them to version control.
Features
- Board Management: Create, list, update, and archive boards
- List Management: Create, move, and archive lists
- Card Operations: Full CRUD operations, search, comments, attachments
- Checklist Support: Create checklists, add/update/complete items
- Label Management: Create, update, and assign labels
- Member Management: View members, assign to cards
- Search: Full-text search with Trello search operators
Quick Start
Step 1: Get Your Trello API Credentials (2 minutes)
You need two things from Trello: an API Key and a Token.
Step 1a: Create a Trello Power-Up
- Go to https://trello.com/power-ups/admin
- Log in to Trello if prompted
- Click the "New" button (top right)
- Fill in the "New App" form:
- App name: Anything you want (e.g.,
trellomcp) - Workspace: Select any workspace you belong to
- Email: Your email (only Trello sees this, not us)
- Support contact: Your email (only Trello sees this, not us)
- Author: Your name
- Iframe connector URL: Leave this blank
- App name: Anything you want (e.g.,
- Click "Create"
Step 1b: Generate Your API Key
- After creating the app, you'll land on the app settings page
- Click "API key" in the left sidebar (if not already selected)
- Click the "Generate a new API key" button
- You'll now see three fields:
- API key - ✅ Copy this! This is your
TRELLO_API_KEY - Allowed origins - ❌ Leave empty (not needed)
- Secret - ❌ Ignore this (only for OAuth, we don't use it)
- API key - ✅ Copy this! This is your
Step 1c: Generate Your Token
- On the same page, find the text that says "manually generate a Token"
- Click the "Token" link in that text
- You'll see an authorization page asking "Would you like to give the following application access to your account?"
- It shows your app name and Trello account
- Scroll down and click "Allow"
- You'll see a page that says: "You have granted access to your Trello account via the token below:"
- Copy the token displayed - this is your
TRELLO_TOKEN
Alternative: If you can't find the Token link, visit this URL directly (replace
YOUR_API_KEY):https://trello.com/1/authorize?expiration=never&scope=read,write&response_type=token&key=YOUR_API_KEY
You now have both credentials:
TRELLO_API_KEY- from Step 1bTRELLO_TOKEN- from Step 1c
Step 2: Install the MCP Server
npm install -g trello-mcpOr from source:
git clone https://github.com/anthropics/trello-mcp.git
cd trello-mcp
npm install
npm run buildStep 3: Configure Your MCP Client
Choose your client below:
claude mcp add-json trello '{"type":"stdio","command":"npx","args":["-y","trello-mcp"],"env":{"TRELLO_API_KEY":"your-api-key","TRELLO_TOKEN":"your-token"}}'codex mcp add trello --env TRELLO_API_KEY=your-key --env TRELLO_TOKEN=your-token -- npx -y trello-mcpInteractive setup:
opencode mcp add
# Select: Local
# Name: trello
# Command: TRELLO_API_KEY=your-key TRELLO_TOKEN=your-token npx -y trello-mcpOr add to opencode.json:
{
"mcp": {
"trello": {
"type": "local",
"command": ["npx", "-y", "trello-mcp"],
"environment": {
"TRELLO_API_KEY": "your-api-key",
"TRELLO_TOKEN": "your-token"
}
}
}
}Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"trello": {
"command": "npx",
"args": ["-y", "trello-mcp"],
"env": {
"TRELLO_API_KEY": "your-api-key",
"TRELLO_TOKEN": "your-token"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"trello": {
"command": "npx",
"args": ["-y", "trello-mcp"],
"env": {
"TRELLO_API_KEY": "your-api-key",
"TRELLO_TOKEN": "your-token"
}
}
}
}TRELLO_API_KEY=your-key TRELLO_TOKEN=your-token npx trello-mcpStep 4: Verify It Works
Ask your AI assistant:
"List my Trello boards"
It should respond with your Trello boards!
Troubleshooting
"Command not found"
Find the full path:
which trello-mcp # macOS/Linux
where trello-mcp # WindowsThen use the full path in your config (e.g., /usr/local/bin/trello-mcp).
"Invalid API key" or "Invalid token"
- Check you copied the full key (32 chars) and token (64 chars)
- No extra spaces
- Token not revoked at https://trello.com/your/account
Tools not showing up
- Restart your MCP client after config changes
- Check JSON syntax is valid (use a JSON validator)
- Check the server runs manually:
TRELLO_API_KEY=x TRELLO_TOKEN=y trello-mcp --help
What You Can Do
Example prompts:
Boards
- "List all my Trello boards"
- "Create a new board called 'Project Alpha'"
- "Show me the lists on my 'Work' board"
Cards
- "Create a card called 'Review PR #123' in the 'To Do' list"
- "Move the 'Homepage redesign' card to 'Done'"
- "Search for cards containing 'bug' due this week"
Checklists
- "Add a checklist to the 'Release v2.0' card with items: Tests, Docs, Deploy"
- "Mark 'Tests' as complete"
Labels & Members
- "Add the 'Urgent' label to the 'Fix bug' card"
- "Assign @john to the 'Design review' card"
Comments
- "Add a comment to the card saying 'Waiting for client feedback'"
All Available Tools (39 total)
Boards (6)
trello_list_boards- List all boardstrello_get_board- Get board with liststrello_create_board- Create boardtrello_update_board- Update boardtrello_get_board_labels- Get board labelstrello_get_board_members- Get board members
Lists (6)
trello_create_list- Create listtrello_update_list- Update listtrello_get_list_cards- Get cards in listtrello_archive_all_cards- Archive all cardstrello_move_all_cards- Move all cardstrello_move_list- Move list to board
Cards (17)
trello_get_card- Get card detailstrello_create_card- Create cardtrello_update_card- Update cardtrello_delete_card- Delete cardtrello_search_cards- Search cardstrello_copy_card- Copy cardtrello_add_comment- Add commenttrello_get_card_comments- Get commentstrello_update_comment- Update commenttrello_delete_comment- Delete commenttrello_add_card_label- Add labeltrello_remove_card_label- Remove labeltrello_assign_member- Assign membertrello_remove_member- Remove membertrello_add_attachment- Add attachmenttrello_get_attachments- Get attachmentstrello_delete_attachment- Delete attachment
Labels (3)
trello_create_label- Create labeltrello_update_label- Update labeltrello_delete_label- Delete label
Checklists (8)
trello_create_checklist- Create checklisttrello_update_checklist- Update checklisttrello_delete_checklist- Delete checklisttrello_get_checklist- Get checklisttrello_add_checklist_item- Add itemtrello_update_checklist_item- Update itemtrello_delete_checklist_item- Delete itemtrello_copy_checklist- Copy checklist
Members (5)
trello_get_me- Get current usertrello_get_member- Get member infotrello_get_member_boards- Get member's boardstrello_get_member_cards- Get member's cardstrello_search_members- Search members
Search Operators
Use Trello's search syntax with trello_search_cards:
| Operator | Example | Description |
|----------|---------|-------------|
| @me | @me | My cards |
| #label | #bug | Cards with label |
| board: | board:Dev | On specific board |
| list: | list:"To Do" | In specific list |
| is:open | is:open | Open cards |
| due:day | due:week | Due soon |
| due:overdue | due:overdue | Past due |
| has:attachments | has:checklist | Has feature |
Example: @me due:week is:open #urgent
Development
npm install
TRELLO_API_KEY=x TRELLO_TOKEN=y npm run dev # Dev mode with auto-reload
npm run build # Build for production
npm run inspect # Test with MCP InspectorSecurity & Credentials
How are my credentials stored?
Your Trello API key and token are stored locally on your machine in your MCP client's config file:
| Client | Config Location |
|--------|-----------------|
| Claude Code | ~/.claude.json |
| Codex | ~/.codex/config.toml |
| OpenCode | opencode.json or ~/.config/opencode/opencode.json |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
The MCP server never stores your credentials - it only reads them from environment variables that your MCP client provides when starting the server.
Do credentials expire?
- API Key: Never expires
- Token: Never expires (we use
expiration=never)
You can revoke your token anytime at https://trello.com/your/account
Security best practices
- Never share your token - it provides full access to your Trello account
- Don't commit config files with credentials to git (add them to
.gitignore) - Revoke and regenerate if you accidentally expose your token
- Don't screenshot your terminal/config files with credentials visible
- The token has
read,writescope - it can read and modify your boards
License
MIT
