Files
nucleoDocs/README.md
josedario87 5c6fd8fef3
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 9s
Agregar servidor MCP Metabase
- Implementado mcp-metabase-server con TypeScript
- 9 herramientas para interactuar con Metabase API
- Soporta listar/buscar cards, ejecutar queries con parámetros
- Soporta crear y actualizar cards
- Autenticación con API Key
- Agregado servicio al docker-compose.yml
- Configurado en Traefik sin autenticación Authentik
- Actualizado README con documentación completa
- Variables y secrets configurados en Gitea
2025-10-28 10:49:18 -06:00

199 lines
6.9 KiB
Markdown

# Nucleo Docs
Sistema de documentación para el ecosistema Nucleo basado en Nuxt 4 con autenticación mediante Authentik Proxy Outpost.
## Instalación de Servidores MCP
Para conectar los servidores MCP a Claude Code, ejecuta los siguientes comandos:
### MCP Docker Server
```bash
claude mcp add --transport http nucleodocs-docker https://docker.nucleoriofrio.com/mcp
```
### MCP Gitea Server
```bash
claude mcp add --transport http nucleodocs-gitea https://gitea.nucleoriofrio.com/mcp
```
### MCP Chrome DevTools
```bash
claude mcp add chrome-devtools npx -- chrome-devtools-mcp@latest --isolated=true
```
### MCP Metabase Server
```bash
claude mcp add --transport http nucleodocs-metabase https://metabase.nucleoriofrio.com/mcp
```
### Scopes Disponibles
**Para compartir con el equipo** (crea .mcp.json en el proyecto):
```bash
claude mcp add --transport http nucleodocs-docker --scope project https://docker.nucleoriofrio.com/mcp
claude mcp add --transport http nucleodocs-gitea --scope project https://gitea.nucleoriofrio.com/mcp
claude mcp add --transport http nucleodocs-metabase --scope project https://metabase.nucleoriofrio.com/mcp
claude mcp add chrome-devtools --scope project npx -- chrome-devtools-mcp@latest --isolated=true
```
**Para uso personal en todos los proyectos**:
```bash
claude mcp add --transport http nucleodocs-docker --scope user https://docker.nucleoriofrio.com/mcp
claude mcp add --transport http nucleodocs-gitea --scope user https://gitea.nucleoriofrio.com/mcp
claude mcp add --transport http nucleodocs-metabase --scope user https://metabase.nucleoriofrio.com/mcp
claude mcp add chrome-devtools --scope user npx -- chrome-devtools-mcp@latest --isolated=true
```
### Verificación
```bash
# Listar todos los servidores configurados
claude mcp list
# Ver detalles de un servidor específico
claude mcp get nucleodocs-docker
claude mcp get nucleodocs-gitea
claude mcp get nucleodocs-metabase
claude mcp get chrome-devtools
# Dentro de Claude Code, verificar el estado
/mcp
```
## Propósito
Este repositorio contiene la documentación del funcionamiento del sistema Nucleo, incluyendo:
- Arquitectura del sistema
- Guías de desarrollo
- Documentación de servicios
- Procedimientos operativos
## Estructura del Proyecto
```
.
├── nuxt4/ # Aplicación Nuxt 4 con la documentación
├── docker-compose.yml # Configuración de despliegue
└── .gitea/ # Gitea Actions CI/CD
```
## Características
- ✅ Nuxt 4
- ✅ Autenticación con Authentik Proxy Outpost
- ✅ Docker y Docker Compose
- ✅ CI/CD con Gitea Actions
- ✅ Traefik para proxy reverso y SSL
- ✅ Claude Code hooks para monitoreo de Actions
- ✅ MCP Server Docker para gestión de contenedores
- ✅ MCP Server Gitea para API de Gitea
- ✅ MCP Server Metabase para análisis y reportes
- ✅ MCP Server Chrome DevTools para testing e interacción con navegador
## Servicios
### Aplicación Principal (`app`)
Aplicación Nuxt 4 con la documentación del sistema Nucleo, expuesta mediante Traefik con autenticación Authentik.
### MCP Docker Server (`mcp-docker`)
Servidor MCP personalizado construido con TypeScript que expone operaciones Docker a través del protocolo MCP sobre HTTP. Este servicio:
- Implementa 13 herramientas Docker seguras usando dockerode
- Usa el puerto 3000 para comunicación HTTP
- Tiene acceso al socket de Docker del host (solo lectura)
- Se ejecuta en las redes `principal` y `traefik-network`
- **Expuesto públicamente en `docker.nucleoriofrio.com/mcp` SIN autenticación Authentik**
- Prioridad 200 en Traefik para evitar conflictos con otros routers
- Endpoints disponibles:
- `POST /mcp` - Protocolo MCP para operaciones Docker
- `GET /health` - Health check del servicio
### MCP Gitea Server (`mcp-gitea`)
Servidor MCP personalizado construido con TypeScript que expone la API de Gitea a través del protocolo MCP sobre HTTP. Este servicio:
- Implementa 5 herramientas optimizadas para Gitea API v1
- Usa el puerto 3000 para comunicación HTTP
- Se conecta a Gitea mediante URL interna (http://gitea:3000)
- Se ejecuta en las redes `principal` y `traefik-network`
- **Expuesto públicamente en `gitea.nucleoriofrio.com/mcp` SIN autenticación Authentik**
- Prioridad 200 en Traefik para evitar conflictos con otros routers
- Herramientas disponibles:
- `gitea_repos` - Gestión de repositorios
- `gitea_commits` - Operaciones con commits
- `gitea_issues` - Manejo de issues
- `gitea_secrets` - Gestión de secrets para Actions
- `gitea_variables` - Gestión de variables para Actions
- Endpoints disponibles:
- `POST /mcp` - Protocolo MCP para operaciones Gitea
- `GET /health` - Health check del servicio
### MCP Metabase Server (`mcp-metabase`)
Servidor MCP personalizado construido con TypeScript que expone la API de Metabase a través del protocolo MCP sobre HTTP. Este servicio:
- Implementa 9 herramientas para interactuar con Metabase
- Usa el puerto 3000 para comunicación HTTP
- Se conecta a Metabase mediante URL interna y autenticación con API Key
- Se ejecuta en las redes `principal` y `traefik-network`
- **Expuesto públicamente en `metabase.nucleoriofrio.com/mcp` SIN autenticación Authentik**
- Prioridad 200 en Traefik para evitar conflictos con otros routers
- Herramientas disponibles:
- `metabase_cards` - Listar y buscar cards/questions
- `metabase_card_info` - Obtener detalles de una card
- `metabase_execute_card` - Ejecutar cards con parámetros
- `metabase_create_card` - Crear nuevas cards/questions
- `metabase_update_card` - Actualizar nombre y descripción de cards
- `metabase_collections` - Listar colecciones
- `metabase_databases` - Listar bases de datos
- `metabase_dashboards` - Listar dashboards
- `metabase_dashboard_info` - Obtener detalles de un dashboard
- Endpoints disponibles:
- `POST /mcp` - Protocolo MCP para operaciones Metabase
- `GET /health` - Health check del servicio
## Ejemplos de Uso
Una vez agregados los servidores MCP, podrás usar las herramientas directamente en Claude Code:
**Para Docker:**
```
> Lista todos los contenedores en ejecución
> Muestra los logs del contenedor nucleodocs-mcp-gitea
> Inspecciona el contenedor de traefik
```
**Para Gitea:**
```
> Lista mis repositorios de Gitea
> Muestra los últimos commits del repo nucleoDocs
> Busca issues abiertos en el repositorio analiticaNucleo
```
**Para Metabase:**
```
> Lista todas las cards de Metabase
> Busca cards que contengan "ventas" en el nombre
> Ejecuta la card 123 con parámetros de fecha
> Crea una nueva card con una query SQL
```
**Para Chrome DevTools:**
```
> Abre https://docs.nucleoriofrio.com y toma un snapshot
> Haz click en el botón de login
> Toma una captura de pantalla de la página actual
```
## Desarrollo Local
```bash
cd nuxt4
npm install
npm run dev
```
## Despliegue
El proyecto se despliega automáticamente en `docs.nucleoriofrio.com` mediante Gitea Actions cuando se hace push a la rama `master`.
Variables y secrets configurados correctamente en Gitea.
## Licencia
MIT