Skip to content
 
 

Repository files navigation

Trello MCP Server

A Model Context Protocol (MCP) server that provides tools for interacting with the Trello API.

Credentials are stored securely in your OS credential manager, not in plaintext files.

Features

  • Secure Credential Storage: Credentials stored in OS credential manager (Windows Credential Manager, macOS Keychain, or Linux libsecret)
  • No Plaintext Secrets: No .env files, no environment variables for credentials
  • Trello Integration: Complete access to Trello boards, lists, cards, and more
  • Comprehensive API Coverage: Support for all major Trello operations
  • Type Safety: Full TypeScript support with proper typing for Trello objects
  • Error Handling: Robust error management throughout the codebase
  • Token-Optimized Responses: Optional compact format reduces response tokens by ~50%

Getting Started

Prerequisites

  • Node.js 18 or higher
  • npm
  • Trello API key and token (see below)

Linux only: Install libsecret

# Debian/Ubuntu
sudo apt install libsecret-1-dev

# Fedora
sudo dnf install libsecret-devel

# Arch
sudo pacman -S libsecret

Installation

  1. Clone this repository:

    git clone https://github.com/v4lheru/trello-mcp-server.git
    cd trello-mcp-server
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build
  4. Set up your credentials securely:

    npm run setup-credentials

    This will prompt you for your Trello API key and token, then store them in your OS credential manager.

    To get your credentials:

    1. Go to https://trello.com/app-key
    2. Copy your API Key
    3. Click "Generate a Token" and copy the token

Usage

Start the MCP server:

npm start

Migrating from .env Files

If you have existing credentials in a .env file, the setup script will automatically detect them:

npm run setup-credentials

You'll see:

📁 Found existing credentials in: /path/to/.env
   Both API Key and Token found.

Migrate these credentials to secure storage? (Y/n):

After migration, you can optionally remove the credentials from your .env file.

Managing Credentials

  • Set/update credentials: npm run setup-credentials
  • Delete credentials: npm run delete-credentials

Credentials are stored in:

  • Windows: Credential Manager → Windows Credentials → trello-mcp-server
  • macOS: Keychain Access → trello-mcp-server
  • Linux: GNOME Keyring / KDE Wallet → trello-mcp-server

Claude Desktop Configuration

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "trello": {
      "command": "node",
      "args": ["C:/path/to/trello-mcp-server/build/index.js"]
    }
  }
}

Available Tools

Board Tools

  • get_boards - Get all boards for the authenticated user
  • get_board - Get a specific board by ID
  • create_board - Create a new board
  • update_board - Update an existing board
  • delete_board - Delete a board
  • get_board_lists - Get all lists on a board
  • get_board_members - Get all members of a board
  • get_board_labels - Get all labels on a board
  • close_board - Close (archive) a board
  • reopen_board - Reopen a closed board

List Tools

  • get_list - Get a specific list by ID
  • create_list - Create a new list on a board
  • update_list - Update an existing list
  • archive_list - Archive a list
  • unarchive_list - Unarchive a list
  • move_list_to_board - Move a list to a different board
  • get_cards_in_list - Get all cards in a list
  • archive_all_cards - Archive all cards in a list
  • move_all_cards - Move all cards in a list to another list

Card Tools

  • get_card - Get a specific card by ID
  • create_card - Create a new card
  • update_card - Update an existing card
  • delete_card - Delete a card
  • archive_card - Archive a card
  • move_card_to_list - Move a card to a different list
  • add_comment - Add a comment to a card
  • get_comments - Get comments on a card
  • add_attachment - Add an attachment to a card
  • get_attachments - Get attachments on a card
  • set_due_date - Set the due date for a card
  • set_due_complete - Mark a card's due date as complete

Member Tools

  • get_me - Get the authenticated member (current user)
  • get_member - Get a specific member by ID or username
  • get_member_boards - Get boards that a member belongs to
  • get_member_cards - Get cards assigned to a member
  • search_members - Search for members by name

Label Tools

  • get_label - Get a specific label by ID
  • create_label - Create a new label on a board
  • update_label - Update an existing label
  • delete_label - Delete a label
  • add_label_to_card - Add a label to a card
  • remove_label_from_card - Remove a label from a card

Checklist Tools

  • get_checklist - Get a specific checklist by ID
  • create_checklist - Create a new checklist on a card
  • update_checklist - Update an existing checklist
  • delete_checklist - Delete a checklist
  • get_checkitems - Get all checkitems on a checklist
  • create_checkitem - Create a new checkitem on a checklist
  • update_checkitem - Update a checkitem on a checklist
  • delete_checkitem - Delete a checkitem from a checklist

Response Format Option

All tools support an optional format parameter to control response verbosity:

Format Description Use Case
json (default) Full JSON object When you need complete data or downstream parsing
compact Token-optimized string/table Reduce token usage by ~50%

Examples

JSON format (default):

{
  "id": "abc123",
  "name": "Fix login bug",
  "idList": "list456",
  "due": "2024-12-31T12:00:00.000Z",
  "dueComplete": false,
  ...
}

Compact format (single resource):

id=abc123 name="Fix login bug" list=list456 due=Dec31 done=no url=trello.com/c/abc123

Compact format (array of resources):

| id | name | list | due | done | labels |
|---|---|---|---|---|---|
| abc | Fix login bug | list1 | Dec 31 | no | bug |
| def | Add OAuth | list1 | Jan 5 | no | feature |

Usage

Pass format: "compact" to any tool:

{
  "cardId": "abc123",
  "format": "compact"
}

Security

Credentials are stored in your OS credential manager (Windows Credential Manager, macOS Keychain, or Linux libsecret) and encrypted using your login credentials.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages