Trello

Gestiona e interactúa con tableros, listas y tarjetas de Trello.

Documentación

Servidor MCP Trello

Un servidor de Model Context Protocol (MCP) que proporciona herramientas para interactuar con tableros de Trello. Este servidor permite una integración fluida con la API de Trello mientras maneja automáticamente la limitación de velocidad, la seguridad de tipos y el manejo de errores.

Características

  • Integración completa con tableros de Trello: Interactúa con tarjetas, listas y actividades del tablero
  • Limitación de velocidad integrada: Respeta los límites de la API de Trello (300 solicitudes/10s por clave de API, 100 solicitudes/10s por token)
  • Implementación con seguridad de tipos: Escrito en TypeScript con definiciones de tipos exhaustivas
  • Validación de entrada: Validación robusta para todas las entradas de la API
  • Manejo de errores: Manejo de errores elegante con mensajes informativos

Instalación

npm install @modelcontextprotocol/mcp-server-trello

Configuración

Agrega el servidor a tu archivo de configuración de MCP con la siguiente configuración:

{
  "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"
      }
    }
  }
}

Variables de entorno requeridas

  • TRELLO_API_KEY: Tu clave de API de Trello (obtenerla de https://trello.com/app-key)
  • TRELLO_TOKEN: Tu token de Trello (generarlo usando tu clave de API)
  • TRELLO_BOARD_ID: ID del tablero de Trello con el que interactuar (se encuentra en la URL del tablero)

Herramientas disponibles

get_cards_by_list_id

Obtener todas las tarjetas de una lista específica.

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

get_lists

Recuperar todas las listas del tablero configurado.

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

get_recent_activity

Obtener la actividad reciente en el tablero.

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

add_card_to_list

Agregar una nueva tarjeta a una 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

Actualizar los detalles de una tarjeta 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

Enviar una tarjeta al archivo.

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

add_list_to_board

Agregar una nueva lista al tablero.

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

archive_list

Enviar una lista al archivo.

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

get_my_cards

Obtener todas las tarjetas asignadas al usuario actual.

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

Limitación de velocidad

El servidor implementa un algoritmo de cubo de tokens para la limitación de velocidad con el fin de cumplir con los límites de la API de Trello:

  • 300 solicitudes por 10 segundos por clave de API
  • 100 solicitudes por 10 segundos por token

La limitación de velocidad se maneja automáticamente, y las solicitudes se pondrán en cola si se alcanzan los límites.

Manejo de errores

El servidor proporciona mensajes de error detallados para varios escenarios:

  • Parámetros de entrada no válidos
  • Límite de velocidad excedido
  • Errores de autenticación de la API
  • Problemas de red
  • IDs de tablero/lista/tarjeta no válidos

Desarrollo

Requisitos previos

  • Node.js 16 o superior
  • npm o yarn

Configuración

  1. Clonar el repositorio
git clone https://github.com/modelcontextprotocol/server-trello.git
cd server-trello
  1. Instalar dependencias
npm install
  1. Compilar el proyecto
npm run build

Ejecutar pruebas

npm test

Contribuciones

¡Las contribuciones son bienvenidas! Por favor, lee nuestra Guía de contribución para conocer los detalles sobre nuestro código de conducta y el proceso para enviar solicitudes de extracción.

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENCIA para más detalles.

Agradecimientos