Trello

Gerencie e interaja com quadros, listas e cartões do Trello.

Documentação

MCP Server Trello

Um servidor Model Context Protocol (MCP) que fornece ferramentas para interagir com quadros do Trello. Este servidor permite integração perfeita com a API do Trello, lidando automaticamente com limitação de taxa, segurança de tipos e tratamento de erros.

Recursos

  • Integração Completa com Quadros do Trello: Interaja com cartões, listas e atividades do quadro
  • Limitação de Taxa Integrada: Respeita os limites da API do Trello (300 requisições/10s por chave de API, 100 requisições/10s por token)
  • Implementação com Segurança de Tipos: Escrito em TypeScript com definições de tipos abrangentes
  • Validação de Entrada: Validação robusta para todas as entradas da API
  • Tratamento de Erros: Tratamento de erros elegante com mensagens informativas

Instalação

npm install @modelcontextprotocol/mcp-server-trello

Configuração

Adicione o servidor ao seu arquivo de configurações do MCP com a seguinte configuração:

{
  "mcpServers": {
    "trello": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-trello"],
      "env": {
        "TRELLO_API_KEY": "your-api-key",
        "TRELLO_TOKEN": "your-token",
        "TRELLO_BOARD_ID": "your-board-id"
      }
    }
  }
}

Variáveis de Ambiente Necessárias

  • TRELLO_API_KEY: Sua chave de API do Trello (obtenha em https://trello.com/app-key)
  • TRELLO_TOKEN: Seu token do Trello (gere usando sua chave de API)
  • TRELLO_BOARD_ID: ID do quadro do Trello com o qual interagir (encontrado na URL do quadro)

Ferramentas Disponíveis

get_cards_by_list_id

Busca todos os cartões de uma lista específica.

{
  name: 'get_cards_by_list_id',
  arguments: {
    listId: string  // ID of the Trello list
  }
}

get_lists

Recupera todas as listas do quadro configurado.

{
  name: 'get_lists',
  arguments: {}
}

get_recent_activity

Busca a atividade recente no quadro.

{
  name: 'get_recent_activity',
  arguments: {
    limit?: number  // Optional: Number of activities to fetch (default: 10)
  }
}

add_card_to_list

Adiciona um novo cartão a uma lista especificada.

{
  name: 'add_card_to_list',
  arguments: {
    listId: string,       // ID of the list to add the card to
    name: string,         // Name of the card
    description?: string, // Optional: Description of the card
    dueDate?: string,    // Optional: Due date (ISO 8601 format)
    labels?: string[]    // Optional: Array of label IDs
  }
}

update_card_details

Atualiza os detalhes de um cartão existente.

{
  name: 'update_card_details',
  arguments: {
    cardId: string,       // ID of the card to update
    name?: string,        // Optional: New name for the card
    description?: string, // Optional: New description
    dueDate?: string,    // Optional: New due date (ISO 8601 format)
    labels?: string[]    // Optional: New array of label IDs
  }
}

archive_card

Envia um cartão para o arquivo.

{
  name: 'archive_card',
  arguments: {
    cardId: string  // ID of the card to archive
  }
}

add_list_to_board

Adiciona uma nova lista ao quadro.

{
  name: 'add_list_to_board',
  arguments: {
    name: string  // Name of the new list
  }
}

archive_list

Envia uma lista para o arquivo.

{
  name: 'archive_list',
  arguments: {
    listId: string  // ID of the list to archive
  }
}

get_my_cards

Busca todos os cartões atribuídos ao usuário atual.

{
  name: 'get_my_cards',
  arguments: {}
}

Limitação de Taxa

O servidor implementa um algoritmo de token bucket para limitação de taxa, a fim de cumprir os limites da API do Trello:

  • 300 requisições por 10 segundos por chave de API
  • 100 requisições por 10 segundos por token

A limitação de taxa é tratada automaticamente, e as requisições serão enfileiradas se os limites forem atingidos.

Tratamento de Erros

O servidor fornece mensagens de erro detalhadas para vários cenários:

  • Parâmetros de entrada inválidos
  • Limite de taxa excedido
  • Erros de autenticação da API
  • Problemas de rede
  • IDs de quadro/lista/cartão inválidos

Desenvolvimento

Pré-requisitos

  • Node.js 16 ou superior
  • npm ou yarn

Configuração do Ambiente

  1. Clone o repositório
git clone https://github.com/modelcontextprotocol/server-trello.git
cd server-trello
  1. Instale as dependências
npm install
  1. Compile o projeto
npm run build

Executando Testes

npm test

Contribuição

Contribuições são bem-vindas! Leia nosso Guia de Contribuição para detalhes sobre nosso código de conduta e o processo para enviar pull requests.

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Agradecimentos