Planka
STDIOMCP server for Planka Kanban board integration and management with Claude applications.
MCP server for Planka Kanban board integration and management with Claude applications.
Servidor MCP (Model Context Protocol) para integración completa con tableros Kanban de Planka. Permite gestionar proyectos, tableros, tarjetas, tareas y colaboración directamente desde aplicaciones MCP como Claude.
mcp_kanban_project_board_managerGestiona proyectos y tableros con operaciones CRUD completas.
action, id, projectId, name, position, boardIdmcp_kanban_list_managerAdministra listas dentro de los tableros.
action, id, boardId, name, positionmcp_kanban_card_managerGestión completa de tarjetas Kanban.
action, id, listId, name, description, tasksmcp_kanban_stopwatchControl de cronómetros para seguimiento de tiempo.
action, idmcp_kanban_label_managerGestión de etiquetas y categorización.
action, boardId, name, color, cardId, labelIdmcp_kanban_task_managerControl de tareas y subtareas.
action, cardId, name, tasks, isCompletedmcp_kanban_comment_managerSistema de comentarios para colaboración.
action, cardId, textmcp_kanban_membership_managerControl de acceso y permisos por tablero.
action, boardId, userId, role, canCommentnpm install
cp config.example.env .env # Editar .env con la configuración de su servidor Planka
npm run build
| Variable | Descripción | Por Defecto |
|---|---|---|
PLANKA_BASE_URL | URL base del servidor Planka | http://localhost:3000 |
PLANKA_AGENT_EMAIL | Email para autenticación | - |
PLANKA_AGENT_PASSWORD | Contraseña para autenticación | - |
PLANKA_ALLOW_INSECURE | Permitir conexiones HTTPS sin validar certificado SSL (útil para certificados autofirmados o internos) | false |
Claude Desktop:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/claude/claude_desktop_config.jsonConfiguración básica con NPX (RECOMENDADO):
{ "mcpServers": { "planka": { "command": "npx", "args": ["@grec0/mcp-planka@latest"], "env": { "PLANKA_BASE_URL": "http://localhost:3000", "PLANKA_AGENT_EMAIL": "[email protected]", "PLANKA_AGENT_PASSWORD": "demo" } } } }
⚠️ IMPORTANTE: Usar
@latestgarantiza que se use la versión más reciente del paquete. Sin esto, puedes obtener errores como "no server info found".
Para servidor Planka remoto:
{ "mcpServers": { "planka": { "command": "npx", "args": ["@grec0/mcp-planka@latest"], "env": { "PLANKA_BASE_URL": "https://tu-planka-server.com", "PLANKA_AGENT_EMAIL": "[email protected]", "PLANKA_AGENT_PASSWORD": "tu-contraseña" } } } }
Para servidor Planka con certificado SSL autofirmado o interno:
{ "mcpServers": { "planka": { "command": "npx", "args": ["@grec0/mcp-planka@latest"], "env": { "PLANKA_BASE_URL": "https://planka-interno.empresa.com", "PLANKA_AGENT_EMAIL": "[email protected]", "PLANKA_AGENT_PASSWORD": "tu-contraseña", "PLANKA_ALLOW_INSECURE": "true" } } } }
{ "mcpServers": { "planka": { "command": "node", "args": ["C:/ruta/a/kanban-mcp/dist/index.js"], "env": { "PLANKA_BASE_URL": "http://localhost:3000", "PLANKA_AGENT_EMAIL": "[email protected]", "PLANKA_AGENT_PASSWORD": "demo" } } } }
{ "mcpServers": { "planka": { "command": "npm", "args": ["run", "dev"], "cwd": "C:/ruta/a/kanban-mcp", "env": { "PLANKA_BASE_URL": "http://localhost:3000", "PLANKA_AGENT_EMAIL": "[email protected]", "PLANKA_AGENT_PASSWORD": "demo" } } } }
Después de configurar el MCP, puedes verificar que funciona correctamente:
mcp_kanban_project_board_manager(action: "get_projects", page: 1, perPage: 10)
mcp_kanban_project_board_manager(action: "create_board", projectId: "ID_DEL_PROYECTO", name: "Tablero de Prueba", position: 1)
Este error típicamente ocurre por:
Falta el @latest en la configuración:
// ❌ INCORRECTO "args": ["@grec0/mcp-planka"] // ✅ CORRECTO "args": ["@grec0/mcp-planka@latest"]
Variables de entorno faltantes o incorrectas:
"env": { "PLANKA_BASE_URL": "http://localhost:3000", "PLANKA_AGENT_EMAIL": "[email protected]", "PLANKA_AGENT_PASSWORD": "demo" }
El servidor Planka no está ejecutándose:
http://localhost:3000Caché de npm desactualizado:
npm cache clean --force npx @grec0/mcp-planka@latest
Si obtiene errores relacionados con certificados SSL autofirmados o internos:
Error: unable to verify the first certificate
Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE
Solución: Habilitar conexiones inseguras agregando PLANKA_ALLOW_INSECURE: "true" a la configuración:
"env": { "PLANKA_BASE_URL": "https://planka-interno.empresa.com", "PLANKA_AGENT_EMAIL": "[email protected]", "PLANKA_AGENT_PASSWORD": "tu-contraseña", "PLANKA_ALLOW_INSECURE": "true" }
⚠️ ADVERTENCIA DE SEGURIDAD: Solo usar
PLANKA_ALLOW_INSECURE=trueen entornos internos de confianza. Esta opción desactiva la validación de certificados SSL y no debe usarse para servidores públicos en Internet.
PLANKA_BASE_URL sea correcta y accesible# Configuración básica PLANKA_BASE_URL=http://localhost:3000 PLANKA_AGENT_EMAIL=[email protected] PLANKA_AGENT_PASSWORD=demo # Opcional: Para certificados SSL autofirmados o internos PLANKA_ALLOW_INSECURE=true
Si necesita un servidor Planka local para desarrollo:
# Usando Docker Compose docker-compose up -d # O usando NPM scripts del proyecto npm run up # Acceder a Planka # URL: http://localhost:3000 # Credenciales por defecto: [email protected] / demo
npm run start
npm run dev
npm run inspector
# Iniciar contenedores Planka npm run up # Detener contenedores npm run down # Reiniciar contenedores npm run restart
// Listar proyectos mcp_kanban_project_board_manager({ action: "get_projects", page: 1, perPage: 10 }) // Crear tablero mcp_kanban_project_board_manager({ action: "create_board", projectId: "project_id", name: "Mi Nuevo Tablero", position: 1 })
// Crear tarjeta con tareas mcp_kanban_card_manager({ action: "create_with_tasks", listId: "list_id", name: "Nueva Funcionalidad", description: "Implementar nueva característica", tasks: ["Diseño", "Desarrollo", "Testing", "Deploy"], comment: "Tarjeta creada automáticamente" }) // Mover tarjeta entre listas mcp_kanban_card_manager({ action: "move", id: "card_id", listId: "new_list_id", position: 0 })
// Iniciar cronómetro mcp_kanban_stopwatch({ action: "start", id: "card_id" }) // Detener cronómetro mcp_kanban_stopwatch({ action: "stop", id: "card_id" })
Si obtiene errores de conexión:
PLANKA_BASE_URL sea correcta# Probar conectividad manualmente curl -X POST http://localhost:3000/api/access-tokens \ -H "Content-Type: application/json" \ -d '{"emailOrUsername": "[email protected]", "password": "demo"}'
Si NPX no encuentra el paquete:
# Limpiar cache de NPX npx clear-npx-cache # O instalar globalmente npm install -g @grec0/mcp-planka
# Verificar variables de entorno echo $PLANKA_BASE_URL echo $PLANKA_AGENT_EMAIL # No mostrar password en logs por seguridad
Verificar:
PLANKA_BASE_URL configurada correctamentePLANKA_AGENT_EMAIL y PLANKA_AGENT_PASSWORD válidosnpm test
git checkout -b feature/nueva-funcionalidad)git commit -am 'Add nueva funcionalidad')git push origin feature/nueva-funcionalidad)Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para detalles.