A comprehensive Model Context Protocol (MCP) server for integrating with Trello. This server enables AI assistants like Claude, Cursor, and other MCP-compatible tools to seamlessly interact with your Trello boards, lists, and cards.
- Board Management: List, create, and manage Trello boards
- List Operations: Create and manage lists on boards
- Card Management: Full CRUD operations for cards (create, read, update, delete, move)
- Label Management: Create, update, and manage labels across boards and cards
- Checklist Support: Create and manage checklists with check items
- Member Management: Add/remove members from boards and cards
- Comments: Add, update, and delete comments on cards
- Attachments: Manage URL attachments on cards
- Kanban View: Get visual kanban-style board views
- Progress Reports: Generate completion statistics for boards
- Real-time Health Checks: Verify Trello API connectivity
- Flexible Configuration: Runtime configuration updates
npm install
npm run build
- Visit https://trello.com/app-key
- Copy your API key
- Click the "Token" link to generate your API token
- Copy the generated token
Create a .env
file or export environment variables:
export TRELLO_API_KEY="your-api-key-here"
export TRELLO_API_TOKEN="your-api-token-here"
Or copy .env.example
to .env
and fill in your credentials:
cp .env.example .env
# Edit .env with your credentials
npm start
Or in development mode:
npm run dev
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json
on macOS):
{
"mcpServers": {
"trello": {
"command": "node",
"args": ["/absolute/path/to/trello_mcp/dist/index.js"],
"env": {
"TRELLO_API_KEY": "your-api-key-here",
"TRELLO_API_TOKEN": "your-api-token-here"
}
}
}
}
Configure in Cursor's MCP settings with the same command and arguments.
- list-boards: Get all accessible Trello boards
- get-board: Get detailed information about a specific board
- create-board: Create a new Trello board
- get-board-lists: Get all lists on a board
- create-list: Create a new list on a board
- get-card: Get detailed information about a specific card
- list-cards: List all cards on a board or list
- create-card: Create a new card with title, description, due date, labels, and members
- update-card: Update an existing card
- move-card: Move a card to a different list (by ID or name)
- delete-card: Delete a card permanently
- get-kanban-board: Get a kanban-style view of a board
- progress-report: Generate progress statistics for a board
- get-board-labels: Get all labels on a board
- create-label: Create a new label with name and color
- update-label: Update label name or color
- delete-label: Delete a label from the board
- add-label-to-card: Add a label to a card
- remove-label-from-card: Remove a label from a card
- get-card-checklists: Get all checklists on a card
- create-checklist: Create a new checklist on a card
- delete-checklist: Delete a checklist
- add-checklist-item: Add an item to a checklist
- update-checklist-item: Update checklist item state (complete/incomplete)
- delete-checklist-item: Delete a checklist item
- get-board-members: Get all members of a board
- get-current-member: Get current authenticated user information
- add-member-to-board: Add a member to a board
- add-member-to-card: Assign a member to a card
- remove-member-from-card: Remove a member from a card
- get-card-comments: Get all comments on a card
- add-comment-to-card: Add a comment to a card
- update-comment: Update an existing comment
- delete-comment: Delete a comment
- get-card-attachments: Get all attachments on a card
- add-attachment-to-card: Add a URL attachment to a card
- delete-attachment: Delete an attachment
- get-config: Get current server configuration
- update-config: Update server configuration at runtime
- health-check: Check Trello API connectivity
- help: Display help and documentation
1. Use create-board with name="My Project"
2. Use create-list to add lists: "Backlog", "In Progress", "Done"
3. Use create-card to add tasks to the Backlog list
1. Use list-boards to find your board ID
2. Use move-card to move cards from "Backlog" to "In Progress"
3. Use move-card again to move completed cards to "Done"
1. Use get-kanban-board to see current state
2. Use progress-report to get completion statistics
3. Use list-cards to see all cards on the board
1. Use create-card with full details (name, description, due date, labels)
2. Use update-card to modify card information
3. Use get-card to retrieve current card state
1. Use get-board-labels to see available labels
2. Use create-label to add new labels with colors
3. Use add-label-to-card to tag cards
1. Use create-checklist on a card
2. Use add-checklist-item to add tasks
3. Use update-checklist-item to check off completed items
4. Use get-card-checklists to view progress
1. Use add-comment-to-card to discuss tasks
2. Use get-card-comments to view conversation
3. Use update-comment to edit your comments
create-card:
name: "Card title" (required)
listId: "list-id" (required)
desc: "Card description" (optional)
due: "2025-12-31" (optional, ISO date or date string)
labels: ["label-id-1", "label-id-2"] (optional)
members: ["member-id-1"] (optional)
pos: "top" | "bottom" | number (optional)
move-card:
cardId: "card-id" (required)
toListId: "target-list-id" (optional if using toListName)
toListName: "Done" (optional if using toListId, case-insensitive)
boardId: "board-id" (required when using toListName)
progress-report:
boardId: "board-id" (required)
Returns:
- Total cards
- Cards per list
- Completed count (lists with "Done" or "Complete" in name)
- Percentage complete
src/
├── types/
│ └── trello.ts # TypeScript type definitions
├── services/
│ └── trelloApi.ts # Trello API service wrapper
├── tools/
│ ├── boardTools.ts # Board management tools
│ └── cardTools.ts # Card management tools
├── resources/
│ └── trelloResources.ts # MCP resources (placeholder)
└── index.ts # Main server entry point
npm run build
npm run watch
The server includes a health check tool. After starting, verify connection:
Use the health-check tool to verify Trello API connectivity
- Verify your API key and token are correct
- Check internet connectivity
- Ensure you have access to the Trello API
- Run
health-check
tool to diagnose issues
If you see errors about missing TRELLO_API_KEY or TRELLO_API_TOKEN:
- Make sure you've set the environment variables
- Restart Claude Desktop or your MCP client after setting variables
- Check that the paths in your MCP configuration are correct
Ensure your Trello API token has the necessary permissions for the operations you want to perform.
Contributions are welcome! Please feel free to submit issues or pull requests.
MIT License
Built with:
- @modelcontextprotocol/sdk - MCP TypeScript SDK
- axios - HTTP client
- zod - Schema validation