Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 55 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,38 @@ A Model Context Protocol (MCP) server that provides tools for interacting with T

## Installation

### Quick Start with pnpx (Recommended)
### 1. Getting a Trello API key

The easiest way to use the Trello MCP server is with `pnpx`, which doesn't require a global install:
To connect a Trello workspace, you'll need to configure a Power Up (no code required), and get its API key and token.

1. Go to [trello.com/power-ups/admin](https://trello.com/power-ups/admin). Click _New_, and fill out the form. You can leave _Iframe connector URL_ blank.
2. Click on _Generate a new API key_. You can leave the _Allowed origins_ field blank; it would be used for an OAuth user login flow, but we don't need it.
3. Copy the _API key_ — you'll need it to set up the client (below)
4. Next to _API key_ should be some text along the lines of:

> If you are looking to build an application for yourself, or are doing local testing, you can manually generate a **Token**.

**Token** should be a link like this:

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

Click on it to get your token.

5. ~~Ignore the _Secret_: it's different from the token, and it's not needed.~~

This will generate the token required for integration.

> [!NOTE]
> The `expiration=never` parameter creates a token that does not expire. For enhanced security, consider using `expiration=30days` and renewing the token periodically if your setup allows for it.

### 2. Quick Start for Claude Desktop

1. Configure Claude Desktop to start the Trello MCP server
2. Restart Claude Desktop.

An easy way to use the Trello MCP server is with `pnpx`, which doesn't require a global install. Add the `mcpServers.trello` entry to your [Claude Desktop config file](https://modelcontextprotocol.io/quickstart/user#installing-the-filesystem-server):

```json
{
Expand Down Expand Up @@ -128,22 +157,33 @@ Or if you're using mise:
}
```

To connect a Trello workspace, you'll need to manually retrieve a `TRELLO_TOKEN` once per workspace. After setting up your Trello Power-Up, visit the following URL:
Or with Docker:

```json
{
"mcpServers": {
"trello": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--volume=npx-cache-20:/root/.npm",
Copy link

Copilot AI Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The volume name 'npx-cache-20' includes a hardcoded version number '20' that should match the Node.js version used in the container. Consider using a more descriptive name or documenting why this specific version is included.

Copilot uses AI. Check for mistakes.

"--volume=node-modules-cache-20:/root/.cache",
Copy link

Copilot AI Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Similar to the npm cache volume, 'node-modules-cache-20' includes a hardcoded version number that should be consistent with the Node.js version. Consider adding a comment explaining the version alignment or using a more generic naming pattern.

Copilot uses AI. Check for mistakes.

Comment on lines +169 to +170
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using version-specific names for the Docker volumes (e.g., ...-20) is a good practice to align with the node:20-alpine image. However, this dependency isn't immediately obvious. A user might update the Node.js image version later without changing the volume names, which could lead to hard-to-debug cache conflicts. Please consider adding a brief note to the documentation explaining that these volume names should be updated in tandem with the Node.js image version.

"--env=TRELLO_API_KEY",
"--env=TRELLO_TOKEN",
"node:20-alpine",
"npx",
"@delorenj/mcp-server-trello"
],
"env": {
"TRELLO_API_KEY": "your-api-key",
"TRELLO_TOKEN": "your-token"
}
}
}
}
```
https://trello.com/1/authorize?expiration=never&name=YOUR_APP_NAME&scope=read,write&response_type=token&key=YOUR_API_KEY
```

Replace:

* `YOUR_APP_NAME` with a name for your application (e.g., "My Trello Integration"). This name is shown to the user on the Trello authorization screen.
* `YOUR_API_KEY` with the API key for your Trello Power-Up

This will generate the token required for integration.

> [!NOTE]
> The `expiration=never` parameter creates a token that does not expire. For enhanced security, consider using `expiration=30days` and renewing the token periodically if your setup allows for it.

After adding that to your configuration, quit and reopen Claude Desktop. It should start the server automatically, and you should see "trello" listed under _Search and tools_ in the chat interface.

#### Don't have pnpm?

Expand Down