Self-hostable MCP server for Trello, built for LLM clients and local workflows.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/enthouan/trello-mcp{
"mcpServers": {
"trello-mcp": {
"command": "node",
"args": ["/path/to/trello-mcp/dist/index.js"],
"env": {
"TRELLO_API_KEY": "<trello_api_key>",
"TRELLO_TOKEN": "<trello_token>",
"MCP_AUTH_TOKEN": "<mcp_auth_token>"
}
}
}
}TRELLO_API_KEYTRELLO_TOKENMCP_AUTH_TOKENMCP Servers overview
# trello-mcp A self-hostable [Model Context Protocol](https://modelcontextprotocol.io/) server that lets MCP-compatible clients work with [Trello](https://trello.com/) cards, lists, labels, attachments, checklists, members, and card activity. The project is intentionally self-hostable and reusable. Contributions, adaptations, and focused issue reports are welcome. The roadmap is, of course, tracked on Trello, and `trello-mcp` helps keep it up to date: [trello-mcp roadmap](https://trello.com/b/GnKmvuHz/trello-mcp-enthouan-trello-mcp). ## Disclaimer trello-mcp is an independent, community-maintained project. It is not an official Trello or Atlassian product, service, or MCP implementation, and it is not affiliated with, endorsed by, or sponsored by Trello or Atlassian. This project exists to make it easier for MCP-compatible LLM clients to interface with Trello through Trello's [public API](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/) and user-provided API credentials. Looking for Trello's official hosted MCP server? Visit [Trello MCP](https://trello.com/mcp) and use the endpoint documented by Trello: `https://mcp.trello.com/v1`. ## Documentation The complete project documentation is available at [trello-mcp.com](https://trello-mcp.com/): - [Get started](https://trello-mcp.com/getting-started/) - [Create a Trello API key and token](https://trello-mcp.com/getting-started/trello-api-key/) - [Set up your MCP client](https://trello-mcp.com/getting-started/clients/) - [Browse the tool catalog](https://trello-mcp.com/reference/tools/) - [Review API coverage and non-goals](https://trello-mcp.com/reference/api-coverage/) - [Understand Security & Data](https://trello-mcp.com/guides/security/) - [Operate a running deployment](https://trello-mcp.com/guides/operations/) - [Troubleshoot an installation](https://trello-mcp.com/guides/troubleshooting/) - [Official MCP Registry installation, releases, and recovery](docs/mcp-registry.md) ## Features ### Board Discovery - List boards visible to the authenticated Trello member. - Read basic board metadata. - List open, closed, or all lists on a board. - List open, closed, visible, or all cards on a board. - List board labels, members, and memberships. - Create, inspect, update, and delete board labels. - Create, inspect, rename, archive, unarchive, and move lists between boards. ### Card Workflows - Read cards by id, short id, or Trello card URL. - Create cards with title, description, due date, position, members, and labels. - Update card metadata including title, description, due date, due completion, and archived state. - Move cards between lists or boards. - Apply and remove existing labels on cards. - Permanently delete cards only when explicitly requested. ### Card Context - List cards in a Trello list. - List card attachments, inspect individual attachments, add public URL attachments, and upload server-local files from an explicitly configured directory. - List, create, rename, and delete card checklists, and manage checklist items. - List card members and add or remove members. - Read card actions and activity history. - Add, edit, and delete Trello card comments. ### Search Workflows - Search Trello cards, boards, members, and workspaces by natural language terms. - Scope search results to specific boards, cards, or workspaces. - Look up Trello members by name or username before assignment. - Read member profiles, assigned cards, boards, and workspaces. ### Workspace Discovery - List Trello workspaces visible to the authenticated member. - Read workspace metadata, boards, and members. ### Self-Hosted Runtime - Run with Docker Compose using the published GHCR image. - Build locally with a separate Compose file. - Use Streamable HTTP for container deployments. - Use stdio for local MCP clients that launch the server as a child process. - Keep stdio logs on stderr so local MCP clients receive protocol-only stdout. - Expose HTTP health and readiness endpoints. - Optionally require a bearer token for HTTP MCP endpoint requests. - Validate config, tool input, and Trello API responses with Zod. - Redact Trello credentials from logs. - Run typecheck, lint, build, tests, and coverage in GitHub Actions. ## Quick Start ### 1. Get Trello API Credentials Trello API keys are created from an app in Trello's App Admin Portal. Each person running this server should use their own Trello account and token. Follow the dedicated [Trello API credentials guide](docs/trello-api-key.md) for the current, security-focused walkthrough. In short: create or select an app at [trello.com/apps/admin](https://trello.com/apps/admin), generate a key from its **API Key** tab, then use the nearby **Token** link to review and authorize access for the intended Trello member. You will use those values as: ```bash TRELLO_API_KEY=your-api-key TRELLO_TOKEN=your-token ``` ### 2. Choose an Install Path #### Option A: Run the Published Docker Image Use this path if you just want to run the server. It pulls the prebuilt image from GHCR and does not build anything locally. ```bash git clone https://github.com/enthouan/trello-mcp.git cd trello-mcp cp .env.example .env ``` Edit `.env` and replace the placeholder values: ```bash TRELLO_API_KEY=your-api-key TRELLO_TOKEN=your-token TRANSPORT=http LOG_LEVEL=info TRELLO_RATE_LIMIT_CAPACITY=100 TRELLO_RATE_LIMIT_REFILL_INTERVAL_MS=10000 TRELLO_RETRY_MAX_ATTEMPTS=3 TRELLO_RETRY_BASE_DELAY_MS=100 TRELLO_RETRY_MAX_DELAY_MS=2000 # MCP_AUTH_TOKEN=optional-shared-secret TRELLO_MCP_HOST_BIND_IP=127.0.0.1 TRELLO_MCP_HOST_PORT=3000 TRELLO_MCP_IMAGE_TAG=latest TRELLO_MCP_NETWORK=trello-mcp_network ``` Start the published image: ```bash docker compose up -d --wait --wait-timeout 120 ``` The default `docker-compose.yml` uses: ```text ghcr.io/enthouan/trello-mcp:latest ``` Docker Compose values such as image tag, host bind IP, host port, and network name can be overridden with environment variables or the `.env` file. The compose files document their defaults at the top; for example, `TRELLO_MCP_IMAGE_TAG` defaults to the `latest` tag in `docker-compose.yml` (`latest` follows the `main` branch, and release tags such as `X.Y` and `X.Y.Z` are available for versioned deployments), `TRELLO_MCP_HOST_BIND_IP` defaults to `127.0.0.1` for local-only access, `TRELLO_MCP_HOST_PORT` defaults to `3000` and maps that host port to the container's fixed internal `3000` listener, while `TRELLO_MCP_NETWORK` defaults to `trello-mcp_network`. Set `TRELLO_MCP_HOST_BIND_IP=0.0.0.0` only when you intentionally want Docker to publish the service on all host interfaces, such as for LAN access. Set `MCP_AUTH_TOKEN` to require `Authorization: Bearer <token>` on HTTP MCP requests to `/mcp`. Leave it unset for the default unauthenticated local behavior. Health and readiness endpoints remain unauthenticated for container and reverse-proxy checks. Container health follows `TRANSPORT`: HTTP checks `/healthz` on `PORT` (default `3000`), while stdio uses process liveness and lets the attached MCP client check protocol responsiveness. Compose inherits this image health check. Keep the Trello rate-limit and retry values at their defaults unless logs show `trello rate limit wait` or `trello request rate limited; retrying` during large workflows. Lower the capacity for shared tokens or constrained deployments; raise it carefully only after narrowing the workflow's board, card, field, and pagination scope. For reproducible deployments, prefer an exact `X.Y.Z` tag. Published Docker image tags use these conventions: | Tag | Use case | | --- | --- | | `latest` | Follows the current `main` branch build. Use it when you intentionally want the newest main-branch image. | | `X.Y` | Follows the newest patch release in a minor line, moving to the image built from the latest matching `vX.Y.Z` tag. | | `X.Y.Z` | Pins to one exact release. Use this for the most reproducible deployments. | | `sha-<commit>` | Pins to one exact commit image from the release workflow. Use this for debugging or audit trails. | You can also run the published image directly without Compose: ```bash docker run --rm -p 127.0.0.1:3000:3000 \ -e TRELLO_API_KEY=your-api-key \ -e TRELLO_TOKEN=your-token \ ghcr.io/enthouan/trello-mcp:latest ``` #### Option B: Build Locally from Source Use this path if you want to develop the project, test local changes, or build the Docker image yourself. Local development uses Node.js 24.x and the pinned `pnpm@10.34.1` package manager through Corepack. ```bash git clone https://github.com/enthouan/trello-mcp.git cd trello-mcp cp .env.example .env ``` Edit `.env` with your Trello credentials, then build and run locally: ```bash docker compose -f docker-compose.local.yml up --build -d --wait --wait-timeout 120 ``` This uses `docker-compose.local.yml`, which builds from the local `Dockerfile` and tags the image as `trello-mcp:local`. For a non-Docker local build: ```bash corepack enable corepack prepare pnpm@10.34.1 --activate corepack pnpm install --frozen-lockfile corepack pnpm build:clean ``` Then run the compiled server directly: ```bash TRELLO_API_KEY=your-api-key TRELLO_TOKEN=your-token TRANSPORT=stdio node dist/index.js ``` Treat the token like a password. Do not commit it, paste it in logs, or share it in PRs. ### 3. Connect Your MCP Client Choose the transport by where the server runs: | Your setup | Choose | Client receives | | --- | --- | --- | | A built clone and the MCP client are on the same machine | `stdio` | A local command plus Trello credentials in the child-process environment | | The server runs in Docker, behind a reverse proxy, or on another host | Streamable HTTP | An `/mcp` URL plus an optional bearer token; Trello credentials stay on the server | The [Set up your MCP client guide](docs/client-setup.md) has current, sanitized examples for Claude Desktop, Claude Code, Codex CLI, VS Code, OpenCode, MCP Inspector
What people ask about trello-mcp
What is enthouan/trello-mcp?
+
enthouan/trello-mcp is mcp servers for the Claude AI ecosystem. Self-hostable MCP server for Trello, built for LLM clients and local workflows. It has 5 GitHub stars and its last recorded update is dated 2026-10-09.
How do I install trello-mcp?
+
You can install trello-mcp by cloning the repository (https://github.com/enthouan/trello-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is enthouan/trello-mcp safe to use?
+
Our security agent has analyzed enthouan/trello-mcp and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains enthouan/trello-mcp?
+
enthouan/trello-mcp is maintained by enthouan. The last recorded GitHub activity is dated 2026-10-09, with 20 open issues.
Are there alternatives to trello-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy trello-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/enthouan-trello-mcp)<a href="https://claudewave.com/repo/enthouan-trello-mcp"><img src="https://claudewave.com/api/badge/enthouan-trello-mcp" alt="Featured on ClaudeWave: enthouan/trello-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
The fastest path to AI-powered full stack observability, even for lean teams.