- deal-dashboard: Overview stats, won/lost ratio, revenue forecast - deal-detail: Full deal with products, activities, participants, timeline - deal-grid: Sortable deal list with filters - pipeline-kanban: Drag-drop pipeline board - pipeline-analytics: Conversion rates, velocity, bottleneck analysis - pipeline-funnel: Visual funnel with stage metrics - person-detail: Contact card with deals, activities, files - person-grid: Contact directory with search - org-detail: Organization with people, deals, activities - org-grid: Organization directory - activity-dashboard: Activity calendar/list with completion tracking - activity-calendar: Monthly calendar view - lead-inbox: Lead list with labels and quick actions - product-catalog: Product list with pricing - goal-tracker: Goals with progress bars - revenue-dashboard: Revenue analytics, forecasting - email-inbox: Mail threads with preview - deals-timeline: Timeline of deal progression - search-results: Universal search - won-deals: Closed-won deals celebration view All apps use React with dark theme. Self-contained with inline shared components. Each app has App.tsx, index.html, and vite.config.ts. Ports 3000-3019 for dev servers.
334 lines
11 KiB
Markdown
334 lines
11 KiB
Markdown
# Trello MCP Server
|
|
|
|
Production-quality MCP server for [Trello](https://trello.com/) API integration with 57+ comprehensive tools and 18 interactive React apps.
|
|
|
|
## Features
|
|
|
|
- **57+ Tools** across 14 domains: boards, lists, cards, checklists, members, organizations, labels, actions, custom fields, notifications, search, webhooks, power-ups, and tokens
|
|
- **18 React Apps** for rich UI experiences: kanban boards, dashboards, calendars, analytics, and more
|
|
- **Full Trello API Coverage**: All major endpoints with proper error handling and rate limiting
|
|
- **Type-Safe**: Complete TypeScript types for all Trello objects
|
|
- **Production-Ready**: Proper pagination, rate limiting, and error handling
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Required | Description |
|
|
|----------|----------|-------------|
|
|
| `TRELLO_API_KEY` | Yes | Your Trello API key |
|
|
| `TRELLO_TOKEN` | Yes | Your Trello API token |
|
|
|
|
### Getting Credentials
|
|
|
|
1. Get your API key: [https://trello.com/app-key](https://trello.com/app-key)
|
|
2. Generate a token: Click the "Token" link on the API key page
|
|
3. Authorize the token with the scopes you need
|
|
|
|
## Tools
|
|
|
|
### Boards (16 tools)
|
|
- `trello_list_boards` - List all boards for a member
|
|
- `trello_get_board` - Get board details
|
|
- `trello_create_board` - Create a new board
|
|
- `trello_update_board` - Update board properties
|
|
- `trello_delete_board` - Delete a board
|
|
- `trello_get_board_members` - Get board members
|
|
- `trello_add_board_member` - Add member to board
|
|
- `trello_remove_board_member` - Remove member from board
|
|
- `trello_get_board_labels` - Get board labels
|
|
- `trello_create_board_label` - Create a label
|
|
- `trello_get_board_lists` - Get board lists
|
|
- `trello_get_board_cards` - Get all cards on board
|
|
- `trello_get_board_checklists` - Get board checklists
|
|
- `trello_get_board_custom_fields` - Get custom fields
|
|
- `trello_get_board_power_ups` - Get enabled power-ups
|
|
- `trello_star_board` - Star/unstar a board
|
|
|
|
### Lists (7 tools)
|
|
- `trello_list_lists` - List all lists on board
|
|
- `trello_get_list` - Get list details
|
|
- `trello_create_list` - Create a new list
|
|
- `trello_update_list` - Update list properties
|
|
- `trello_archive_list` - Archive/unarchive list
|
|
- `trello_move_all_cards_in_list` - Move all cards
|
|
- `trello_sort_list` - Sort cards in list
|
|
|
|
### Cards (20 tools)
|
|
- `trello_list_cards` - List cards in a list
|
|
- `trello_get_card` - Get card details
|
|
- `trello_create_card` - Create a new card
|
|
- `trello_update_card` - Update card properties
|
|
- `trello_delete_card` - Delete a card
|
|
- `trello_move_card` - Move card to different list/board
|
|
- `trello_copy_card` - Copy a card
|
|
- `trello_add_card_member` - Assign member to card
|
|
- `trello_remove_card_member` - Remove member from card
|
|
- `trello_add_card_label` - Add label to card
|
|
- `trello_remove_card_label` - Remove label from card
|
|
- `trello_add_card_comment` - Add comment to card
|
|
- `trello_get_card_comments` - Get card comments
|
|
- `trello_add_card_attachment` - Add attachment to card
|
|
- `trello_get_card_attachments` - Get card attachments
|
|
- `trello_add_card_checklist` - Add checklist to card
|
|
- `trello_get_card_checklists` - Get card checklists
|
|
- `trello_set_card_cover` - Set card cover image
|
|
- `trello_set_card_due_date` - Set/update due date
|
|
- `trello_mark_card_notifications_read` - Mark notifications read
|
|
|
|
### Checklists (7 tools)
|
|
- `trello_get_checklist` - Get checklist details
|
|
- `trello_create_checklist` - Create a checklist
|
|
- `trello_update_checklist` - Update checklist
|
|
- `trello_delete_checklist` - Delete checklist
|
|
- `trello_add_check_item` - Add item to checklist
|
|
- `trello_update_check_item` - Update checklist item
|
|
- `trello_delete_check_item` - Delete checklist item
|
|
|
|
### Members (6 tools)
|
|
- `trello_get_member` - Get member info
|
|
- `trello_get_member_boards` - Get member's boards
|
|
- `trello_get_member_organizations` - Get member's organizations
|
|
- `trello_get_member_cards` - Get assigned cards
|
|
- `trello_get_member_actions` - Get member activity
|
|
- `trello_get_member_notifications` - Get notifications
|
|
|
|
### Organizations (9 tools)
|
|
- `trello_list_organizations` - List organizations
|
|
- `trello_get_organization` - Get organization details
|
|
- `trello_create_organization` - Create organization
|
|
- `trello_update_organization` - Update organization
|
|
- `trello_delete_organization` - Delete organization
|
|
- `trello_get_organization_members` - Get members
|
|
- `trello_add_organization_member` - Add member
|
|
- `trello_remove_organization_member` - Remove member
|
|
- `trello_get_organization_boards` - Get boards
|
|
|
|
### Labels (4 tools)
|
|
- `trello_get_label` - Get label details
|
|
- `trello_create_label` - Create a label
|
|
- `trello_update_label` - Update label
|
|
- `trello_delete_label` - Delete label
|
|
|
|
### Actions (4 tools)
|
|
- `trello_get_action` - Get action details
|
|
- `trello_list_actions` - Get activity log
|
|
- `trello_get_action_reactions` - Get reactions
|
|
- `trello_add_action_reaction` - Add reaction
|
|
|
|
### Custom Fields (7 tools)
|
|
- `trello_list_custom_fields` - List custom fields
|
|
- `trello_get_custom_field` - Get field details
|
|
- `trello_create_custom_field` - Create custom field
|
|
- `trello_update_custom_field` - Update custom field
|
|
- `trello_delete_custom_field` - Delete custom field
|
|
- `trello_set_custom_field_value` - Set value on card
|
|
- `trello_get_custom_field_values` - Get card values
|
|
|
|
### Notifications (4 tools)
|
|
- `trello_list_notifications` - List notifications
|
|
- `trello_get_notification` - Get notification details
|
|
- `trello_mark_notification_read` - Mark as read
|
|
- `trello_mark_all_notifications_read` - Mark all read
|
|
|
|
### Search (4 tools)
|
|
- `trello_search_cards` - Search for cards
|
|
- `trello_search_boards` - Search for boards
|
|
- `trello_search_members` - Search for members
|
|
- `trello_search_everything` - Universal search
|
|
|
|
### Webhooks (4 tools)
|
|
- `trello_list_webhooks` - List webhooks
|
|
- `trello_create_webhook` - Create webhook
|
|
- `trello_update_webhook` - Update webhook
|
|
- `trello_delete_webhook` - Delete webhook
|
|
|
|
### Power-Ups (3 tools)
|
|
- `trello_list_available_power_ups` - List available power-ups
|
|
- `trello_enable_power_up` - Enable power-up on board
|
|
- `trello_disable_power_up` - Disable power-up
|
|
|
|
### Tokens (1 tool)
|
|
- `trello_get_token_info` - Get token information
|
|
|
|
## React Apps
|
|
|
|
### Board Views
|
|
- **Board Kanban** - Classic Trello-style kanban with drag-drop
|
|
- **Board Dashboard** - Metrics, activity, and analytics
|
|
- **Board Table** - Table view with sorting/filtering
|
|
- **Board Analytics** - Flow analytics and completion rates
|
|
|
|
### Card Views
|
|
- **Card Detail** - Full card view with all metadata
|
|
- **Card Grid** - Grid view across boards
|
|
- **Calendar View** - Cards by due date on calendar
|
|
- **Due Date Tracker** - Upcoming and overdue cards
|
|
|
|
### Member & Organization
|
|
- **Member Dashboard** - Workload and assigned cards
|
|
- **Member Directory** - All workspace members
|
|
- **Organization Overview** - Org with boards and members
|
|
|
|
### Utilities
|
|
- **Label Manager** - Label management and usage
|
|
- **Activity Feed** - Recent actions across boards
|
|
- **Checklist Progress** - Completion tracking
|
|
- **Search Results** - Universal search interface
|
|
- **Custom Fields Manager** - Custom field management
|
|
- **Notification Center** - Notifications with actions
|
|
- **Attachment Gallery** - Visual attachment browser
|
|
|
|
## Usage with Claude Desktop
|
|
|
|
Add to your `claude_desktop_config.json`:
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"trello": {
|
|
"command": "node",
|
|
"args": ["/path/to/mcp-server-trello/dist/index.js"],
|
|
"env": {
|
|
"TRELLO_API_KEY": "your-api-key",
|
|
"TRELLO_TOKEN": "your-token"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Examples
|
|
|
|
### Create a board with lists and cards
|
|
```typescript
|
|
// Create board
|
|
const board = await callTool('trello_create_board', {
|
|
name: 'My Project',
|
|
desc: 'Project description',
|
|
default_lists: true
|
|
});
|
|
|
|
// Create a card
|
|
await callTool('trello_create_card', {
|
|
name: 'First task',
|
|
list_id: 'list-id',
|
|
desc: 'Task description',
|
|
due: '2024-12-31',
|
|
member_ids: ['member-id']
|
|
});
|
|
```
|
|
|
|
### Search and organize
|
|
```typescript
|
|
// Search for cards
|
|
const results = await callTool('trello_search_cards', {
|
|
query: 'bug fix',
|
|
limit: 10
|
|
});
|
|
|
|
// Add labels and members
|
|
await callTool('trello_add_card_label', {
|
|
card_id: 'card-id',
|
|
label_id: 'label-id'
|
|
});
|
|
|
|
await callTool('trello_add_card_member', {
|
|
card_id: 'card-id',
|
|
member_id: 'member-id'
|
|
});
|
|
```
|
|
|
|
### Manage checklists
|
|
```typescript
|
|
// Add checklist to card
|
|
const checklist = await callTool('trello_add_card_checklist', {
|
|
card_id: 'card-id',
|
|
name: 'Tasks'
|
|
});
|
|
|
|
// Add items
|
|
await callTool('trello_add_check_item', {
|
|
checklist_id: checklist.id,
|
|
name: 'Complete documentation'
|
|
});
|
|
```
|
|
|
|
## API Reference
|
|
|
|
The server uses the official Trello REST API v1:
|
|
- Base URL: `https://api.trello.com/1`
|
|
- Authentication: API Key + Token (query parameters)
|
|
- Rate Limiting: Automatically handled with backoff
|
|
- Documentation: [https://developer.atlassian.com/cloud/trello/rest/](https://developer.atlassian.com/cloud/trello/rest/)
|
|
|
|
## Development
|
|
|
|
```bash
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# Run in development mode
|
|
npm run dev
|
|
|
|
# Build for production
|
|
npm run build
|
|
|
|
# Run tests
|
|
npm test
|
|
|
|
# Type check
|
|
tsc --noEmit
|
|
```
|
|
|
|
## Architecture
|
|
|
|
```
|
|
trello/
|
|
├── src/
|
|
│ ├── clients/
|
|
│ │ └── trello.ts # Trello API client
|
|
│ ├── tools/
|
|
│ │ ├── boards-tools.ts # Board management tools
|
|
│ │ ├── lists-tools.ts # List management tools
|
|
│ │ ├── cards-tools.ts # Card management tools
|
|
│ │ ├── checklists-tools.ts # Checklist tools
|
|
│ │ ├── members-tools.ts # Member tools
|
|
│ │ ├── organizations-tools.ts # Organization tools
|
|
│ │ ├── labels-tools.ts # Label tools
|
|
│ │ ├── actions-tools.ts # Activity/action tools
|
|
│ │ ├── custom-fields-tools.ts # Custom field tools
|
|
│ │ ├── notifications-tools.ts # Notification tools
|
|
│ │ ├── search-tools.ts # Search tools
|
|
│ │ ├── webhooks-tools.ts # Webhook tools
|
|
│ │ ├── power-ups-tools.ts # Power-up tools
|
|
│ │ └── tokens-tools.ts # Token tools
|
|
│ ├── types/
|
|
│ │ └── trello.ts # TypeScript type definitions
|
|
│ ├── ui/
|
|
│ │ └── react-app/ # 18 React apps
|
|
│ └── index.ts # MCP server entry point
|
|
├── package.json
|
|
├── tsconfig.json
|
|
└── README.md
|
|
```
|
|
|
|
## License
|
|
|
|
MIT
|
|
|
|
## Contributing
|
|
|
|
Contributions welcome! Please open an issue or PR on GitHub.
|
|
|
|
## Support
|
|
|
|
For issues and questions:
|
|
- GitHub Issues: [https://github.com/BusyBee3333/mcpengine](https://github.com/BusyBee3333/mcpengine)
|
|
- Trello API Docs: [https://developer.atlassian.com/cloud/trello/](https://developer.atlassian.com/cloud/trello/)
|