Trello
Read and create Trello boards, lists, and cards via the Trello REST API.
The tool is a thin, deterministic wrapper over https://api.trello.com/1. Authentication is by API key + token, both sent as query parameters (the simplest of Trello's three documented auth schemes).
Operations
| operation | Trello endpoint | Required params | What it returns |
|---|---|---|---|
list-boards |
GET /members/me/boards |
— | Boards the token's user belongs to (id, name, url, closed) |
get-lists |
GET /boards/{boardId}/lists |
boardId |
Lists on a board (id, name, closed, idBoard) |
get-cards |
GET /lists/{listId}/cards |
listId |
Cards on a list (id, name, desc, url, idList, closed) |
create-card |
POST /cards |
listId, name (optional description) |
The created card object |
The raw Trello JSON response is returned as a string in result; the HTTP status code is returned in status.
Getting the apiKey
The apiKey input is your Trello API key and token joined by a colon: key:token.
- Go to https://trello.com/power-ups/admin and create a Power-Up (or open an existing one). Its API key is shown on the API key tab.
- On the same page, click the Token link next to the API key. Authorize the requested scopes (read and, for
create-card, write). - Trello shows you a token string. Combine them as
YOUR_API_KEY:YOUR_TOKENand pass that asapiKey.
Treat the token like a password — it grants access to the entire Trello account. Keep it out of logs and shared docs.
Usage examples
List my boards
trello apiKey="abcd1234efgh5678:ATTAxxxxxxxxxxxxxxxx" operation=list-boards
Returns a JSON array of boards. Pick a board id, then list its lists:
trello apiKey="abcd1234efgh5678:ATTAxxxxxxxxxxxxxxxx" operation=get-lists boardId=5f8d0a...
Create a card on a list
trello apiKey="abcd1234efgh5678:ATTAxxxxxxxxxxxxxxxx" operation=create-card \
listId=5f8d0b... name="Follow up with vendor" description="Email the updated PO by Friday"
Returns the newly created card object (including its id and url).
Notes
- Standard library only — no third-party Python packages.
- Response bodies are capped at ~5MB.
- HTTP/network errors are returned as
{"error": "..."}with a non-zero exit code.