A Model Context Protocol (MCP) server for integrating with the Trello API, providing secure and easy access to Trello boards, cards, and other resources.
- ๐ Secure Authentication: Environment-based credential management
- ๐ ๏ธ Easy Integration: Simple API wrapper with automatic authentication injection
- ๐งฐ Ready-to-use Tools: Built-in tools for common Trello operations
- ๐ Error Handling: Comprehensive error handling with user-friendly messages
- ๐๏ธ Extensible: Foundation for building custom Trello integrations
npm installTo connect to Trello, you'll need both an API key and a token. Follow the Trello REST API Guide for detailed information about the Trello API.
- Get your API key from https://trello.com/app-key
- Generate a token using the link provided on the API key page
- Create a
.envfile (use.env.exampleas template):
TRELLO_API_KEY=your_api_key_here
TRELLO_TOKEN=your_token_here- Find your working board ID by running the
list-my-boardstool after setup, then add it to your.env:
TRELLO_WORKING_BOARD_ID=your_working_board_id_herenpm run build
node build/index.jsAfter building the project, you can add the MCP server to your VS Code configuration by updating your settings:
"mcp": {
"servers": {
"trello-mcp": {
"command": "node",
"args": ["/path/to/trello-mcp/build/index.js"],
"env": {}
}
}
}Replace /path/to/trello-mcp with the actual path to your project directory.
Test tool that retrieves and displays your Trello boards. Perfect for validating your API setup.
Usage: Call through your MCP client Returns: List of your Trello boards with details
Lists all Trello boards accessible to the authenticated user. Use this tool to find your working board ID.
Usage: Call through your MCP client Returns: Complete list of accessible boards with their IDs, names, and URLs
Update Trello card details such as name, description, due dates, position, list assignment, and member/label assignments. Supports partial updates - only provided parameters will be modified.
Usage: Call through your MCP client with cardId and optional update parameters
Parameters:
cardId(required) - The ID of the Trello card to updatename(optional) - New name for the carddesc(optional) - New description for the cardclosed(optional) - Whether to archive (true) or unarchive (false) the cardidList(optional) - ID of the list to move the card toidBoard(optional) - ID of the board to move the card topos(optional) - Position in the list ('top', 'bottom', or number)due(optional) - Due date in ISO 8601 formatstart(optional) - Start date in ISO 8601 formatdueComplete(optional) - Whether the due date has been completedidMembers(optional) - Array of member IDs to assign to the cardidLabels(optional) - Array of label IDs to assign to the card
Returns: Updated card information with change summary
Retrieves all cards for a specific Trello list by providing the list ID.
Usage: Call through your MCP client with listId parameter
Parameters: listId (required) - The ID of the Trello list
Returns: All cards in the specified list with detailed information
Retrieves detailed information about a specific Trello card by providing its card ID.
Usage: Call through your MCP client with cardId parameter
Parameters: cardId (required) - The ID of the Trello card
Returns: Comprehensive card details including properties, metadata, labels, members, and due dates
Simple greeting tool for testing MCP server connectivity.
Generates a random number - useful for testing tool execution.
src/
โโโ services/
โ โโโ trello-api.ts # Main Trello API service
โโโ tools/
โ โโโ about-me.ts # Trello boards tool
โ โโโ ... # Other tools
โโโ utils/
โ โโโ config.ts # Environment configuration
โ โโโ http-client.ts # HTTP utilities
โโโ types/
โโโ trello.ts # TypeScript interfaces
- Create your tool in
src/tools/ - Import it in
src/tools/index.ts - Use
TrelloApiService.getInstance()for Trello API access
See docs/TRELLO_USAGE.md for detailed usage examples.
npm run build- Trello REST API Guide - Official Trello API documentation
- Trello Usage Guide - Detailed usage and examples
- Implementation Plan - Technical implementation details
- User Story - Original requirements
- API credentials are stored in environment variables
- Credentials are never logged or exposed in error messages
- All API requests are automatically authenticated
- Error messages are sanitized to prevent credential leaks
- Follow the existing patterns in
src/tools/for new tools - Use the
TrelloApiServicefor all Trello API interactions - Include proper error handling and user-friendly messages
- Update documentation for new features
[Add your license here]
For issues related to:
- Trello API: Check the official Trello API documentation
- MCP Protocol: See the Model Context Protocol documentation
- This Server: Create an issue in this repository