snehalsaurabh/Trello-MCP-Server
If you are the rightful owner of Trello-MCP-Server 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.
A Model Context Protocol (MCP) server that integrates with Trello, enabling AI assistants to interact with Trello boards, lists, and cards.
Trello MCP Server
A Model Context Protocol (MCP) server that provides integration with Trello boards, lists, and cards. This server exposes Trello functionality through MCP tools and resources, allowing AI assistants to interact with Trello data.
Features
Current Implementation (v1)
- ✅ HTTP/SSE MCP transport
- ✅ Bearer token authentication
- ✅ Rate limiting and error handling
- ✅ Board management tools
- ✅ Board resource provider
- ✅ List management tools
- ✅ List resource provider
- ✅ Card management tools
- ✅ Card resource provider
- ✅ Comment management
- ✅ Label and member assignment
- ✅ Attachment management
- ✅ Checklist management tools
- ✅ Checklist resource provider
- ✅ Check item operations
- ✅ Progress tracking
- ✅ Label management tools
- ✅ Label resource provider
- ✅ Color visualization
- ✅ Usage analytics
- ✅ Search functionality
- ✅ Advanced analytics
- ✅ Productivity metrics
- ✅ Team collaboration insights
- ✅ Organization management
- ✅ Member permission control
- ✅ Enterprise-grade administration
- ✅ Batch operations
- ✅ Automation framework
- ✅ Scheduled actions
- ✅ Webhook integration
- ✅ Real-time event processing
- ✅ Event streaming
- ✅ Advanced reporting and data export
- ✅ Custom dashboard creation
- ✅ Scheduled report automation
Board Tools
list_boards- List all accessible boardsget_board- Get detailed board informationcreate_board- Create a new boardupdate_board- Update board propertiesclose_board- Close/archive a boardreopen_board- Reopen a closed boarddelete_board- Permanently delete a board
List Tools
list_lists- List all lists on a boardget_list- Get detailed list informationcreate_list- Create a new list on a boardupdate_list- Update list propertiesarchive_list- Archive a listunarchive_list- Unarchive a listmove_list- Move a list to different positionget_list_cards- Get all cards in a specific list
Card Tools
get_card- Get detailed card informationcreate_card- Create a new card in a listupdate_card- Update card propertiesmove_card- Move a card to different listarchive_card- Archive a cardunarchive_card- Unarchive a carddelete_card- Permanently delete a cardadd_comment- Add comment to a cardedit_comment- Edit existing commentdelete_comment- Delete a commentadd_label_to_card- Add label to cardremove_label_from_card- Remove label from cardassign_member_to_card- Assign member to cardremove_member_from_card- Remove member from cardadd_attachment_url- Add URL attachment to cardremove_attachment- Remove attachment from cardget_card_actions- Get card activity history
Checklist Tools
get_checklist- Get detailed checklist informationadd_checklist- Add new checklist to a cardupdate_checklist- Update checklist propertiesdelete_checklist- Delete a checklistget_checklists_on_card- Get all checklists on a cardadd_checkitem- Add new item to checklistupdate_checkitem- Update checklist item (mark complete/incomplete, rename, etc.)delete_checkitem- Delete item from checklistget_checkitems- Get all items in checklist with filteringget_checkitem- Get detailed check item information
Label Tools
get_label- Get detailed label informationget_labels_on_board- Get all labels on a boardcreate_label- Create new label on a boardupdate_label- Update label properties (name, color)delete_label- Delete a labelupdate_label_field- Update specific label fieldget_label_usage- Get label usage statistics and analyticsbulk_update_labels- Update multiple labels simultaneouslyget_cards_with_label- Find all cards using a specific label
Search Tools
search_trello- Comprehensive search across boards, cards, members, and organizationssearch_boards- Search boards by name and description with filterssearch_cards- Advanced card search with filtering (attachments, due dates, members, etc.)search_members- Search members by name, username, or emailget_advanced_search- Complex search with filters and sortingget_saved_searches- Get saved search queriescreate_saved_search- Create new saved search queries
Analytics Tools
get_board_analytics- Comprehensive board analytics and metricsget_user_activity- User activity analytics and productivity trackingget_team_analytics- Team performance and collaboration metricsget_workflow_analytics- Workflow analysis with bottleneck detectionget_label_analytics- Label usage analytics and effectivenessget_productivity_metrics- Productivity metrics (velocity, quality, efficiency)
Organization Tools
get_organizations- Get all organizations for a member with filtering optionsget_organization- Get detailed information about a specific organizationcreate_organization- Create a new organization workspaceupdate_organization- Update organization settings and preferencesdelete_organization- Delete an organization workspaceget_organization_members- Get all members of an organizationget_organization_boards- Get all boards in an organizationinvite_member_to_organization- Invite new members to organizationupdate_organization_member- Update member roles and permissionsremove_organization_member- Remove members from organizationdeactivate_organization_member- Deactivate/reactivate organization membersget_organization_memberships- Get detailed membership informationget_organization_membership- Get specific membership detailsget_organization_analytics- Comprehensive organization analytics
Batch Operation Tools
batch_get_requests- Execute multiple GET requests in single batch (up to 10)batch_create_cards- Create multiple cards efficiently (up to 20)batch_update_cards- Update multiple cards with different properties (up to 20)batch_move_cards- Move multiple cards between lists/boards (up to 50)batch_assign_members- Assign/remove members from multiple cards (up to 30)batch_apply_labels- Apply/remove labels from multiple cards (up to 30)archive_all_cards_in_list- Archive all cards in a list at oncemove_all_cards_in_list- Move all cards between lists/boardsbulk_archive_cards- Archive multiple cards by ID (up to 100)bulk_unarchive_cards- Unarchive multiple cards by ID (up to 100)bulk_delete_cards- Delete multiple cards with confirmation (up to 50)
Automation Tools
create_automation_rule- Create automation rules with triggers and actionsupdate_automation_rule- Update existing automation rulesdelete_automation_rule- Remove automation ruleslist_automation_rules- List automation rules with filteringget_automation_rule- Get automation rule detailstest_automation_rule- Test rules against specific cardscreate_scheduled_action- Create time-based scheduled actionsupdate_scheduled_action- Update existing scheduled actionsdelete_scheduled_action- Remove scheduled actionslist_scheduled_actions- List scheduled actions with filteringexecute_scheduled_action- Execute scheduled actions immediatelyget_automation_history- View automation execution history
Webhook Tools
create_webhook- Create webhooks to monitor Trello model changeslist_webhooks- List all webhooks for the current tokenget_webhook- Get detailed webhook information and configurationupdate_webhook- Update webhook configuration (URL, description, active status)delete_webhook- Delete webhooks and stop receiving eventscreate_webhook_event_processor- Create automated event handling processorsupdate_webhook_event_processor- Update event processor configurationsdelete_webhook_event_processor- Remove webhook event processorslist_webhook_event_processors- List event processors with filteringprocess_webhook_event- Process webhook events through specific processorsget_webhook_events- Get webhook event history for models
Real-time Integration Tools
enable_real_time_sync- Enable real-time synchronization for modelsdisable_real_time_sync- Disable real-time synchronizationget_real_time_sync_status- Get synchronization status for models
Export and Reporting Tools
export_board_data- Export comprehensive board data in multiple formats (CSV, JSON, PDF)export_user_activity- Export user activity and productivity reports across boardsexport_organization_data- Export organization-wide data including boards, members, and metricsgenerate_analytics_report- Generate comprehensive analytics reports with insights and recommendationscreate_dashboard- Create custom analytics dashboards with configurable widgetsupdate_dashboard- Update existing dashboard configuration and widgetsdelete_dashboard- Delete custom dashboard and all associated dataget_dashboard- Retrieve dashboard configuration and real-time widget datalist_dashboards- List all available dashboards with filtering optionsschedule_report- Schedule automated report generation and deliveryupdate_scheduled_report- Update scheduled report configuration and recipientsdelete_scheduled_report- Delete scheduled report and stop automated deliverylist_scheduled_reports- List all scheduled reports with status and configurationexecute_scheduled_report- Execute scheduled report immediately with optional custom date rangecreate_data_visualization- Create advanced data visualizations and charts from Trello data
Resources
trello:board/{id}- Comprehensive board information with human-readable summarytrello:list/{id}- Detailed list information with all cards and activitytrello:card/{id}- Rich card details with description, members, labels, checklists, attachments, and commentstrello:checklist/{id}- Detailed checklist with progress tracking, item status, and contexttrello:label/{id}- Label details with color visualization, usage analytics, and management suggestionstrello:search/{query}- Comprehensive search results with filtering tips and advanced operatorstrello:organization/{id}- Organization details with member management, board oversight, and health recommendationstrello:webhook/{id}- Webhook details with event types, configuration, and management optionstrello:report/{type}/{id}- Report details including dashboards, analytics, exports, and scheduled reports with insights and management options
Quick Start
1. Prerequisites
- Node.js 18.17+
- Trello API credentials (Key and Token)
2. Get Trello Credentials
- Go to https://trello.com/power-ups/admin
- Create a new Power-Up or use existing
- Get your API Key
- Generate a Token with read/write permissions
3. Setup Environment
Create a .env file in the project root and fill in your credentials:
# Server configuration
PORT=8787
BASE_URL=http://localhost:8787
MCP_API_KEY=your-secure-random-key
# Trello configuration
TRELLO_API_BASE=https://api.trello.com/1
TRELLO_KEY=your-trello-api-key
TRELLO_TOKEN=your-trello-token
# Logging
LOG_LEVEL=info
4. Install and Run
# Install dependencies
pnpm install
# Development mode
pnpm dev
# Production build
pnpm build
pnpm start
5. Test Connection
# Check server health
curl http://localhost:8787/health
# Test MCP connection (replace YOUR_API_KEY)
curl -H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: text/event-stream" \
http://localhost:8787/mcp/sse
MCP Client Configuration
Cursor IDE
Add to your MCP settings:
{
"mcpServers": {
"trello": {
"command": "pnpm",
"args": [
"--silent",
"-C",
"<path to the project>",
"mcp:stdio"
],
"env": {
"TRELLO_KEY": "<trello api key>",
"TRELLO_TOKEN": "<trello token>",
"LOG_LEVEL": "info"
}
}
}
}
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"trello": {
"command": "pnpm",
"args": [
"--silent",
"-C",
"<path to the project>",
"mcp:stdio"
],
"env": {
"TRELLO_KEY": "<trello api key>",
"TRELLO_TOKEN": "<trello token>",
"LOG_LEVEL": "info"
}
}
}
}
API Endpoints
GET /- Server informationGET /health- Health checkGET /mcp/sse- MCP Server-Sent Events endpoint (requires Bearer token)
Architecture
src/
├── config/env.ts # Environment configuration with zod validation
├── utils/logger.ts # Pino logging setup with request middleware
├── trello/
│ ├── types.ts # TypeScript definitions for Trello objects
│ ├── http.ts # HTTP client with auth and error handling
│ ├── ratelimit.ts # Bottleneck rate limiting
│ └── client.ts # High-level Trello API client
├── mcp/
│ ├── server.ts # MCP server with tool/resource registry
│ ├── transport/httpSse.ts # SSE transport implementation
│ ├── tools/boards.ts # Board management tools
│ ├── resources/board.ts # Board resource provider
│ └── registry.ts # Tool and resource registration
└── index.ts # Express server and application entry point
Development Roadmap
Phase 5: Lists Tools ✅ Completed
- ✅
list_lists- Get lists on a board - ✅
create_list- Create a new list - ✅
update_list- Update list properties - ✅
archive_list- Archive a list - ✅
unarchive_list- Unarchive a list - ✅
move_list- Move lists to different positions - ✅
get_list_cards- Get all cards in a list
Phase 6: Cards Core Tools ✅ Completed
- ✅
get_card- Get detailed card information - ✅
create_card- Create a new card - ✅
update_card- Update card properties - ✅
move_card- Move card between lists - ✅
archive_card- Archive a card - ✅
unarchive_card- Unarchive a card - ✅
delete_card- Permanently delete a card - ✅
add_comment- Add comment to card - ✅
edit_comment- Edit existing comment - ✅
delete_comment- Delete a comment - ✅
add_label_to_card- Add label to card - ✅
remove_label_from_card- Remove label from card - ✅
assign_member_to_card- Assign member to card - ✅
remove_member_from_card- Remove member from card - ✅
add_attachment_url- Add URL attachment - ✅
remove_attachment- Remove attachment - ✅
get_card_actions- Get card activity history
Phase 7: Checklists and Advanced Card Features ✅ Completed
- ✅
get_checklist- Get checklist details - ✅
add_checklist- Add checklist to card - ✅
update_checklist- Update checklist properties - ✅
delete_checklist- Delete entire checklist - ✅
get_checklists_on_card- Get all checklists on card - ✅
add_checkitem- Add item to checklist - ✅
update_checkitem- Update checklist item - ✅
delete_checkitem- Delete checklist item - ✅
get_checkitems- Get items with filtering - ✅
get_checkitem- Get check item details
Phase 8: Labels Management ✅ Completed
- ✅
get_label- Get label details and usage statistics - ✅
get_labels_on_board- List all labels on a board - ✅
create_label- Create new label with color - ✅
update_label- Update label properties (name, color) - ✅
delete_label- Delete a label - ✅
update_label_field- Update specific label field - ✅
get_label_usage- Get usage analytics - ✅
bulk_update_labels- Bulk label operations - ✅
get_cards_with_label- Find cards by label
Phase 9: Search and Analytics ✅ Completed
- ✅
search_trello- Global search across all Trello content - ✅
search_boards- Search boards with advanced filters - ✅
search_cards- Advanced card search with complex filtering - ✅
search_members- Find members by name, username, email - ✅
get_advanced_search- Complex search with operators - ✅
get_board_analytics- Comprehensive board analytics - ✅
get_user_activity- User productivity analytics - ✅
get_team_analytics- Team performance metrics - ✅
get_workflow_analytics- Workflow and bottleneck analysis - ✅
get_label_analytics- Label effectiveness analytics - ✅
get_productivity_metrics- Individual and team productivity
Phase 10: Organizations and Member Management ✅ Completed
- ✅
get_organizations- List user organizations with filtering - ✅
get_organization- Get detailed organization information - ✅
create_organization- Create new organization workspaces - ✅
update_organization- Update organization settings and preferences - ✅
delete_organization- Delete organization workspaces - ✅
get_organization_members- Get organization members with filtering - ✅
get_organization_boards- Get organization boards with filtering - ✅
invite_member_to_organization- Invite members to organizations - ✅
update_organization_member- Update member roles and permissions - ✅
remove_organization_member- Remove members from organizations - ✅
deactivate_organization_member- Deactivate/reactivate members - ✅
get_organization_memberships- Get detailed membership information - ✅
get_organization_analytics- Comprehensive organization analytics
Phase 11: Batch Operations and Automation ✅ Completed
- ✅
batch_get_requests- Execute multiple GET requests in single batch - ✅
batch_create_cards- Create multiple cards efficiently (up to 20) - ✅
batch_update_cards- Update multiple cards with different properties - ✅
batch_move_cards- Move cards between lists/boards in bulk (up to 50) - ✅
batch_assign_members- Assign/remove members from multiple cards - ✅
batch_apply_labels- Apply/remove labels from multiple cards - ✅
archive_all_cards_in_list- Archive all cards in a list at once - ✅
move_all_cards_in_list- Move all cards between lists/boards - ✅
bulk_archive_cards- Archive multiple cards by ID (up to 100) - ✅
bulk_unarchive_cards- Unarchive multiple cards by ID (up to 100) - ✅
bulk_delete_cards- Delete multiple cards with confirmation (up to 50) - ✅
create_automation_rule- Create automation rules with triggers and actions - ✅
update_automation_rule- Update existing automation rules - ✅
test_automation_rule- Test automation rules against specific cards - ✅
create_scheduled_action- Create time-based scheduled actions - ✅
execute_scheduled_action- Execute scheduled actions immediately - ✅
get_automation_history- View automation execution history
Phase 12: Webhooks and Real-time Integration ✅ Completed
- ✅
create_webhook- Create webhooks for real-time board updates - ✅
list_webhooks- List active webhooks with filtering and management - ✅
get_webhook- Get detailed webhook information and configuration - ✅
update_webhook- Update webhook configurations (URL, description, status) - ✅
delete_webhook- Remove webhooks and stop event delivery - ✅
create_webhook_event_processor- Create automated event handling processors - ✅
process_webhook_event- Process webhook events with filtering and automation - ✅
get_webhook_events- Get webhook event history for specific models - ✅
enable_real_time_sync- Enable real-time board synchronization - ✅
get_real_time_sync_status- Monitor synchronization status - ✅ Webhook endpoint
/webhooks/trellofor receiving Trello events - ✅ Event streaming and processing infrastructure
- ✅ Real-time event filtering and automation triggers
Phase 13: Advanced Reporting and Data Export ✅ Completed
- ✅
export_board_data- Export board data in multiple formats (CSV, JSON, PDF) - ✅
export_user_activity- Export user activity and productivity reports across boards - ✅
export_organization_data- Export organization-wide data including boards, members, and metrics - ✅
generate_analytics_report- Generate comprehensive analytics reports with insights and recommendations - ✅
create_dashboard- Create custom analytics dashboards with configurable widgets - ✅
update_dashboard- Update existing dashboard configuration and widgets - ✅
get_dashboard- Retrieve dashboard configuration and real-time widget data - ✅
list_dashboards- List all available dashboards with filtering options - ✅
schedule_report- Schedule automated report generation and delivery - ✅
update_scheduled_report- Update scheduled report configuration and recipients - ✅
execute_scheduled_report- Execute scheduled report immediately with custom date ranges - ✅
create_data_visualization- Create advanced data visualizations and charts from Trello data - ✅ Multi-format export capabilities (CSV, JSON, PDF) with comprehensive data coverage
- ✅ Custom dashboard framework with 8 widget types and real-time data
- ✅ Scheduled report automation with configurable frequency and recipients
- ✅ Advanced analytics with insights, trends, and actionable recommendations
- ✅ Data visualization engine with multiple chart types and formats
Phase 14: Enterprise Security and Multi-tenancy (Next)
- OAuth 2.0 multi-user support for enterprise deployment
- Enterprise SSO integration (SAML, OIDC)
- Multi-tenant support for service providers
- Advanced security and compliance features (SOC2, GDPR)
- Role-based access control (RBAC) for enterprise users
- Audit logging and compliance reporting
- Advanced API rate optimization and intelligent caching
- Enterprise deployment guides and scaling documentation
Phase 15: Advanced Integration and AI Features
- AI-powered insights and recommendations
- Natural language query processing
- Predictive analytics and forecasting
- Intelligent automation rule suggestions
- Advanced workflow optimization
- Integration with popular CI/CD tools
- Advanced API gateway and rate limiting
- Enterprise monitoring and alerting
Error Handling
The server includes comprehensive error handling:
- Trello API errors are normalized and logged
- Rate limiting with exponential backoff
- Request-level logging with unique IDs
- Graceful degradation for network issues
Rate Limiting
Respects Trello's API limits:
- Max 5 concurrent requests
- 80 requests per 10-second window
- Automatic retry with backoff for 429 errors
Security
- Bearer token authentication for MCP endpoint
- Trello credentials stored in environment variables
- Request/response logging excludes sensitive data
- CORS enabled for cross-origin requests
Contributing
- Fork the repository
- Create a feature branch
- Make changes following the existing patterns
- Test with a real Trello board
- Submit a pull request
License
MIT License - see LICENSE file for details.