keefcreative/dwb-mcp-server-trello
If you are the rightful owner of dwb-mcp-server-trello and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The DWB Custom MCP Trello Server is a specialized server designed to automate Trello board management and client onboarding processes using the Model Context Protocol (MCP).
DWB Custom MCP Trello Server
A custom Model Context Protocol (MCP) server for Trello board automation and client onboarding. This server extends the original mcp-server-trello
with additional tools for creating boards, managing members, and automating client onboarding workflows.
๐ Features
Original Tools (Maintained)
- Full Trello Board Integration: Interact with cards, lists, and board activities
- Built-in Rate Limiting: Respects Trello's API limits (300 requests/10s per API key, 100 requests/10s per token)
- Type-Safe Implementation: Written in TypeScript with comprehensive type definitions
- Input Validation: Robust validation for all API inputs
- Error Handling: Graceful error handling with informative messages
New Custom Tools
- Board Creation: Create new Trello boards with standardized client onboarding templates
- Board Management: List and filter available boards
- Member Management: Add members to boards with specified permissions
- Template Engine: Automated list creation with emoji fallback support
๐ฆ Installation
# Clone the repository
git clone <repository-url>
cd dwb-trello-mcp
# Install dependencies
pnpm install
# Build the project
pnpm run build
โ๏ธ Configuration
Create a .env
file based on .env.example
:
TRELLO_API_KEY=your-api-key
TRELLO_TOKEN=your-token
TRELLO_BOARD_ID=your-default-board-id
TRELLO_ORG_ID=your-organization-id # Optional
Getting Trello Credentials
- API Key: Get from https://trello.com/app-key
- Token: Generate using your API key at:
https://trello.com/1/authorize?expiration=never&name=DWB_MCP_SERVER&scope=read,write&response_type=token&key=YOUR_API_KEY
- Board ID: Found in the board URL:
https://trello.com/b/BOARD_ID/board-name
- Organization ID: Optional, found in organization settings
๐ ๏ธ Available Tools
Original Tools
get_cards_by_list_id
- Fetch cards from a specific listget_lists
- Retrieve all lists from the boardget_recent_activity
- Fetch recent board activityadd_card_to_list
- Add a new card to a listupdate_card_details
- Update existing card detailsarchive_card
- Archive a cardadd_list_to_board
- Add a new list to the boardarchive_list
- Archive a listget_my_cards
- Fetch cards assigned to current user
New Custom Tools
create_board
Creates a new Trello board with standard client onboarding template.
{
name: string, // Board name (required)
description?: string, // Board description (optional)
default_lists?: boolean, // Create template lists (default: true)
organization_id?: string // Organization ID (optional)
}
Features:
- Automatically creates 5 standardized lists:
- ๐ข New Request
- ๐ฅ Queue
- ๐ In Progress
- ๐ง Review
- โ Completed
- Emoji fallback support (uses plain text if emojis fail)
- Sets board description with client onboarding instructions
- Supports organization-level board creation
get_boards
Lists available Trello boards with optional filtering.
{
organization_id?: string, // Filter by organization
limit?: number // Maximum boards to return
}
add_member_to_board
Adds a member to a board by email with specified permissions.
{
board_id: string, // Board ID (required)
email: string, // Member email (required)
permission?: string // 'normal', 'admin', or 'observer' (default: 'normal')
}
๐ฏ Client Onboarding Workflow
The server is designed to automate client onboarding with a standardized workflow:
- Create Board: Use
create_board
to create a new client board - Add Client: Use
add_member_to_board
to invite the client - Template Applied: Board automatically includes:
- Standardized list structure
- Client instructions in board description
- Emoji-based list names with fallbacks
๐ณ Docker Deployment
Build and Run
# Build the Docker image
docker build -t dwb-trello-mcp .
# Run with environment variables
docker run -d \
--name dwb-trello-mcp \
-e TRELLO_API_KEY=your-key \
-e TRELLO_TOKEN=your-token \
-e TRELLO_BOARD_ID=your-board-id \
-e TRELLO_ORG_ID=your-org-id \
dwb-trello-mcp
Using Docker Compose
# Production
docker-compose up -d
# Development with hot reload
docker-compose --profile dev up -d
๐งช Testing
# Run the MCP inspector
pnpm run inspector
# List available tools
npx @modelcontextprotocol/sdk list-tools build/index.js
# Run custom test script
node test-tools.js
๐ Project Structure
dwb-trello-mcp/
โโโ src/
โ โโโ index.ts # Main MCP server
โ โโโ trello-client.ts # Extended Trello API client
โ โโโ board-templates.ts # Board template engine
โ โโโ types.ts # TypeScript definitions
โ โโโ validators.ts # Input validation
โ โโโ rate-limiter.ts # Rate limiting logic
โโโ templates/
โ โโโ default-board-lists.json # List template
โ โโโ board-readme-template.md # Board description template
โโโ build/ # Compiled JavaScript
โโโ Dockerfile # Container configuration
โโโ docker-compose.yml # Development environment
โโโ README.md # This file
๐ง Development
# Start development server
pnpm run dev
# Build project
pnpm run build
# Format code
pnpm run format
# Lint code
pnpm run lint
๐ Template Configuration
The board template is defined in templates/default-board-lists.json
:
{
"template_name": "default_client_board",
"lists": [
"๐ข New Request",
"๐ฅ Queue",
"๐ In Progress",
"๐ง Review",
"โ
Completed"
],
"fallback_lists": [
"New Request",
"Queue",
"In Progress",
"Review",
"Completed"
]
}
๐ฆ Rate Limiting
The server implements automatic rate limiting to comply with Trello's API limits:
- 300 requests per 10 seconds per API key
- 100 requests per 10 seconds per token
Requests are automatically queued and retried when limits are reached.
๐ Error Handling
The server provides detailed error messages for:
- Invalid input parameters
- Rate limit exceeded
- API authentication errors
- Network issues
- Invalid board/list/card IDs
- Template loading failures
๐ License
MIT License - see file for details.
๐ค Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
๐ Support
For issues and questions:
- Create an issue in the repository
- Check the for implementation details
- Review the original mcp-server-trello documentation