Advanced Trello MCP Server
π Advanced Trello MCP Server
Enhanced Model Context Protocol Server for Trello integration with Cursor AI
Production-hardened API layer, batch tools, and attachment downloads
TypeScript Trello API MCP Protocol License
π Overview
This is an enhanced version of the Trello MCP Server that provides comprehensive integration between Trello and Cursor AI (and similar MCP clients). It includes ~35 tools across boards, lists, cards, labels, and actions, plus a reliable HTTP layer suited to heavy or sequential API use.
β¨ Features
π‘οΈ Reliability (production-tested)
All Trello calls (MCP resources and tools) go through a shared client in src/utils/api.ts:
HTTPS keep-alive β reuses TLS connections (helps avoid CloudFront / CDN connection churn on burst traffic)
**fetchWithRetry** β ~60s timeout, exponential backoff with jitter (up to 7 attempts), retries on network errors and 5xxSliding-window rate limit β ~80 requests / 10s (mutex-protected)
429 handling β respects
Retry-Afterwhen present
π― API coverage (current)
Area | Tools | Notes |
Lists | 10 | Full list lifecycle, bulk card moves |
Cards | 12 | Batch create/move/archive/comments, attachments |
Labels | 8 | Including batch add |
Actions | 4 | Get / update / delete action, list reactions |
Boards | 1 | List accessible boards |
π§ Other
TypeScript + Zod validation on tool inputs
Batch operations β fewer round-trips for agents (
create-cards,move-cards,archive-cards,add-comments, etc.)Attachment pipeline β list metadata + optional download to disk (see below)
π Quick Start
Prerequisites
Node.js 18+
Trello API Key and Token
Cursor (or any MCP client)
Installation
Clone the repository
git clone https://github.com/adriangrahldev/advanced-trello-mcp-server.git
cd advanced-trello-mcp-serverInstall dependencies
npm installBuild the project
npm run buildConfigure environment variables
export TRELLO_API_KEY="your_api_key"
export TRELLO_API_TOKEN="your_api_token"Configure Cursor MCP Add to your
~/.cursor/mcp.json(paths adjusted for your machine):
π οΈ Available Tools
π Lists (10)
get-listsβ Lists on a boardcreate-list/update-list/archive-listmove-list-to-boardget-list-actions/get-list-board/get-list-cardsarchive-all-cards-in-list/move-all-cards-in-list
π― Cards (12)
create-cardβ Optional**due** and**start**(ISO 8601)create-cardsβ Batch create; each card may include**due**/**start**update-cardβ Name and/or descriptionmove-card/move-cardsadd-comment/**add-comments**(batch comments on multiple cards)get-tickets-by-listarchive-card/archive-cards**get-card-attachments**β Metadata +commentContext(e.g. screenshots on comments)**download-card-attachments**β Downloads files to a folder (numbered files +_manifest.json). File URLs often require OAuth-styleAuthorizationheader (not query-string key/token); this tool handles that.
π·οΈ Labels (8)
create-label/create-labelsadd-label/add-labelsget-label/update-label/delete-label/update-label-field
π Actions (4)
get-actionβ With optional display/entities/member paramsupdate-action/delete-actionget-action-reactions
π’ Boards (1)
get-boards
β Why is an old Pull Request still βopenβ on GitHub?
GitHub marks a PR as Merged only when you merge that PR (green βMerge pull requestβ button), or when the PR branch is merged in a way GitHub links to the PR.
If you cherry-picked, copied files, or merged locally into main and pushed main, the code is on the repo but the PR stays open until you:
Close the PR manually β add a comment such as: βLanded on
mainvia commit ** β thanks!βOr use GitHubβs merge flow next time so the PR closes automatically.
Conflicts on fork-based PRs are normal; resolving on your machine and pushing main is fine β just close the PR afterward so contributors know itβs done.
π Roadmap
Broader Trello API coverage (checklists, members, webhooks, search, etc.) is planned. PRs welcome.
π§ Development
Project structure
advanced-trello-mcp-server/
βββ src/
β βββ index.ts
β βββ tools/ # boards, lists, cards, labels, actions
β βββ types/
β βββ utils/ # api.ts β fetchWithRetry, keep-alive, rate limit
βββ build/
βββ scripts/build.js
βββ package.json
βββ README.mdBuilding
npm run build # TypeScript + shebang on build/index.js
npm run compile # tsc onlyCross-platform build (Windows / macOS / Linux): compiles TS, adds #!/usr/bin/env node, sets execute bit on Unix.
π€ Contributing
Fork the repository
Branch (
git checkout -b feature/...)Commit (Conventional Commits encouraged)
Open a Pull Request
If the maintainer merges your work outside the GitHub PR UI, they may close the PR with a link to the landing commit β that does not mean your contribution wasnβt accepted.
π API documentation
Tools follow the Trello REST API. Inputs are validated with Zod.
π Troubleshooting
Issue | What to check |
Credentials |
|
Tool not found | Rebuild ( |
| Retry layer should help; sustained 429 β slow down workflows |
Attachment download 401 | Use |
π License
MIT β see LICENSE.
π Acknowledgments
Original Trello MCP Server β yairhaimo/trello-mcp-server
Trello API Β· MCP Β· Cursor
Built with β€οΈ for the Cursor AI community
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adriangrahldev/advanced-trello-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server