The board ID is where setups go wrong: the short code in the Trello URL is not it. Start with only the key and token, call getMyBoards, and copy the 24-character id into trelloBoardId. Until you do, the personal tools still work while every board-scoped tool has nothing to point at.
An MCP server over the Trello API, authenticated with your own API key and token, with rate limiting and input validation built in.
- getMyBoards lists your boards with their full IDs, and getMyCards returns the cards assigned to you — both work before any board is configured
- getLists for the configured board's columns, getCardsByList for the cards in one, and getCard for a single card with its comments included on request
- addCard with name, description, due date and labels; updateCard for name, description, labels, position, and start and due dates
- moveCard to another list or board, archiveCard to file one away, and changeCardMembers to set who is on it
- addList and archiveList for the board's columns themselves
- Comments as first-class objects: add one, edit the text of an existing one, and delete it
- getRecentActivity for what has happened on the board lately
- Rate limiting that respects Trello's own limits — 300 requests per 10 seconds per API key, 100 per 10 seconds per token
A Trello API key and token: trelloApiKey from trello.com/app-key, and trelloToken generated with it. trelloBoardId is optional but required by the board-specific tools, and it is the full 24-character ID rather than the short code in the board URL — configure the key and token first, call getMyBoards, and copy the id field (not shortLink). getMyCards and getMyBoards work with no board configured; getLists, addList and getRecentActivity do not. Node.js v18 or later; the published package is mcp-trello and the server runs over stdio.
One command plus a key — pnpm add mcp-trello, then supply credentials
