Trello MCP Server

Trello MCP Server

Provides seamless integration with Trello's API to manage boards, lists, and cards through natural language. It supports full CRUD operations, card movement, and the ability to load Trello resources directly into an LLM's context for analysis.

Category
Visit Server

README

Trello MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with Trello's API. Manage your Trello boards, lists, and cards directly through Claude or any MCP-compatible client.

Features

  • Board Management: List, view, and create Trello boards
  • List Operations: Create, view, and archive lists on boards
  • Card CRUD: Full create, read, update, delete operations for cards
  • Card Movement: Move cards between lists with position control
  • MCP Resources: Load board, list, and card data into LLM context for analysis
  • Secure Authentication: API key and token-based authentication via environment variables

Installation

Prerequisites

  • Python 3.11 or higher
  • A Trello account
  • Trello API credentials (API key and token)

Install the Package

# Clone or download this repository
cd TrelloMCP

# Install using pip
pip install -e .

# Or using uv (recommended)
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e .

Getting Trello API Credentials

Step 1: Get Your API Key

  1. Visit Trello Power-Ups Admin
  2. Click "New" to create a new Power-Up (if you don't have one)
  3. Fill in the required information (name, workspace, etc.)
  4. Once created, you'll see your API Key on the Power-Up's page

Alternatively, you can get your API key directly from: https://trello.com/app-key

Step 2: Generate an API Token

  1. While viewing your API key page, click the "Token" link or visit:

    https://trello.com/1/authorize?expiration=never&name=TrelloMCP&scope=read,write&response_type=token&key=YOUR_API_KEY
    

    (Replace YOUR_API_KEY with the key from Step 1)

  2. Click "Allow" to authorize the application

  3. Copy the API Token that is displayed

Step 3: Configure Environment Variables

Create a .env file in the project root:

cp .env.example .env

Edit .env and add your credentials:

TRELLO_API_KEY=your_api_key_here
TRELLO_API_TOKEN=your_api_token_here

Important: Never commit your .env file to version control. It's already in .gitignore.

Usage

Running the Server Standalone

trello-mcp

The server will start and listen for MCP connections via stdio.

Using with Claude Desktop

Add the following to your Claude Desktop configuration file:

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "trello": {
      "command": "trello-mcp",
      "env": {
        "TRELLO_API_KEY": "your_api_key_here",
        "TRELLO_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Alternatively, if you have a .env file in your project directory:

{
  "mcpServers": {
    "trello": {
      "command": "python",
      "args": ["-m", "trello_mcp"],
      "cwd": "/path/to/TrelloMCP",
      "env": {}
    }
  }
}

The server will automatically load credentials from the .env file in the working directory.

Restart Claude Desktop

After updating the configuration, restart Claude Desktop to load the Trello MCP server.

Available Tools

The server provides the following tools that you can use through natural language with Claude:

Board Tools

  • list_boards() - List all your Trello boards
  • get_board(board_id) - Get details of a specific board
  • create_board(name, desc?) - Create a new board

List Tools

  • get_board_lists(board_id) - Get all lists on a board
  • create_list(board_id, name, pos?) - Create a new list on a board
  • archive_list(list_id) - Archive (close) a list

Card Tools

  • list_cards(list_id) - Get all cards in a list
  • get_card(card_id) - Get details of a specific card
  • create_card(list_id, name, desc?, pos?) - Create a new card
  • update_card(card_id, name?, desc?, list_id?) - Update a card
  • delete_card(card_id) - Delete a card
  • move_card(card_id, list_id, pos?) - Move a card to another list

Available Resources

Resources allow you to load Trello data into the LLM's context for analysis:

  • trello://board/{board_id} - Load complete board information with all lists and cards
  • trello://list/{list_id} - Load list information with all cards
  • trello://card/{card_id} - Load detailed card information

Example Conversations with Claude

Once configured, you can interact with Trello naturally:

"Show me all my Trello boards"

  • Claude will call list_boards() and display your boards

"Create a new board called 'Q1 2026 Planning'"

  • Claude will call create_board(name="Q1 2026 Planning")

"On my project board, create a new list called 'In Review'"

  • Claude will first find your board, then call create_list()

"Add a card 'Review design docs' to the To Do list with description 'Need to review the new UI designs'"

  • Claude will call create_card() with the appropriate parameters

"Move that card to the In Progress list"

  • Claude will call move_card() to relocate it

"Load the full context of board abc123"

  • Claude will use the resource trello://board/abc123 to load all data

Development

Running Tests

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

Project Structure

TrelloMCP/
├── src/
│   └── trello_mcp/
│       ├── __init__.py
│       ├── __main__.py       # Entry point
│       ├── server.py          # MCP server with tools and resources
│       └── trello_client.py   # Trello API client wrapper
├── tests/
│   ├── __init__.py
│   └── test_server.py
├── pyproject.toml
├── README.md
├── .env.example
└── .gitignore

Adding New Features

  1. Add new API methods to TrelloClient in trello_client.py
  2. Add corresponding tools/resources in server.py using FastMCP decorators
  3. Update this README with the new functionality

API Rate Limits

Trello's API has rate limits per API key. If you exceed them, you'll receive a 429 error. For frequent updates, consider using Trello webhooks instead of polling.

Troubleshooting

"Invalid Trello API credentials" error

  • Verify your TRELLO_API_KEY and TRELLO_API_TOKEN are correct
  • Make sure there are no extra spaces or quotes in your .env file
  • Try regenerating your API token

"Resource not found" error

  • Double-check the board/list/card ID you're using
  • Ensure you have access to the resource with your Trello account

Server not showing in Claude Desktop

  • Check that the path to trello-mcp is correct
  • Verify the JSON syntax in claude_desktop_config.json
  • Restart Claude Desktop completely
  • Check Claude Desktop's logs for error messages

Security Notes

  • Keep your API key and token secure - never commit them to version control
  • The .env file is automatically ignored by git
  • API tokens grant full access to your Trello account - treat them like passwords
  • Consider creating a separate Trello workspace for testing

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

License

MIT License - feel free to use this server for your own projects.

References

Acknowledgments

Built with:

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured