c28ae7d3c0
- app.md - backend/handlers.go - backend/main.go - frontend/src/App.tsx - frontend/src/api.ts - frontend/vite.config.ts - backend/mcp_http.go - backend/mcp_tokens.go - backend/mcp_tokens_handlers.go - backend/migrations/016_mcp_tokens.sql - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
80 lines
3.1 KiB
Markdown
80 lines
3.1 KiB
Markdown
# Conectar Claude al kanban via MCP
|
|
|
|
El kanban expone un endpoint **MCP HTTP** (`/mcp`) que permite a un cliente Claude leer y modificar el tablero de cada usuario.
|
|
|
|
## Cuando usarlo
|
|
|
|
- Pedir a Claude que cree, actualice, mueva o busque tarjetas desde tu terminal local sin abrir el navegador.
|
|
- Listar el board en lenguaje natural.
|
|
- Asignar tarjetas, consultar historial, etc.
|
|
|
|
## Configuracion (una vez por PC)
|
|
|
|
### 1. Generar token en el kanban
|
|
|
|
1. Abre el kanban en el navegador (mismo URL que usas normalmente, por ejemplo `http://<host-windows>:5180`).
|
|
2. Click en tu avatar (esquina superior derecha) → **MCP tokens**.
|
|
3. Pulsa **Generar**, dale un nombre descriptivo (por ejemplo `portatil-trabajo`).
|
|
4. **Copia el token inmediatamente** — solo se muestra una vez. Tambien tendras el comando `claude mcp add` listo para pegar.
|
|
|
|
### 2. Registrar el MCP en Claude Code
|
|
|
|
En el PC desde el que vas a usar Claude:
|
|
|
|
```bash
|
|
claude mcp add kanban --transport http http://<host-windows>:5180/mcp \
|
|
--header "Authorization: Bearer kmcp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
```
|
|
|
|
Reemplaza `<host-windows>` por la IP o nombre del PC Windows que sirve el kanban en la LAN, y el token por el valor que copiaste.
|
|
|
|
Verifica con:
|
|
|
|
```bash
|
|
claude mcp list
|
|
```
|
|
|
|
Tienes que ver `kanban` con estado **connected**.
|
|
|
|
## Tools disponibles
|
|
|
|
Una vez conectado, Claude puede invocar:
|
|
|
|
| Tool | Que hace |
|
|
|---|---|
|
|
| `list_board` | Devuelve columnas y tarjetas del tablero |
|
|
| `create_column` | Crea una columna nueva |
|
|
| `update_column` | Modifica nombre, ancho, WIP, ubicacion, terminal |
|
|
| `rename_column` | Alias rapido de `update_column` con `{id, name}` |
|
|
| `delete_column` | Borra una columna (cards a papelera) |
|
|
| `reorder_columns` | Reordena columnas |
|
|
| `create_card` | Crea tarjeta en una columna |
|
|
| `update_card` | Edita titulo, descripcion, color, lock, asignado |
|
|
| `delete_card` | Envia tarjeta a papelera |
|
|
| `move_card` | Mueve tarjeta a otra columna |
|
|
| `card_history` | Historial de cambios de una tarjeta |
|
|
| `find_cards` | Busca por texto/columna/solicitante |
|
|
| `list_users` | Usuarios disponibles para asignar |
|
|
| `assign_card` | Asigna o desasigna usuario |
|
|
|
|
## Revocar acceso
|
|
|
|
Si pierdes el PC o quieres rotar el token, vuelve al modal **MCP tokens** y pulsa el icono de papelera en la fila correspondiente. El cliente Claude perdera acceso al instante.
|
|
|
|
## Limitaciones actuales
|
|
|
|
- Las acciones por MCP no registran `actor_id` en el historial — quedan como anonimas. (Mejora pendiente.)
|
|
- No hay rate limiting por token; revoca si detectas mal uso.
|
|
- El endpoint NO soporta SSE server→client (solicitudes Claude→kanban funcionan, sin streaming inverso).
|
|
- Solo POST `/mcp` esta soportado; GET y DELETE devuelven 405.
|
|
- Body limit 1 MiB.
|
|
|
|
## Troubleshooting
|
|
|
|
| Sintoma | Probable causa |
|
|
|---|---|
|
|
| `claude mcp list` muestra error de conexion | Vite (puerto 5180) o backend (8095) parados. Lanza el `control.sh` del kanban. |
|
|
| `401 unauthorized` | Token mal pegado, revocado, o caducado. Genera uno nuevo. |
|
|
| `405 Method Not Allowed` | Estas haciendo GET; el MCP solo acepta POST. |
|
|
| Tools listan pero `list_board` falla | Backend devuelve error real — mira `kanban.log` en WSL. |
|