
Trello MCP
โ 31from kocakli
Trello Desktop MCP server that enables Claude Desktop to interact with Trello boards, cards, lists, and team members through natural language commands.
Trello MCP
A Model Context Protocol (MCP) server that provides comprehensive Trello integration for any MCP-compatible client โ including Claude Desktop, Claude Code, Gemini CLI, and more. This server enables AI assistants to interact with Trello boards, cards, lists, and more through a secure local connection.
Features
๐ Search & Discovery
- Universal Search: Search across all Trello content (boards, cards, members, organizations)
- User Boards: Get all boards accessible to the current user
- Board Details: Retrieve detailed information about boards including lists and cards
๐ Card Management
- Create Cards: Add new cards to any list with descriptions, due dates, and assignments
- Update Cards: Modify card properties like name, description, due dates, and status
- Move Cards: Transfer cards between lists to update workflow status
- Get Card Details: Fetch comprehensive card information including members, labels, and checklists
๐ฌ Collaboration
- Add Comments: Post comments on cards for team communication
- Member Management: View board members and member details
- Activity History: Track card actions and changes
๐ Organization
- List Management: Create new lists and get cards within specific lists
- Labels: View and manage board labels for categorization
- Checklists: Access card checklists and checklist items
- Attachments: View card attachments and linked files
Available Tools
The MCP server provides 19 tools organized into three phases:
Phase 1: Essential Tools
trello_search- Universal search across all Trello contenttrello_get_user_boards- Get all boards accessible to the current userget_board_details- Get detailed board information with lists and cardsget_card- Get comprehensive card detailscreate_card- Create new cards in any list
Phase 2: Core Operations
update_card- Update card propertiesmove_card- Move cards between liststrello_add_comment- Add comments to cardstrello_get_list_cards- Get all cards in a specific listtrello_create_list- Create new lists on boards
Phase 3: Advanced Features
trello_get_board_cards- Get all cards from a board with filteringtrello_get_card_actions- Get card activity historytrello_get_card_attachments- Get card attachmentstrello_get_card_checklists- Get card checkliststrello_get_board_members- Get board memberstrello_get_board_labels- Get board labelstrello_get_member- Get member details
Legacy Tools (Backward Compatibility)
list_boards- List user's boardsget_lists- Get lists in a board
Architecture
MCP Protocol
The server implements the Model Context Protocol (MCP), which provides:
- Standardized tool discovery and invocation
- Type-safe parameter validation
- Structured error handling
- Automatic credential management
Security
- API credentials are stored locally in your MCP client's config
- No credentials are transmitted over the network
- All Trello API calls use HTTPS
- Rate limiting is respected with automatic retry logic
Technical Stack
- TypeScript for type safety
- MCP SDK for protocol implementation
- Zod for schema validation
- Fetch API for HTTP requests
Development
Project Structure
โโโ src/
โ โโโ index.ts # Main MCP server entry point
โ โโโ server.ts # Alternative server implementation
โ โโโ tools/ # Tool implementations
โ โ โโโ boards.ts # Board-related tools
โ โ โโโ cards.ts # Card-related tools
โ โ โโโ lists.ts # List-related tools
โ โ โโโ members.ts # Member-related tools
โ โ โโโ search.ts # Search functionality
โ โ โโโ advanced.ts # Advanced features
โ โโโ trello/ # Trello API client
โ โ โโโ client.ts # API client with retry logic
โ โโโ types/ # TypeScript type definitions
โ โโโ utils/ # Utility functions
โโโ dist/ # Compiled JavaScript
โโโ package.json # Project configurationBuilding from Source
# Install dependencies
npm install
# Build the project
npm run build
# Run type checking
npm run type-checkTesting
The server includes comprehensive error handling and validation. Test your setup by:
- Checking your MCP client's connection status
- Running a simple command like "Show me my Trello boards"
- Verifying the response includes your board data
npm installBefore it works, you'll need: TRELLO_API_KEYTRELLO_TOKEN
Installation
Prerequisites
- Node.js 18+ installed
- An MCP-compatible client (Claude Desktop, Claude Code, Gemini CLI, etc.)
- Trello account with API credentials
Setup Steps
-
Clone the repository
git clone https://github.com/kocakli/trello-desktop-mcp.git cd trello-desktop-mcp -
Install dependencies
npm install -
Build the project
npm run build -
Get Trello API credentials
- Visit https://trello.com/app-key
- Copy your API Key
- Generate a Token (never expires, read/write access)
-
Configure your MCP client
Choose the instructions for your client below:
Claude Desktop
Edit your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Add the Trello MCP server:
{ "mcpServers": { "trello": { "command": "node", "args": ["/absolute/path/to/trello-desktop-mcp/dist/index.js"], "env": { "TRELLO_API_KEY": "your-api-key-here", "TRELLO_TOKEN": "your-token-here" } } } }Then restart Claude Desktop.
Claude Code (CLI)
Add the server using the Claude Code CLI:
claude mcp add trello -- node /absolute/path/to/trello-desktop-mcp/dist/index.js \ -e TRELLO_API_KEY=your-api-key-here \ -e TRELLO_TOKEN=your-token-hereOr add it to your project's
.mcp.json:{ "mcpServers": { "trello": { "command": "node", "args": ["/absolute/path/to/trello-desktop-mcp/dist/index.js"], "env": { "TRELLO_API_KEY": "your-api-key-here", "TRELLO_TOKEN": "your-token-here" } } } }Gemini CLI
Edit your Gemini CLI settings file at
~/.gemini/settings.json:{ "mcpServers": { "trello": { "command": "node", "args": ["/absolute/path/to/trello-desktop-mcp/dist/index.js"], "env": { "TRELLO_API_KEY": "your-api-key-here", "TRELLO_TOKEN": "your-token-here" } } } }Other MCP Clients
Any MCP-compatible client that supports stdio transport can use this server. You need to configure it to:
- Run
node /absolute/path/to/trello-desktop-mcp/dist/index.js - Set environment variables
TRELLO_API_KEYandTRELLO_TOKEN
Refer to your client's documentation for the exact configuration format.
- macOS:
-
Restart your MCP client to pick up the new configuration.
Usage Examples
Once configured, you can use natural language with your AI assistant to interact with Trello:
"Show me all my Trello boards"
"Create a new card called 'Update documentation' in the To Do list"
"Move card X from In Progress to Done"
"Add a comment to card Y saying 'This is ready for review'"
"Search for all cards with 'bug' in the title"
"Show me all cards assigned to me"Troubleshooting
Common Issues
-
"No Trello tools available"
- Ensure your MCP client is fully restarted after configuration
- Check that the path in config points to
dist/index.js - Verify the file exists and is built
-
"Invalid credentials"
- Double-check your API key and token
- Ensure token has read/write permissions
- Regenerate token if needed
-
"Rate limit exceeded"
- The server includes automatic retry logic
- Wait a few minutes if you hit limits
- Consider reducing request frequency
Debug Logging
Check your MCP client's logs for connection and error details. For Claude Desktop, logs are at:
- macOS:
~/Library/Logs/Claude/mcp-server-trello.log - Windows:
%APPDATA%\Claude\Logs\mcp-server-trello.log
Licensed under MITโ you can use, modify, and redistribute it under that license's terms.
License
MIT License - see LICENSE file for details