Trello
Interact with Trello boards, lists, and cards using the Trello REST API.
Trello MCP Server
A Model Context Protocol (MCP) server that provides Claude with tools to interact with Trello boards, lists, and cards through the Trello REST API.
Features
Core Functionality
- Board Management: List boards, get board details and metadata
- List Operations: Retrieve lists, create new lists within boards
- Card Management: Create, update, delete, and move cards between lists
- Member Management: Add/remove members from boards and cards
- Labels & Checklists: Manage card labels and checklist items
Technical Features
- TypeScript implementation with full type safety
- Comprehensive error handling and validation
- Rate limiting compliance for Trello API
- Secure authentication using API key/token
- Integration with Popular Agentic IDE via MCP protocol
Prerequisites
- Node.js 18+ and npm
- Trello account with API access
- Claude Desktop application
Installation
- Clone the repository:
git clone <repository-url>
cd trello-mcp
- Install dependencies:
npm install
- Build the project:
npm run build
Authentication Setup
-
Get Trello API Credentials:
- Visit https://trello.com/app-key to get your API key
- Generate a token by visiting:
https://trello.com/1/authorize?expiration=never&scope=read,write,account&response_type=token&name=Server%20Token&key=YOUR_API_KEY
-
Configure Environment: Create a
.envfile in the project root:TRELLO_API_KEY=your_api_key_here TRELLO_TOKEN=your_token_here
Integration Setup
Claude Desktop Integration
Add the following to your Claude Desktop configuration file:
macOS
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Windows
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"trello": {
"command": "node",
"args": ["/path/to/trello-mcp/dist/index.js"],
"env": {
"TRELLO_API_KEY": "your_api_key_here",
"TRELLO_TOKEN": "your_token_here"
}
}
}
}
Docker Desktop Integration
Docker Desktop (v4.38+) includes built-in MCP server support through the Docker MCP Catalog and Toolkit. This provides the easiest way to run and manage MCP servers.
Option 1: Using Docker Desktop's Built-in MCP Support (Recommended)
-
Enable MCP in Docker Desktop:
- Open Docker Desktop (ensure version 4.38 or later)
- Go to Extensions → Browse → Search for "MCP"
- Install the Docker MCP Catalog and Toolkit extension
-
Publish to Docker Hub's MCP Catalog:
# Build and tag for MCP catalog docker build -t mcp/trello-server . docker push mcp/trello-server -
Configure in Claude Desktop with Docker MCP:
{ "mcpServers": { "trello": { "command": "docker", "args": [ "run", "--rm", "-i", "--env-file", ".env", "mcp/trello-server" ] } } } -
Use with Ask Gordon (Docker AI): Create
gordon-mcp.ymlin your project directory:version: '3.8' services: trello-mcp: image: mcp/trello-server environment: - TRELLO_API_KEY=${TRELLO_API_KEY} - TRELLO_TOKEN=${TRELLO_TOKEN} volumes: - ./logs:/app/logsThen use Docker AI commands:
# Ask Gordon to help with Trello management docker ai "Show me my Trello boards and create a new development task"
Option 2: Traditional Docker Setup
Create a Dockerfile in your project root:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY dist/ ./dist/
# Create non-root user for security
RUN addgroup -g 1001 -S nodejs
RUN adduser -S mcp -u 1001
RUN chown -R mcp:nodejs /app
USER mcp
EXPOSE 3000
CMD ["node", "dist/index.js"]
Build and run the container:
# Build the image
docker build -t trello-mcp-server .
# Run with Docker MCP Toolkit (secure credential management)
docker run -d \
--name trello-mcp \
--env-file .env \
-p 3000:3000 \
trello-mcp-server
# Or use docker-compose.yml:
Create docker-compose.yml:
version: '3.8'
services:
trello-mcp:
build: .
container_name: trello-mcp-server
environment:
- TRELLO_API_KEY=${TRELLO_API_KEY}
- TRELLO_TOKEN=${TRELLO_TOKEN}
- LOG_LEVEL=info
- API_TIMEOUT=10000
ports:
- "3000:3000"
restart: unless-stopped
volumes:
- ./logs:/app/logs
networks:
- mcp-network
networks:
mcp-network:
driver: bridge
Run with Docker Compose:
# Set environment variables in .env file, then:
docker-compose up -d
Benefits of Docker Desktop MCP Integration
- Built-in Security: OAuth support and secure credential storage
- One-Click Setup: Seamless integration with Claude, Cursor, VSCode, and other MCP clients
- Cross-Platform: Consistent behavior across different architectures
- Isolation: Memory, network, and disk isolation for production-ready security
- Discovery: Access to 100+ verified MCP tools from Docker Hub's MCP Catalog
Cursor IDE Integration
In Cursor, you can set up the MCP server for AI-assisted development:
-
Install Cursor Extension (if available):
- Open Cursor IDE
- Go to Extensions marketplace
- Search for "MCP" or "Model Context Protocol"
-
Configure MCP Server: Create
.cursor/mcp-config.jsonin your workspace:
{
"mcpServers": {
"trello": {
"command": "node",
"args": ["./dist/index.js"],
"cwd": "/path/to/trello-mcp",
"env": {
"TRELLO_API_KEY": "your_api_key_here",
"TRELLO_TOKEN": "your_token_here"
}
}
}
}
- Use with Cursor AI:
- Open Cursor's AI chat panel
- The Trello MCP tools should be available for context
- Ask questions like: "Show me my Trello boards and help me organize my tasks"
Windsurf IDE Integration
For Windsurf IDE integration:
- Project Configuration:
Create
.windsurf/settings.json:
{
"mcp": {
"servers": {
"trello": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "${workspaceFolder}",
"env": {
"TRELLO_API_KEY": "your_api_key_here",
"TRELLO_TOKEN": "your_token_here"
}
}
}
},
"ai": {
"providers": {
"claude": {
"mcpServers": ["trello"]
}
}
}
}
- Workspace Setup:
Add to your
.windsurf/workspace.json:
{
"name": "Trello MCP Development",
"description": "Development workspace with Trello integration",
"mcpServers": ["trello"],
"tools": {
"trello": {
"enabled": true,
"autoStart": true
}
}
}
- Usage in Windsurf:
- The AI assistant will have access to Trello tools
- Use natural language commands in the AI chat
- Example: "Create a development task board and add cards for the current project features"
Development Container (DevContainer)
For consistent development environments, create .devcontainer/devcontainer.json:
{
"name": "Trello MCP Development",
"build": {
"dockerfile": "../Dockerfile.dev"
},
"forwardPorts": [3000],
"postCreateCommand": "npm install && npm run build",
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.vscode-typescript-next",
"esbenp.prettier-vscode",
"bradlc.vscode-tailwindcss"
],
"settings": {
"mcp.servers": {
"trello": {
"command": "node",
"args": ["dist/index.js"],
"env": {
"TRELLO_API_KEY": "${TRELLO_API_KEY}",
"TRELLO_TOKEN": "${TRELLO_TOKEN}"
}
}
}
}
}
},
"remoteEnv": {
"TRELLO_API_KEY": "${localEnv:TRELLO_API_KEY}",
"TRELLO_TOKEN": "${localEnv:TRELLO_TOKEN}"
}
}
Create Dockerfile.dev:
FROM node:18
WORKDIR /workspace
# Install global tools
RUN npm install -g @modelcontextprotocol/inspector typescript
# Set up development environment
COPY package*.json ./
RUN npm install
# Copy source code
COPY . .
# Expose MCP server port
EXPOSE 3000
CMD ["npm", "run", "dev"]
Available Tools
Board Operations
list_boards- Get all boards accessible to the userget_board- Get detailed information about a specific boardget_board_members- List members of a board
List Operations
get_lists- Get all lists in a boardcreate_list- Create a new list in a boardupdate_list- Update list properties (name, position)
Card Operations
get_cards- Get cards from a board or listcreate_card- Create a new cardupdate_card- Update card properties (name, description, due date)move_card- Move card to different listdelete_card- Delete a cardadd_card_member- Add member to a cardremove_card_member- Remove member from a card
Label Operations
get_labels- Get available labels for a boardadd_card_label- Add label to a cardremove_card_label- Remove label from a card
Checklist Operations
get_card_checklists- Get checklists on a cardcreate_checklist- Create a new checklist on a cardadd_checklist_item- Add item to a checklistupdate_checklist_item- Update checklist item (mark complete/incomplete)
Development
Project Structure
trello-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── trello-client.ts # Trello API client
│ ├── tools/ # MCP tool implementations
│ │ ├── boards.ts
│ │ ├── lists.ts
│ │ ├── cards.ts
│ │ └── labels.ts
│ └── types/ # TypeScript type definitions
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
Scripts
npm run build- Build TypeScript to JavaScriptnpm run dev- Run in development mode with auto-reloadnpm run start- Start the MCP servernpm run test- Run tests
Testing
# Install the MCP Inspector for testing
npm install -g @modelcontextprotocol/inspector
# Test the server
mcp-inspector node dist/index.js
Usage Examples
Once integrated with Claude Desktop, you can use natural language to interact with Trello:
- "Show me all my Trello boards"
- "Create a new card called 'Fix login bug' in the 'To Do' list of my Development board"
- "Move the card 'Review PR #123' to the 'Done' list"
- "Add the 'Priority' label to the card about the database migration"
- "List all cards in my Personal board that are due this week"
Error Handling
The server includes comprehensive error handling for:
- Network connectivity issues
- Invalid API credentials
- Rate limiting (429 errors)
- Invalid board/list/card IDs
- Permission errors
Security Notes
- API credentials are passed via environment variables
- No credentials are logged or stored in plain text
- All API requests use HTTPS
- Rate limiting is respected to avoid API abuse
Contributing
- Fork the repository
- Create a feature branch
- Make your changes with proper TypeScript types
- Add tests for new functionality
- Submit a pull request
License
MIT License - see LICENSE file for details
Support
For issues and questions:
- Check the Trello API documentation: https://developer.atlassian.com/cloud/trello/rest
- Review MCP documentation: https://modelcontextprotocol.io
- Open an issue in this repository
Related Servers
ZenHub
Access the ZenHub GraphQL API to manage project workflows and enhance productivity.
OSP Marketing Tools
A suite of tools for technical marketing content creation, optimization, and product positioning based on Open Strategy Partners' methodologies.
MCP Easy Copy
Discover and copy available MCP services in Claude Desktop.
FullScope-MCP
An MCP server for content summarization, supporting web scraping, file reading, and direct model calls.
TeamRetro
Integrate with TeamRetro for team management and analytics.
Helios-9
Provides comprehensive project management context to AI agents using the Helios-9 API.
MCP Atlassian
Interact with Atlassian products like Confluence and Jira, supporting both Cloud and Server/Data Center deployments.
Adspirer Ads Manager
Manage digital advertising campaigns with AI-powered insights from Adspirer.com.
Cua
MCP server for the Computer-Use Agent (CUA), allowing you to run CUA through Claude Desktop or other MCP clients.
AnkiConnect
AnkiConnect MCP server for interacting with Anki via AnkiConnect.