Skip to main content
Glama
README.md
# 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

## Getting Started

### Prerequisites

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

**Linux only**: Install libsecret
```bash
# Debian/Ubuntu
sudo apt install libsecret-1-dev

# Fedora
sudo dnf install libsecret-devel

# Arch
sudo pacman -S libsecret
```

### Installation

1. Clone this repository:
   ```bash
   git clone https://github.com/v4lheru/trello-mcp-server.git
   cd trello-mcp-server
   ```

2. Install dependencies:
   ```bash
   npm install
   ```

3. Build the project:
   ```bash
   npm run build
   ```

4. **Set up your credentials securely**:
   ```bash
   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:
```bash
npm start
```

### Migrating from .env Files

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

```bash
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`):

```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

## 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.

TDQS

D1.8/5.0

Scored across 15 tools

Disambiguation2/5

Multiple tools have unclear boundaries due to singular/plural pairs that create ambiguity (e.g., add-comment vs add-comments, create-card vs create-cards). An agent cannot reliably determine when to use the singular vs plural version since descriptions are missing, making tool selection confusing. However, core actions like archive-card, move-card, and get-boards are distinct in purpose.

Naming Consistency5/5

All tool names follow a consistent verb-noun pattern with hyphen-separated lowercase words (e.g., add-comment, get-boards, move-card). There are no deviations in style or convention, making the naming predictable and readable throughout the set.

Tool Count4/5

With 15 tools, the count is reasonable for a Trello server that needs to manage boards, lists, cards, labels, and comments. It is slightly on the higher side but well-scoped for the domain, covering key operations without being excessive.

Completeness3/5

The tool set covers core CRUD operations for cards, labels, and comments, but there are notable gaps. For example, there are no tools for updating or deleting cards/labels/comments, and operations for managing board settings or user permissions are missing. This limits full lifecycle coverage in the Trello domain.

Maintenance

ActivityInactive
ResponsivenessNo issues