Sync tasks bidirectionally with Trello boards
Bidirectional task synchronization with Trello boards.
What it does:
Dual Source of Truth:
Trigger: "Add Trello integration"
Prerequisites:
MCP Server: @delorenj/mcp-server-trello (Official MCP Registry)
Credential Collection:
Step 1: API Key
Go to: trello.com/power-ups/admin
Create a new Power-Up (any name, like "AnyManage")
Copy your API Key from the page
Step 2: Token
Go to this URL (with your API key):
https://trello.com/1/authorize?expiration=never&name=AgentPM&scope=read,write&response_type=token&key={API_KEY}
Click "Allow"
Copy the token shown
Step 3: Board Selection
Which Trello board should I sync with?
(Lists available boards, user selects one)
Installation (agent executes silently):
Claude Code:
claude mcp add --transport stdio \
--env TRELLO_API_KEY=${API_KEY} \
--env TRELLO_TOKEN=${TOKEN} \
trello -- npx -y @delorenj/mcp-server-trello
opencode (update opencode.json):
{
"mcp": {
"trello": {
"type": "local",
"command": ["npx", "-y", "@delorenj/mcp-server-trello"],
"environment": {
"TRELLO_API_KEY": "${API_KEY}",
"TRELLO_TOKEN": "${TOKEN}"
}
}
}
}
Verification:
trello_list_boards to confirm connectionTrigger: "Sync trello", automatic on session start
Pull Operations:
Push Operations:
Bidirectional Mapping:
| Trello | Local | Direction |
|---|---|---|
| Card name | Task title | Bidirectional |
| Card list (status) | Checkbox [ ]/[x] | Bidirectional |
| Due date | Metadata | Bidirectional |
| Labels | Tags | External → Local |
| Card description | Task notes | External → Local |
| Attachments | (not synced) | - |
| Comments | (not synced) | - |
List-to-Checkbox Mapping:
[ ][-][x]Conflict Resolution:
User Communication:
Trigger: Any Trello operation failure
Connection Failure:
Rate Limit (429):
Auth Failure:
Logging Format:
{
"timestamp": "2026-01-25T10:30:00Z",
"action": "trello_sync_error",
"error_type": "connection_failed",
"credentials": "TRELLO_TOKEN=***",
"retry_count": 1,
"fallback": "local_only"
}
Trigger: "Check integrations"
Returns:
Display:
Trello: Connected
Last sync: 5 minutes ago
Board: Marketing Tasks
Pending: 0 changes
Trigger: "Configure trello"
Options:
Trigger: "Remove trello integration"
Behavior:
| Credential | Source | User Obtains From |
|---|---|---|
| TRELLO_API_KEY | Manual entry | trello.com/power-ups/admin (create Power-Up) |
| TRELLO_TOKEN | Authorization flow | URL with API key, click Allow |
| TRELLO_BOARD_ID | Selected during setup | User chooses from list |
| Limit | Value | Handling |
|---|---|---|
| Per API key | 300/10s | Batch operations, queue excess |
| Per token | 100/10s | Respect limit, delay if needed |
In practice: Normal use rarely hits limits. Bulk operations (syncing 100+ tasks) may require pacing.
| Trello Field | Local Field | Sync Direction | Notes |
|---|---|---|---|
| Card name | Task title | Bidirectional | Primary identifier |
| List position | Checkbox status | Bidirectional | Configurable list mapping |
| Due date | Due date metadata | Bidirectional | Format: YYYY-MM-DD |
| Labels | Tags | External → Local | Color labels become text tags |
| Description | Task notes section | External → Local | Rich context |
| Checklist items | Sub-tasks | External → Local | Nested checkboxes |
| Assigned members | (not synced) | - | Team info stays in Trello |
| Comments | (not synced) | - | Team communication stays in Trello |
When session starts with Trello configured:
Integrations: Trello (connected)Integrations: Trello (unavailable - using local data)Don't block session startup for integration check.