@sorodriguez/mcp-trello
v1.0.0
Published
Servidor MCP para Trello: 35 herramientas para que tu IA lea tareas, cree y mueva tarjetas, comente, gestione checklists, etiquetas y miembros
Maintainers
Readme
@sorodriguez/mcp-trello
Servidor MCP (Model Context Protocol) para Trello. Conecta tu asistente de IA a tus tableros y déjalo trabajar: leer tus tareas pendientes, crear tarjetas, moverlas entre columnas, comentar, marcar checklists, asignar miembros y aplicar etiquetas.
35 herramientas que cubren la API de Trello de punta a punta.
Tú: "¿Qué tengo pendiente esta semana? Mueve la tarjeta de login a Done
y comenta que ya quedó desplegada."
IA: [trello_get_my_cards] → [trello_move_card] → [trello_add_comment] ✅Tabla de contenidos
- Instalación rápida
- Obtener credenciales de Trello
- Configuración por cliente
- Cómo funciona
- Referencia de herramientas
- Ejemplos de uso
- Solución de problemas
- Desarrollo
Instalación rápida
No hace falta instalar nada de forma permanente: npx descarga y ejecuta el servidor bajo demanda.
npx -y @sorodriguez/mcp-trelloO instálalo globalmente si prefieres fijar la versión:
npm install -g @sorodriguez/mcp-trelloRequiere Node.js 18 o superior.
Obtener credenciales de Trello
Necesitas dos valores. Toma unos 2 minutos.
1. API Key
- Entra a https://trello.com/power-ups/admin
- Pulsa New y crea un Power-Up (nombre libre, por ejemplo
MCP Trello; el resto de campos puedes dejarlos en blanco o con tu propia URL) - Abre la pestaña API Key y pulsa Generate a new API Key
- Copia el valor: esa es tu
TRELLO_API_KEY
2. Token
Abre esta URL en el navegador, reemplazando TU_API_KEY por la clave del paso anterior:
https://trello.com/1/authorize?expiration=never&scope=read,write,account&response_type=token&name=MCP%20Trello&key=TU_API_KEYAutoriza la aplicación y Trello mostrará el token en pantalla. Ese es tu TRELLO_TOKEN.
[!WARNING] El token da acceso de lectura y escritura a todos tus tableros. Trátalo como una contraseña: no lo subas a un repositorio ni lo compartas. Si se filtra, revócalo desde https://trello.com/my/account → Aplicaciones conectadas.
Si prefieres un token temporal, cambia
expiration=neverporexpiration=30daysen la URL.
Configuración por cliente
Las credenciales se pasan siempre como variables de entorno: TRELLO_API_KEY y TRELLO_TOKEN.
Claude Code
claude mcp add trello \
--env TRELLO_API_KEY=tu_api_key \
--env TRELLO_TOKEN=tu_token \
-- npx -y @sorodriguez/mcp-trelloVerifica que quedó conectado con claude mcp list.
Claude Desktop
Edita el archivo de configuración:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"trello": {
"command": "npx",
"args": ["-y", "@sorodriguez/mcp-trello"],
"env": {
"TRELLO_API_KEY": "tu_api_key",
"TRELLO_TOKEN": "tu_token"
}
}
}
}Reinicia Claude Desktop por completo (ciérralo desde la bandeja del sistema, no solo la ventana).
Cursor
En ~/.cursor/mcp.json (global) o .cursor/mcp.json (por proyecto), con el mismo bloque mcpServers del ejemplo anterior.
VS Code (GitHub Copilot)
En .vscode/mcp.json:
{
"servers": {
"trello": {
"command": "npx",
"args": ["-y", "@sorodriguez/mcp-trello"],
"env": {
"TRELLO_API_KEY": "tu_api_key",
"TRELLO_TOKEN": "tu_token"
}
}
}
}Cualquier otro cliente MCP
El servidor habla MCP sobre stdio. Cualquier cliente compatible funciona con:
- comando:
npx - argumentos:
["-y", "@sorodriguez/mcp-trello"] - entorno:
TRELLO_API_KEY,TRELLO_TOKEN
Cómo funciona
El servidor es un puente delgado entre tu IA y la API REST de Trello:
┌─────────────┐ MCP/stdio ┌──────────────┐ HTTPS ┌────────────┐
│ Tu cliente │ ────────────► │ mcp-trello │ ────────► │ Trello API │
│ (la IA) │ ◄──────────── │ 35 tools │ ◄──────── │ │
└─────────────┘ JSON └──────────────┘ JSON └────────────┘Tres decisiones de diseño que te conviene conocer:
Respuestas recortadas. La API de Trello devuelve ~40 campos por tarjeta; el servidor entrega solo los ~12 relevantes. Esto reduce mucho el consumo de contexto de la IA y hace las respuestas más rápidas y baratas.
Herramientas anotadas. Cada herramienta declara si es de solo lectura (readOnlyHint) o destructiva (destructiveHint). Los clientes que respetan estas anotaciones pueden pedirte confirmación antes de borrar algo.
Errores contenidos. Un fallo de la API de Trello (credenciales inválidas, tarjeta inexistente, permisos) se devuelve a la IA como un error legible en lugar de tumbar el servidor. La IA puede corregir y reintentar sola.
Flujo típico
Los IDs de Trello no son adivinables, así que la IA normalmente encadena llamadas así:
trello_list_boards → descubre los tableros y sus IDs
trello_get_lists → columnas del tablero elegido
trello_get_cards → tarjetas de una columna
trello_get_card → detalle completo de una tarjeta
trello_add_comment → actúaAtajos frecuentes: trello_get_my_cards responde "¿qué tengo pendiente?" en una sola llamada (ya resuelve los nombres de tablero y lista), y trello_search encuentra tarjetas por texto sin recorrer la jerarquía.
Referencia de herramientas
Tableros
| Herramienta | Qué hace |
|---|---|
| trello_list_boards | Lista tus tableros. Punto de partida habitual |
| trello_get_board | Detalle de un tablero, con listas, etiquetas y miembros |
| trello_create_board | Crea un tablero |
| trello_update_board | Renombra, cambia descripción o archiva |
Listas (columnas)
| Herramienta | Qué hace |
|---|---|
| trello_get_lists | Columnas de un tablero |
| trello_create_list | Crea una columna |
| trello_update_list | Renombra, reposiciona o archiva |
| trello_archive_all_cards | Archiva todas las tarjetas de una columna |
Tarjetas
| Herramienta | Qué hace |
|---|---|
| trello_get_cards | Tarjetas de una lista o de un tablero completo |
| trello_get_card | Detalle completo: descripción, checklists, comentarios, adjuntos |
| trello_create_card | Crea una tarjeta con miembros, etiquetas y fechas |
| trello_update_card | Edita título, descripción, fechas, miembros, etiquetas; archiva |
| trello_move_card | Mueve entre listas o tableros — así se cambia de estado |
| trello_delete_card | Borrado permanente ⚠️ |
| trello_add_attachment | Adjunta una URL a la tarjeta |
Comentarios y actividad
| Herramienta | Qué hace |
|---|---|
| trello_add_comment | Comenta una tarjeta (Markdown y menciones @usuario) |
| trello_get_comments | Lee los comentarios, del más reciente al más antiguo |
| trello_update_comment | Edita un comentario propio |
| trello_delete_comment | Elimina un comentario |
| trello_get_activity | Historial de un tablero o tarjeta |
Checklists
| Herramienta | Qué hace |
|---|---|
| trello_get_checklists | Checklists de una tarjeta con el estado de cada ítem |
| trello_create_checklist | Crea una checklist, opcionalmente con ítems iniciales |
| trello_add_checklist_item | Agrega un ítem |
| trello_update_checklist_item | Marca completo/incompleto o renombra |
| trello_delete_checklist_item | Elimina un ítem |
Etiquetas
| Herramienta | Qué hace |
|---|---|
| trello_get_labels | Etiquetas disponibles en el tablero |
| trello_create_label | Crea una etiqueta (10 colores de Trello) |
| trello_add_label_to_card | Aplica una etiqueta a una tarjeta |
| trello_remove_label_from_card | Quita una etiqueta de una tarjeta |
Miembros y búsqueda
| Herramienta | Qué hace |
|---|---|
| trello_get_me | Tu usuario y tu memberId |
| trello_get_board_members | Miembros del tablero con sus IDs |
| trello_assign_member | Asigna a alguien a una tarjeta |
| trello_unassign_member | Quita a alguien de una tarjeta |
| trello_get_my_cards | Todas tus tarjetas asignadas, con nombre de tablero y lista resueltos |
| trello_search | Búsqueda por texto con operadores de Trello |
Operadores de búsqueda soportados en trello_search: is:open, is:archived, due:week, due:overdue, label:bug, list:Doing, @me, member:usuario, board:nombre. Se pueden combinar: @me is:open due:week.
Ejemplos de uso
Una vez conectado, hablas en lenguaje natural con tu IA:
Consultar
"¿Qué tareas tengo pendientes en Trello?" "Muéstrame todo lo que está en la columna En revisión del tablero Producto" "¿Qué se movió esta semana en el Sprint 12?" "Busca todas las tarjetas con etiqueta bug que estén vencidas"
Crear y organizar
"Crea una tarjeta 'Migrar auth a OAuth' en Backlog del tablero Producto, asígnamela y ponle vencimiento el viernes" "Agrega una checklist de QA a esa tarjeta con: probar login, probar logout, revisar tokens expirados" "Crea un tablero para el proyecto Alpha con columnas Backlog, En curso, Revisión y Listo"
Actualizar
"Mueve la tarjeta del login a Done y comenta que quedó desplegada en producción" "Marca los tres primeros ítems de la checklist como completos" "Pon la etiqueta urgente a todas mis tarjetas vencidas"
Reportar
"Resume el estado del tablero Sprint 12: cuántas tarjetas hay por columna y cuáles están vencidas" "Dame un resumen de los comentarios de la tarjeta de refactor de la última semana"
Solución de problemas
Faltan credenciales de Trello
El servidor arrancó sin TRELLO_API_KEY o TRELLO_TOKEN. Verifica que las definiste en el bloque env de la configuración de tu cliente, no en tu shell: los clientes MCP lanzan el proceso con su propio entorno.
Error de la API de Trello (401): invalid key
La API key es incorrecta. Cópiala de nuevo desde https://trello.com/power-ups/admin.
Error de la API de Trello (401): invalid token
El token es inválido o fue revocado. Genera uno nuevo con la URL de autorización, asegurándote de usar tu API key correcta en el parámetro key=.
Error de la API de Trello (400): invalid id
El ID no corresponde al tipo de objeto esperado (por ejemplo, un boardId donde se pedía un listId). Pide a la IA que liste primero los objetos para obtener los IDs correctos.
El cliente no ve las herramientas
Reinicia el cliente por completo. En Claude Desktop, ciérralo desde la bandeja del sistema. Comprueba también que npx -y @sorodriguez/mcp-trello corre sin errores en tu terminal.
Cambios que no aparecen en Trello
El token debe tener scope de escritura. Si generaste el token sin scope=read,write en la URL, solo tendrás lectura: genera uno nuevo con la URL completa de este README.
Notas de uso
- Los IDs de Trello son cadenas hexadecimales de 24 caracteres. Los
shortLinkde las URLs (trello.com/c/AbCdEfGh) también sirven como identificador de tarjeta. trello_update_cardconidMembersoidLabelsreemplaza la lista completa. Para agregar de a uno, usatrello_assign_memberytrello_add_label_to_card.- Las fechas van en ISO 8601:
2026-08-01T17:00:00Z. - Prefiere archivar (
trello_update_cardconclosed: true) antes quetrello_delete_card: el borrado es irreversible. - La API de Trello limita a 300 peticiones cada 10 segundos por token. El uso normal desde una IA no se acerca a ese límite.
Desarrollo
git clone <tu-repo>
cd mpc-trello
npm install
npm run build| Script | Qué hace |
|---|---|
| npm run build | Compila TypeScript a dist/ |
| npm run dev | Compilación en modo watch |
| npm run typecheck | Solo verificación de tipos |
| npm start | Ejecuta el servidor compilado |
Estructura
src/
├── index.ts Servidor MCP: registra las tools y maneja errores
├── trello-client.ts Cliente HTTP de la API de Trello
└── tools/
├── types.ts defineTool() y tipos compartidos
├── boards.ts lists.ts cards.ts
├── comments.ts checklists.ts
├── labels.ts members.ts search.ts
└── index.ts Agrega todas las herramientasAgregar una herramienta
Define la herramienta con defineTool en el módulo que corresponda y expórtala en el arreglo de ese módulo. src/index.ts la registra automáticamente:
defineTool({
name: "trello_mi_herramienta",
title: "Título legible",
description: "Qué hace y cuándo usarla. Lo lee la IA para decidir.",
readOnly: true,
inputSchema: {
cardId: z.string().describe("ID de la tarjeta"),
},
handler: (args, client) => client.get(`/cards/${args.cardId}`),
})Probar localmente
Apunta tu cliente MCP al build local en lugar del paquete publicado:
{
"command": "node",
"args": ["/ruta/absoluta/a/mpc-trello/dist/index.js"],
"env": { "TRELLO_API_KEY": "...", "TRELLO_TOKEN": "..." }
}Licencia
MIT — ver LICENSE.
