Trello Boards & Cards
Lets an agent work on Trello boards: list your boards, read lists, cards, labels and members, search cards, create and update cards (including moving them between lists), and read or add card comments. Curated from Atlassian's official Trello OpenAPI specification.
Connect this API to an AI agent Browse all specs
What you can do with Trello Boards & Cards via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /members/{id} |
getMember | Get a Trello member (use `me` for yourself) |
| GET | /members/{id}/boards |
getMemberBoards | List the boards a member belongs to (use `me`) |
| GET | /boards/{id} |
getBoard | Get one board |
| GET | /boards/{id}/lists |
getBoardLists | List the lists (columns) on a board |
| GET | /boards/{id}/cards |
getBoardCards | List the open cards on a board |
| GET | /boards/{id}/members |
getBoardMembers | List the members of a board (for assigning cards) |
| GET | /boards/{id}/labels |
getBoardLabels | List the labels defined on a board |
| GET | /lists/{id}/cards |
getListCards | List the cards in one list |
| GET | /cards/{id} |
getCard | Get one card with its details |
| PUT | /cards/{id} |
updateCard | Update a card (name, description, due date, members, labels) or move it to another list |
| GET | /cards/{id}/actions |
getCardActions | List a card's activity and comments |
| GET | /search |
searchTrello | Search cards and boards by text |
| POST | /cards |
createCard | Create a card in a list |
| POST | /cards/{id}/actions/comments |
addCardComment | Add a comment to a card |
Authentication
trelloAuth
API key — sent as the Authorization header
Trello authenticates with an API key plus a user token. Send both in one header: Authorization: OAuth oauth_consumer_key="<API key>", oauth_token="<token>" (the same pair Trello also accepts as key and token query parameters).
How to get a credential
- Open https://trello.com/power-ups/admin and create a Power-Up (any name, your workspace) if you do not have one.
- Open its API key tab and click Generate a new API key. Copy the key.
- On the same page, click the Token link next to the key, review the access request and click Allow. Copy the token (starts with
ATTA). - Build the header value:
OAuth oauth_consumer_key="YOUR_KEY", oauth_token="YOUR_TOKEN". - The token acts as your Trello user: the agent sees every board you can. Use a dedicated member account to limit access.
Permissions used
| Token scope | Operations |
|---|---|
read |
getMember, getMemberBoards, getBoard, getBoardLists, getBoardCards, getBoardMembers, getBoardLabels, getListCards, getCard, getCardActions, searchTrello |
write |
createCard, updateCard, addCardComment |
Common errors
- 401 Unauthorized (
invalid key/invalid token): wrong key, token not generated for that key, revoked or expired token, or quotes missing in the header value. - 403 Forbidden: the user is not a member of that board, or the token has only
readscope. - 400 Bad Request: invalid id (Trello ids are 24 hex characters) or a missing
idListwhen creating a card. - 429 Too Many Requests: 100 requests per 10 seconds per token (300 per key); wait a few seconds and retry.
Store the full header value as a VX Agents credential (API key) for this spec; never paste the key or token into chat.
Usage guide
Setup
- Credential: one header value built from your Trello API key and token:
OAuth oauth_consumer_key="KEY", oauth_token="TOKEN"(key and token from trello.com/power-ups/admin > your Power-Up > API key). The agent acts as that Trello user. - Worth pinning: the board
idyou work on and theidListnew cards should go to.
Work a board
getMemberBoardswithid=me(filter=open,fields=name,url) to find the board id.getBoardLists(filter=open) for the columns,getBoardLabelsfor label ids,getBoardMembersfor member ids.- Read cards:
getListCardsfor one column,getBoardCardsfor the whole board, orsearchTrellowithquery(supports operators likeboard:"Roadmap" is:open due:week),modelTypes=cards,idBoards. getCard(addmembers=true,checklists=allif useful) andgetCardActionswithfilter=commentCardto read comments.createCardwithidList,name, optionaldesc,due,idMembers,idLabels(comma-separated ids),pos=top|bottom.updateCardto edit fields; move a card by settingidList(andidBoardwhen moving to another board); archive withclosed=true.addCardCommentwithtext(markdown,@usernamementions notify people).
Confirm before writing: show the user the new card, the fields you will change, the target list, or the comment text, and wait for approval before createCard, updateCard or addCardComment. Archiving and comments are visible to everyone on the board.
Good to know
- All parameters (including card text on create/update) go in the query string; keep
descshort. - Ids are 24-character hex strings;
meworks for the member id. Card short links (fromtrello.com/c/<shortLink>) also work as card ids. dueandstartare ISO 8601 timestamps, e.g.2026-10-20T17:00:00.000Z;dueComplete=trueticks the due date.idMembers/idLabelsonupdateCardreplace the whole set: include existing ids you want to keep.- Rate limit: 100 requests per 10 seconds per token; on 429 wait and retry.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Trello Boards & Cards” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.