trello-mcp-server

by v4lheru
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides complete access to Trello boards, lists, cards, members, labels, and checklists through a comprehensive set of tools for interacting with the Trello API

Servidor Trello MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para interactuar con la API de Trello. Desarrollado sobre la plantilla genérica de servidor MCP.

Características

  • Integración con Trello : acceso completo a tableros, listas, tarjetas y más de Trello
  • Cobertura completa de API : soporte para todas las operaciones principales de Trello
  • Arquitectura modular : clara separación de preocupaciones con una estructura bien definida
  • Seguridad de tipos : compatibilidad total con TypeScript con tipos adecuados para objetos de Trello
  • Manejo de errores : gestión robusta de errores en todo el código base

Estructura del proyecto

trello-mcp-server/ ├── src/ │ ├── services/ # Service classes for Trello API interactions │ │ ├── base-service.ts # Abstract base service with common functionality │ │ ├── trello-service.ts # Core Trello API service │ │ ├── board-service.ts # Service for Trello boards │ │ ├── list-service.ts # Service for Trello lists │ │ ├── card-service.ts # Service for Trello cards │ │ ├── member-service.ts # Service for Trello members │ │ ├── label-service.ts # Service for Trello labels │ │ ├── checklist-service.ts # Service for Trello checklists │ │ └── service-factory.ts # Factory for creating service instances │ ├── tools/ # MCP tool definitions and handlers │ │ ├── board-tools.ts # Board tool definitions │ │ ├── board-tool-handlers.ts # Board tool handlers │ │ ├── list-tools.ts # List tool definitions │ │ ├── list-tool-handlers.ts # List tool handlers │ │ ├── card-tools.ts # Card tool definitions │ │ ├── card-tool-handlers.ts # Card tool handlers │ │ ├── member-tools.ts # Member tool definitions │ │ ├── member-tool-handlers.ts # Member tool handlers │ │ ├── label-tools.ts # Label tool definitions │ │ ├── label-tool-handlers.ts # Label tool handlers │ │ ├── checklist-tools.ts # Checklist tool definitions │ │ ├── checklist-tool-handlers.ts # Checklist tool handlers │ │ ├── trello-tools.ts # Combined tool definitions │ │ └── trello-tool-handlers.ts # Combined tool handlers │ ├── types/ # TypeScript type definitions │ │ └── trello-types.ts # Trello type definitions │ ├── config.ts # Configuration management │ └── index.ts # Main entry point ├── .env.example # Example environment variables ├── package.json # Project dependencies and scripts ├── tsconfig.json # TypeScript configuration └── README.md # Project documentation

Empezando

Prerrequisitos

  • Node.js 18 o superior
  • npm o hilo
  • Clave API y token de Trello

Instalación

  1. Clonar este repositorio:
    git clone https://github.com/yourusername/trello-mcp-server.git cd trello-mcp-server
  2. Instalar dependencias:
    npm install
  3. Cree un archivo .env basado en .env.example :
    cp .env.example .env
  4. Edite el archivo .env con su clave API y token de Trello:
    TRELLO_API_KEY=your_trello_api_key TRELLO_TOKEN=your_trello_token
    Puede obtenerlos desde el Portal para desarrolladores de Trello .

Construyendo y funcionando

  1. Construir el proyecto:
    npm run build
  2. Ejecutar el servidor:
    npm start

Herramientas disponibles

El servidor proporciona herramientas para interactuar con todos los recursos principales de Trello:

Herramientas de tablero

  • get_boards - Obtener todos los tableros para el usuario autenticado
  • get_board - Obtener un tablero específico por ID
  • create_board - Crea un nuevo tablero
  • update_board - Actualizar un tablero existente
  • delete_board - Eliminar un tablero
  • get_board_lists - Obtener todas las listas de un tablero
  • get_board_members - Obtener todos los miembros de un tablero
  • get_board_labels - Obtener todas las etiquetas de un tablero
  • close_board - Cerrar (archivar) un tablero
  • reopen_board - Reabrir un tablero cerrado

Herramientas de lista

  • get_list - Obtener una lista específica por ID
  • create_list - Crea una nueva lista en un tablero
  • update_list - Actualizar una lista existente
  • archive_list - Archivar una lista
  • unarchive_list - Desarchivar una lista
  • move_list_to_board - Mover una lista a un tablero diferente
  • get_cards_in_list - Obtener todas las tarjetas en una lista
  • archive_all_cards - Archivar todas las tarjetas en una lista
  • move_all_cards - Mover todas las tarjetas de una lista a otra lista
  • update_list_position - Actualizar la posición de una lista en un tablero
  • update_list_name - Actualizar el nombre de una lista
  • subscribe_to_list - Suscribirse a una lista

Herramientas de tarjeta

  • get_card - Obtener una tarjeta específica por ID
  • create_card - Crea una nueva tarjeta
  • update_card - Actualizar una tarjeta existente
  • delete_card - Eliminar una tarjeta
  • archive_card - Archivar una tarjeta
  • unarchive_card - Desarchivar una tarjeta
  • move_card_to_list - Mover una tarjeta a una lista diferente
  • add_comment - Agregar un comentario a una tarjeta
  • get_comments - Obtener comentarios en una tarjeta
  • add_attachment - Agregar un archivo adjunto a una tarjeta
  • get_attachments - Obtener archivos adjuntos en una tarjeta
  • delete_attachment - Eliminar un archivo adjunto de una tarjeta
  • add_member - Agregar un miembro a una tarjeta
  • remove_member - Eliminar un miembro de una tarjeta
  • add_label - Agregar una etiqueta a una tarjeta
  • remove_label - Quitar una etiqueta de una tarjeta
  • set_due_date - Establece la fecha de vencimiento de una tarjeta
  • set_due_complete - Marcar la fecha de vencimiento de una tarjeta como completa o incompleta

Herramientas para miembros

  • get_me - Obtener el miembro autenticado (usuario actual)
  • get_member - Obtener un miembro específico por ID o nombre de usuario
  • get_member_boards - Obtener los tableros a los que pertenece un miembro
  • get_member_cards - Obtener las tarjetas asignadas a un miembro
  • get_boards_invited - Obtener los tableros a los que un miembro ha sido invitado
  • get_member_organizations - Obtener las organizaciones a las que pertenece un miembro
  • get_notifications - Recibir notificaciones para el miembro autenticado
  • update_me - Actualizar la información del miembro autenticado
  • get_avatar - Obtener el avatar del miembro autenticado
  • search_members - Buscar miembros por nombre
  • get_board_members - Obtener miembros de un tablero
  • get_organization_members - Obtener miembros de una organización
  • get_card_members - Obtener los miembros asignados a una tarjeta

Herramientas de etiquetas

  • get_label - Obtener una etiqueta específica por ID
  • create_label - Crea una nueva etiqueta en un tablero
  • update_label - Actualizar una etiqueta existente
  • delete_label - Eliminar una etiqueta
  • get_board_labels - Obtener todas las etiquetas de un tablero
  • update_label_name - Actualizar el nombre de una etiqueta
  • update_label_color - Actualizar el color de una etiqueta
  • create_label_on_card - Crea una nueva etiqueta directamente en una tarjeta
  • get_card_labels - Obtener todas las etiquetas de una tarjeta
  • add_label_to_card - Agregar una etiqueta a una tarjeta
  • remove_label_from_card - Quitar una etiqueta de una tarjeta

Herramientas de lista de verificación

  • get_checklist - Obtener una lista de verificación específica por ID
  • create_checklist - Crea una nueva lista de verificación en una tarjeta
  • update_checklist - Actualizar una lista de verificación existente
  • delete_checklist - Eliminar una lista de verificación
  • get_checkitems - Obtener todos los elementos de verificación en una lista de verificación
  • create_checkitem - Crea un nuevo elemento de verificación en una lista de verificación
  • get_checkitem - Obtener un elemento de verificación específico en una lista de verificación
  • update_checkitem - Actualizar un elemento de verificación en una lista de verificación
  • delete_checkitem - Eliminar un elemento de verificación de una lista de verificación
  • update_checklist_name - Actualizar el nombre de una lista de verificación
  • update_checklist_position - Actualizar la posición de una lista de verificación en una tarjeta
  • get_checklist_board - Obtener el tablero en el que se encuentra una lista de verificación
  • get_checklist_card - Obtener la tarjeta en la que se encuentra una lista de verificación
  • update_checkitem_state_on_card - Actualizar el estado de un elemento de verificación en una tarjeta

Configuración

El servidor utiliza un sistema de configuración centralizado en src/config.ts . La configuración se puede realizar mediante:

  • Variables de entorno
  • Argumentos de la línea de comandos (con --env KEY=VALUE )
  • Valores predeterminados en el código

Variables de entorno requeridas:

  • TRELLO_API_KEY - Tu clave API de Trello
  • TRELLO_TOKEN - Su token de API de Trello

Manejo de errores

El servidor incluye un manejo integral de errores:

  • Manejo de errores a nivel de servicio con soporte de limitación de velocidad
  • Manejo de errores a nivel de herramienta con mensajes de error adecuados
  • Manejo de errores del protocolo MCP
  • Manejo de errores de la API de Trello

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

Se conecta a Trello con todas las herramientas disponibles que pude encontrar en la referencia de API

  1. Features
    1. Project Structure
      1. Getting Started
        1. Prerequisites
        2. Installation
        3. Building and Running
      2. Available Tools
        1. Board Tools
        2. List Tools
        3. Card Tools
        4. Member Tools
        5. Label Tools
        6. Checklist Tools
      3. Configuration
        1. Error Handling
          1. License
            ID: m5g1pfsvxo