Trello Model Context Protocol (MCP) Server for AI Agents
Transform your Trello boards into a living workspace for AI agents. This Model Context Protocol (MCP) server allows LLMs (like Gemini, Claude, and GPT-4) to see, organize, and manage your projects with natural language.
This project bridges the gap between AI and your Trello workflow. Instead of manually moving cards, you can tell your AI: "Move all 'To Do' cards with the 'Urgent' label to 'In Progress' and assign them to me."
Global Usage: You can save this project anywhere on your computer. Once registered, your AI will be able to start the server automatically whenever needed—no manual terminal execution required.
# Clone the repository
git clone https://github.com/BillNobill/trello-mcp-server.git
# Install dependencies and build
npm install
npm run build
Create a .env file in the project root (use .env.example as a template):
TRELLO_API_KEY=your_api_key
TRELLO_TOKEN=your_token
TRELLO_BASE_URL=https://api.trello.com/1
claude mcp add --scope user trello node "C:\FULL_PATH\TO\trello-mcp-server\dist\index.js"
Env vars are read from the .env file or can be passed inline with -e KEY=VALUE flags.
Add to your user settings.json (Ctrl+Shift+P → Open User Settings JSON):
{
"mcp": {
"servers": {
"trello": {
"command": "node",
"args": ["C:\\FULL_PATH\\TO\\trello-mcp-server\\dist\\index.js"],
"env": {
"TRELLO_API_KEY": "your_api_key",
"TRELLO_TOKEN": "your_token",
"TRELLO_BASE_URL": "https://api.trello.com/1"
}
}
}
}
}
Add to %USERPROFILE%\.cursor\mcp.json:
{
"mcpServers": {
"trello": {
"command": "node",
"args": ["C:\\FULL_PATH\\TO\\trello-mcp-server\\dist\\index.js"],
"env": {
"TRELLO_API_KEY": "your_api_key",
"TRELLO_TOKEN": "your_token",
"TRELLO_BASE_URL": "https://api.trello.com/1"
}
}
}
}
[!IMPORTANT] Always use the absolute path to
dist/index.jsin the configuration above.
Your AI agent will automatically "learn" these advanced capabilities:
list_boards: List all your Trello boards.read_board: Deep dive into lists, cards, labels, and members.get_lists_on_board: Fetch only column names and IDs.create_list / update_list: Manage board columns and their ordering (pos).archive_list: Cleanup board structure.get_board_labels / get_board_members: Fetch IDs for precise automation.create_label / update_label: Manage board labels (names and colors).get_cards_in_list: Fetch cards for a specific column.get_card_details: Deep dive into comments, attachments, and checklists for a single card.search_cards: Perform fast text-based searches across the entire board.create_card / update_card: Create or modify tasks (name, desc, dates, labels, and pos).move_card: Change task status across lists (supports pos).move_all_cards: Bulk Action to move all cards from one list to another.archive_card: Cleanup completed work.add_checklist: Create a new checklist header on a card.update_checklist: Rename or reorder an existing checklist header.delete_checklist: Remove a checklist entirely.create_checkitem: Add a new item to an existing checklist.update_checkitem: Update items (rename, mark as complete/incomplete, or reorder).delete_checkitem: Remove a specific item from a checklist.add_attachment: Attach URL-based links to cards.upload_file: Upload real files (PDFs, scripts, reports) directly from your computer to a card.set_custom_field: Set values for Custom Fields (e.g., "Estimate", "Project ID"). Note: Requires Custom Fields Power-Up enabled on the board.assign_member: Assign teammates to tasks.add_comment: Discuss tasks directly through the AI.[!TIP] Reordering (the
posparameter):
Use'top','bottom', or a positive number (e.g.,1) to precisely reorder cards, lists, checklists, and items.
[!WARNING] Server shows as "Disconnected"?
- Empty Command: Check your client's MCP config and confirm
"command": "node"and the absolute path todist/index.jsare correct.- Environment Variables: Run
node dist/index.jsmanually in the terminal. If it fails, your.envis likely missing from the root folder.- SDK Compatibility: This project uses
@modelcontextprotocol/sdkv1.29.0. If you experience protocol errors, runnpm installto ensure you have the correct version.- Claude Code: Run
/mcpinside a Claude Code session to see the server status and any error output.
[!TIP] Docker is perfect for keeping your local environment clean.
# Build
docker build -t trello-mcp-server .
# Run
docker run --rm -i --env-file .env trello-mcp-server
Contributions are welcome! If you find a bug or have a feature request, please open an issue or submit a pull request.
Created by [Luiz Feltrin]
Show some love! Give this repository a ⭐️ if it helped you!
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @billnobill/trello-mcp-serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-billnobill-trello-mcp-server": {
"command": "npx",
"args": [
"-y",
"@billnobill/trello-mcp-server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@billnobill/trello-mcp-servernpmio.github.BillNobill/trello-mcp-server works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.