Skip to main content
Glama

@sjalq/trello-mcp-lite

Minimal Trello MCP server with multi-account support and intelligent API passthrough

A lightweight, pure functional MCP server for Trello that supports multiple accounts and provides direct API access with smart aggregation capabilities.

Features

  • πŸ”„ Multi-Account Support - Manage multiple Trello accounts simultaneously

  • 🎯 Direct API Passthrough - Full access to Trello REST API v1

  • 🧠 Intelligent Aggregation - Automatically queries all accounts for read operations

  • πŸ’Ύ Persistent Storage - Securely stores credentials locally

  • ⚑ Pure Functional - Immutable operations, robust error handling

  • πŸͺΆ Lightweight - Single file, minimal dependencies

  • βœ… Well Tested - Property-based and integration tests

Installation

One-line install via Claude MCP CLI:

npx @sjalq/trello-mcp-lite

Or add to your MCP settings:

{
  "mcpServers": {
    "trello": {
      "command": "npx",
      "args": ["@sjalq/trello-mcp-lite"]
    }
  }
}

Quick Start

1. Get Your Trello Credentials

  • API Key: Visit https://trello.com/app-key

  • Token: Click the "Token" link on that same page to authorize

2. Add Your Account

// Using the manage_tokens tool
{
  "operation": "add",
  "name": "personal",
  "apiKey": "your_api_key_here",
  "token": "your_token_here"
}

3. Start Using Trello

// List all boards (aggregates across all accounts)
{
  "endpoint": "/members/me/boards",
  "method": "GET"
}

// Create a card on specific account
{
  "endpoint": "/cards",
  "method": "POST",
  "account": "personal",
  "body": {
    "name": "My New Task",
    "idList": "list_id_here",
    "desc": "Task description"
  }
}

Tools

1. trello_api - Main API Passthrough

Direct access to Trello REST API v1 with multi-account support.

Parameters:

  • endpoint (required): API endpoint (e.g., /boards/{id}/lists)

  • method (required): HTTP method (GET, POST, PUT, DELETE)

  • account (optional): Specific account name. Omit to aggregate all accounts for read operations

  • query (optional): Query parameters object

  • body (optional): Request body for POST/PUT/DELETE

Common Operations:

// πŸ“‹ List all boards (across all accounts)
{ "endpoint": "/members/me/boards", "method": "GET" }

// πŸ“‘ Get lists on a board
{ "endpoint": "/boards/{boardId}/lists", "method": "GET", "account": "work" }

// πŸ“ List cards in a list
{ "endpoint": "/lists/{listId}/cards", "method": "GET" }

// βž• Create a card
{
  "endpoint": "/cards",
  "method": "POST",
  "account": "personal",
  "body": {
    "name": "Task name",
    "idList": "list_id",
    "desc": "Description",
    "due": "2025-12-31"
  }
}

// ✏️ Update a card
{
  "endpoint": "/cards/{cardId}",
  "method": "PUT",
  "body": { "name": "Updated name" }
}

// πŸ“Œ Move card to different list
{
  "endpoint": "/cards/{cardId}",
  "method": "PUT",
  "body": { "idList": "new_list_id" }
}

// βœ… Complete/archive a card
{
  "endpoint": "/cards/{cardId}",
  "method": "PUT",
  "body": { "closed": true }
}

// πŸ’¬ Add comment to card
{
  "endpoint": "/cards/{cardId}/actions/comments",
  "method": "POST",
  "query": { "text": "My comment" }
}

// 🏷️ Add label to card
{
  "endpoint": "/cards/{cardId}/idLabels",
  "method": "POST",
  "body": { "value": "label_id" }
}

Response Format:

{
  "status": 200,
  "ok": true,
  "data": { /* Trello API response */ }
}

Multi-Account Aggregation: When you omit the account parameter on aggregatable read operations (like /members/me/boards), the tool automatically queries all configured accounts:

{
  "status": 207,
  "ok": true,
  "data": {
    "personal": [{ "id": "abc", "name": "Personal Board" }],
    "work": [{ "id": "xyz", "name": "Work Board" }],
    "client": [{ "id": "def", "name": "Client Board" }]
  }
}

2. manage_tokens - Account Management

Manage your Trello account credentials.

Add Account:

{
  "operation": "add",
  "name": "work",
  "apiKey": "your_api_key",
  "token": "your_token"
}

Remove Account:

{
  "operation": "remove",
  "name": "work"
}

List Accounts:

{
  "operation": "list"
}

Multi-Account Workflow

Example: Managing Personal and Work Trello

// 1. Add both accounts
manage_tokens({ operation: "add", name: "personal", apiKey: "...", token: "..." })
manage_tokens({ operation: "add", name: "work", apiKey: "...", token: "..." })

// 2. List all boards from both accounts
trello_api({ endpoint: "/members/me/boards", method: "GET" })
// Returns: { personal: [...], work: [...] }

// 3. Create card on work account
trello_api({
  endpoint: "/cards",
  method: "POST",
  account: "work",
  body: { name: "Work task", idList: "list123" }
})

// 4. Create card on personal account
trello_api({
  endpoint: "/cards",
  method: "POST",
  account: "personal",
  body: { name: "Personal task", idList: "list456" }
})

Storage

Credentials are stored securely in:

~/.trello-mcp-lite/tokens.json

Format:

{
  "personal": {
    "apiKey": "...",
    "token": "..."
  },
  "work": {
    "apiKey": "...",
    "token": "..."
  }
}

API Reference

Full Trello REST API documentation: https://developer.trello.com/reference

Most Common Endpoints:

  • /members/me/boards - List user's boards

  • /boards/{id}/lists - Get lists on a board

  • /lists/{id}/cards - Get cards in a list

  • /cards - Create a new card

  • /cards/{id} - Update/delete a card

  • /cards/{id}/actions/comments - Add comment

Development

# Clone the repo
git clone https://github.com/sjalq/trello-mcp-lite.git
cd trello-mcp-lite

# Install dependencies
npm install

# Run tests
npm test

Architecture

  • Pure Functional: All operations are immutable transformations

  • Error Handling: Graceful degradation with detailed error messages

  • Logging: Minimal stderr logging for debugging

  • No State Mutations: Read β†’ Transform β†’ Write pattern

Testing

Includes comprehensive test suite:

  • Property-based tests (using fast-check)

  • Integration tests

  • Unit tests

npm test

License

ISC

Author

sjalq

Contributing

Issues and PRs welcome at https://github.com/sjalq/trello-mcp-lite

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/sjalq/trello-mcp-lite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server