Atlassian Trello MCP
Integração abrangente com Trello: 46 ferramentas cobrindo quadros, cartões, listas, etiquetas, checklists, anexos, membros, campos personalizados e pesquisa. Modo somente leitura, download automático de anexos de imagem. Fork ativo do kocakli/Trello-Desktop-MCP integrando contribuições de todo o ecossistema de forks do Trello MCP.
Documentação
Servidor MCP do Trello
🔀 Fork ativo. Este é um fork mantido de kocakli/Trello-Desktop-MCP que integra contribuições de todo o ecossistema de forks (kevinhillinger, zonca, dbz-max, maks244, jantman, ThatIanMcShane, josh-argyle). PRs são bem-vindos — veja Créditos para saber o que cada contribuidor trouxe. Publicado no npm como
atlassian-trello-mcp.
Um servidor Model Context Protocol (MCP) para Trello que funciona com qualquer cliente compatível com MCP — Claude Desktop, Claude Code, Gemini CLI e outros.
Fornece 50 ferramentas que cobrem quadros, cartões, listas, etiquetas, checklists, anexos, membros, campos personalizados e pesquisa.
Início Rápido
1. Obtenha as credenciais da API do Trello
O Trello não fornece mais chaves de API diretamente — cada usuário deve criar seu próprio Power-Up e, em seguida, gerar um token vinculado à chave desse Power-Up.
- Visite https://trello.com/power-ups/admin e clique em Novo.
- Preencha o formulário Novo Power-Up ou Integração:
- Nome do Novo Power-Up ou Integração:
Claude MCP. Se você tiver vários membros na equipe, cada desenvolvedor deve criar seu próprio Power-Up para que a chave da API esteja vinculada ao seu usuário — inclua também seu próprio nome, por exemplo,Trello MCP Steve. - Workspace: o workspace com o qual você deseja interagir.
- URL do conector do iframe:
https://localhost(campo obrigatório, não é realmente usado por este servidor MCP). - E-mail: seu e-mail.
- Contato de suporte e Autor: podem ser em nível de empresa ou pessoal.
- Nome do Novo Power-Up ou Integração:
- Após criar o Power-Up, clique em Chave da API na barra lateral, depois em Gerar uma nova chave da API e, em seguida, em Gerar chave da API no modal de confirmação. O Trello exibe tanto uma Chave da API quanto um Segredo — salve-os em um local seguro.
- Em um navegador, visite:
Substituahttps://trello.com/1/authorize?expiration=never&scope=read,write,account&response_type=token&name={NAME}&key={APIKEY}{NAME}pelo nome do Power-Up que você escolheu e{APIKEY}pela chave da etapa anterior. Este é um prompt de autenticação — confirme o acesso e clique em Permitir. O Trello retorna um token da API; copie-o. - Coloque a chave da API e o token na configuração do seu cliente MCP (por exemplo,
.claude.json) — veja a próxima seção.
2. Instalação
O caminho mais fácil é npx — sem clone, sem build, basta executar:
npx atlassian-trello-mcp
Ou instale a partir do código-fonte:
git clone https://github.com/agrath/Trello-Desktop-MCP.git
cd Trello-Desktop-MCP
npm install
npm run build
3. Configure seu cliente MCP
Claude Desktop
Edite seu arquivo de configuração:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"trello": {
"command": "npx",
"args": ["-y", "atlassian-trello-mcp"],
"env": {
"TRELLO_API_KEY": "your-api-key",
"TRELLO_TOKEN": "your-token"
}
}
}
}
Claude Code
claude mcp add trello -- npx -y atlassian-trello-mcp
Defina as variáveis de ambiente TRELLO_API_KEY e TRELLO_TOKEN, ou passe as credenciais por solicitação.
Gemini CLI
Edite ~/.gemini/settings.json:
{
"mcpServers": {
"trello": {
"command": "npx",
"args": ["-y", "atlassian-trello-mcp"],
"env": {
"TRELLO_API_KEY": "your-api-key",
"TRELLO_TOKEN": "your-token"
}
}
}
}
Cliente MCP genérico / instalação a partir do código-fonte
O servidor usa transporte stdio. Execute com as variáveis de ambiente definidas:
TRELLO_API_KEY=your-key TRELLO_TOKEN=your-token npx atlassian-trello-mcp
# or, from a source clone:
TRELLO_API_KEY=your-key TRELLO_TOKEN=your-token node dist/index.js
Credenciais
As credenciais podem ser fornecidas de duas maneiras:
- Variáveis de ambiente (recomendado): Defina
TRELLO_API_KEYeTRELLO_TOKEN - Por solicitação: Passe
apiKeyetokencomo parâmetros da ferramenta (substitui as variáveis de ambiente)
Ferramentas Disponíveis (50)
Quadros e Listas
| Ferramenta | Descrição |
|---|---|
list_boards | Listar todos os quadros acessíveis |
trello_get_user_boards | Obter quadros com informações do perfil do usuário |
get_board_details | Metadados do quadro, listas e, opcionalmente, cartões |
get_lists | Obter todas as listas em um quadro |
trello_filter_lists | Filtrar listas por nome (correspondência de substring sem diferenciar maiúsculas/minúsculas) |
trello_create_list | Criar uma nova lista em um quadro |
trello_update_list | Renomear, arquivar/desarquivar ou reposicionar uma lista |
trello_get_board_members | Obter todos os membros em um quadro |
trello_get_board_labels | Obter todas as etiquetas em um quadro |
trello_get_board_cards | Obter cartões em um quadro (compacto ou completo); opcionalmente filtrar por membro atribuído |
trello_get_board_custom_fields | Obter definições de campos personalizados |
Cartões
| Ferramenta | Descrição |
|---|---|
create_card | Criar um cartão com nome, descrição, data de vencimento, etiquetas, membros |
get_card | Obter detalhes do cartão |
trello_get_card_by_number | Encontrar um cartão pelo seu número local no quadro (o #N / idShort) |
update_card | Atualizar propriedades do cartão |
move_card | Mover um cartão para uma lista diferente |
trello_archive_card | Arquivar ou desarquivar um cartão |
trello_get_list_cards | Obter cartões em uma lista (modo compacto ou completo) |
Comentários e Atividades
| Ferramenta | Descrição |
|---|---|
trello_add_comment | Adicionar um comentário a um cartão |
trello_update_comment | Editar o texto de um comentário existente |
trello_delete_comment | Excluir permanentemente um comentário |
trello_get_card_actions | Obter histórico de atividades e comentários do cartão |
trello_get_board_actions | Obter histórico de atividades em todo o quadro, com paginação since/before para sincronização incremental |
Etiquetas
| Ferramenta | Descrição |
|---|---|
trello_create_label | Criar uma etiqueta em um quadro |
trello_update_label | Atualizar nome ou cor da etiqueta |
trello_delete_label | Excluir uma etiqueta |
trello_add_label_to_card | Atribuir uma etiqueta a um cartão |
trello_remove_label_from_card | Remover uma etiqueta de um cartão |
Membros em Cartões
| Ferramenta | Descrição |
|---|---|
trello_get_member | Obter detalhes do perfil do membro |
trello_add_member_to_card | Atribuir um membro a um cartão |
trello_remove_member_from_card | Remover um membro de um cartão |
Anexos
| Ferramenta | Descrição |
|---|---|
trello_get_card_attachments | Listar todos os anexos em um cartão |
trello_get_card_attachment | Obter um anexo específico |
trello_create_card_attachment | Anexar uma URL ou enviar um arquivo local |
trello_delete_card_attachment | Excluir um anexo |
Checklists
| Ferramenta | Descrição |
|---|---|
trello_create_checklist | Criar um checklist em um cartão |
trello_get_checklist | Obter um checklist com itens |
trello_update_checklist | Atualizar nome ou posição do checklist |
trello_delete_checklist | Excluir um checklist |
trello_get_checklist_field | Obter um campo específico do checklist |
trello_update_checklist_field | Atualizar um campo específico do checklist |
trello_get_board_for_checklist | Obter o quadro ao qual um checklist pertence |
trello_get_card_for_checklist | Obter o cartão ao qual um checklist pertence |
trello_get_card_checklists | Obter todos os checklists em um cartão |
Itens de Checklist
| Ferramenta | Descrição |
|---|---|
trello_create_check_item | Adicionar um item a um checklist |
trello_get_check_items | Obter todos os itens em um checklist |
trello_get_check_item | Obter um item de verificação específico |
trello_update_check_item | Atualizar item (nome, estado, data de vencimento, responsável) |
trello_delete_check_item | Excluir um item de verificação |
Pesquisa
| Ferramenta | Descrição |
|---|---|
trello_search | Pesquisar em quadros, cartões, membros, organizações |
Configuração
Modo somente leitura
Defina TRELLO_READ_ONLY=true para desabilitar todas as operações de escrita. As 25 ferramentas de escrita ficam ocultas de tools/list e são rejeitadas se chamadas mesmo assim, deixando as 25 ferramentas de leitura disponíveis.
A política é uma lista de permissões de ferramentas de leitura, portanto falha de forma fechada: qualquer ferramenta adicionada posteriormente é tratada como escrita até ser explicitamente classificada como leitura.
{
"env": {
"TRELLO_API_KEY": "your-key",
"TRELLO_TOKEN": "your-token",
"TRELLO_READ_ONLY": "true"
}
}
Modo compacto
Várias ferramentas suportam um parâmetro compact (padrão: true) que retorna campos mínimos para reduzir o tamanho da resposta. Defina compact: false para obter detalhes completos, incluindo descrições, etiquetas, membros e campos personalizados.
Ferramentas com modo compacto: get_board_details, trello_get_board_cards, trello_get_list_cards, trello_search.
Download de anexos de imagem
Quando get_card é chamado e o cartão tem anexos de imagem, o servidor os baixa e os retorna como blocos de conteúdo de imagem MCP inline junto com o JSON — permitindo que o cliente veja as imagens do cartão diretamente. Os downloads são restritos a URLs hospedadas no Trello (*.trello.com, trello-attachments.s3.amazonaws.com) e limitados a 5 MB por imagem para mitigar riscos de SSRF e inchaço de payload.
Defina TRELLO_DOWNLOAD_IMAGES=false (ou 0/no/off) para desabilitar completamente — o servidor pulará a chamada extra de getCardAttachments e retornará apenas texto. O padrão é habilitado.
Registro de logs
Defina TRELLO_MCP_LOGGING=true para habilitar o registro em arquivo via Pino. Os logs são gravados em dist/logs/app.log.
Desenvolvimento
Estrutura do projeto
src/
index.ts Entry point (credential injection, tool routing, read-only enforcement)
tools/
boards.ts Board tools (list, details, lists, filter)
cards.ts Card tools (CRUD, archive)
lists.ts List tools (cards, create list, comments)
members.ts Member tools (user boards, member details)
search.ts Search tool
advanced.ts Labels, attachments, members on cards, custom fields
checklists.ts Checklist and check item tools (13 tools)
trello/
client.ts TrelloClient (API calls, retry, rate limiting)
types/
trello.ts TypeScript interfaces
utils/
validation.ts Zod schemas, extractCredentials, extractTrelloId
logger.ts Pino file logger
readOnly.ts Read-only mode policy (read-tool allowlist)
health.ts Health check utility
appInsights.ts Telemetry (no-op)
tests/
validation.test.ts Validation and credential extraction tests
trelloClient.test.ts API client tests (mocked fetch)
tools.test.ts Tool handler tests (mocked client)
readOnly.test.ts Read-only mode policy tests
Build e teste
npm install
npm run build
npm test
npm run type-check
Padrões principais
- Resolução de IDs: Todas as ferramentas aceitam URLs do Trello, IDs curtos ou IDs hexadecimais completos de 24 caracteres via
extractTrelloId() - Fallback de credenciais:
extractCredentials()verifica os argumentos primeiro, depois as variáveis de ambiente - Tentativas com backoff: O TrelloClient tenta novamente em erros 500/erros de rede (3 tentativas, backoff exponencial)
- Limitação de taxa: Extrai e retorna cabeçalhos
x-rate-limit-*de cada resposta - Validação: Esquemas Zod validam todas as entradas antes das chamadas à API
Contribuindo
Pull requests são bem-vindos e revisados ativamente. Este fork é mantido por um usuário extensivo do Trello, então os recursos recebem testes no mundo real.
Se você fez um fork do projeto original e construiu algo útil, envie um PR aqui em vez de manter um fork separado — é mais fácil para todos se beneficiarem de um único projeto bem mantido.
Para contribuir:
- Faça um fork deste repositório
- Crie um branch de recurso
- Adicione testes para novas funcionalidades
- Execute
npm testenpm run build - Envie um pull request com uma descrição clara do que e porquê
Créditos
Este projeto é um fork de kocakli/Trello-Desktop-MCP. Recursos e ideias foram incorporados de todo o ecossistema de forks:
- kocakli — Projeto original, rebranding agnóstico de cliente MCP, correção de registro de logs em stderr
- kevinhillinger — Arquitetura de injeção de credenciais, exclusão de etiquetas, gerenciamento de membros em cartões, arquivamento de cartões, tipos TypeScript expandidos, camada de recursos
- zonca — Tratamento centralizado de credenciais com fallback de variáveis de ambiente, ferramentas de gerenciamento de etiquetas, testes unitários abrangentes, tipos TypeScript aprimorados substituindo
any - dbz-max — Suporte a campos personalizados (campos personalizados do quadro + itens de campos personalizados do cartão)
- maks244 — Conceito de modo somente leitura, filtragem de listas por nome, remoção de credenciais de logs de telemetria
- jantman — Correção para valores numéricos de
posrejeitados quando enviados como strings por clientes MCP - ThatIanMcShane — Atualização de
@modelcontextprotocol/sdk1.0.4 → 1.29.0 para corrigir timeouts de conexão com versões atuais do Claude Code - josh-argyle — Download automático de anexos de imagem em respostas de
get_cardcomo blocos de conteúdo de imagem MCP inline (com allowlist e limite de tamanho adicionados durante a portabilidade) - l-double-l —
trello_update_list,trello_get_board_actionscom paginação since/before, e a correção de injeção de ID de membro (ampliada durante a portabilidade para validar todos os campos de ID) - Gileba — Implementação independente de
trello_update_list, que informou o formato da ferramenta portada - TheCodeSharman —
idShort(o número de cartão#Nlocal do quadro) exibido em todas as projeções de cartão, etrello_get_card_by_numberpara resolver um número de cartão citado para um cartão
Licença
MIT