Weppa/Docs/Herramientas: Weppa Site

Herramientas: Weppa Site

Referencia generada de weppa-app 74c60d6c0

Subir y publicar un sitio, revisar su tema, su velocidad y sus métricas. Generado del código de Weppa (weppa-app 74c60d6c0): 8 herramientas. Cada descripción es el texto exacto que recibe tu agente en tools/list; por eso habla de tú a tu agente y usa sus términos.

weppa_site_publish_starter

Úsala cuando un Weppa Site recién creado todavía no tiene publicada la página inicial (weppa_app_status lo dice en `site.next`). Publica la página inicial de Weppa con el nombre del sitio, lo mismo que hace la pantalla del alta del dueño. No pisa nada: si el sitio ya tiene una publicación o un pedido tuyo, responde «not-needed» sin tocarlo. Avanza la comprobación con navegador y la publicación; si sigue en curso, vuelve a llamarla en 30 segundos. Devuelve el resultado real: publicada, en curso, no hace falta o falló. Antes de decir que el sitio está publicado, compruébalo con weppa_app_status. Necesita un token con «Operar» sobre esa app.

Cambia algo en tu cuenta. No destructiva. Repetirla no tiene efecto extra.

Parámetro «app» (texto, obligatorio): Namespace de la app, tal como aparece en Weppa.

Fuente: src/server/mcp-app.ts en weppa-app 74c60d6c0.

weppa_site_metrics

Solo lectura: no cambia nada. Métricas de tráfico de un Weppa Site de la cuenta: páginas vistas estimadas del periodo y por día, y las 10 primeras páginas, referentes, países y tipos de dispositivo. Salen del borde de Cloudflare (peticiones de página HTML servidas, no visitas únicas ni personas) y son estimaciones muestreadas; `notes` dice qué incluye (por ejemplo, si hay bots). Sin datos por visitante. Periodos: 7d (por omisión) o 28d. Úsala para ver qué funciona en el sitio antes de proponer cambios de contenido. Basta un token con «Solo mirar».

Solo lectura: no cambia nada. No destructiva. Repetirla no tiene efecto extra.

Parámetro «app» (texto, obligatorio): Namespace del Weppa Site, tal como aparece en Weppa.

Parámetro «period» (uno de 7d, 28d, opcional): Ventana hacia atrás desde ahora (por defecto 7d).

Fuente: src/server/mcp-site-metrics.ts en weppa-app 74c60d6c0.

weppa_site_speed

Solo lectura: no cambia nada. Velocidad de una página de un Weppa Site de la cuenta, medida con Google PageSpeed Insights. Laboratorio (Lighthouse), siempre: puntuación de rendimiento, LCP, CLS y TBT. Campo (CrUX, visitantes reales de Chrome, p75 de 28 días): LCP, INP y CLS, solo cuando Google tiene tráfico suficiente; si no, `field.status` es `no-data` con el motivo. La URL la arma Weppa con el sitio y la ruta: no acepta otra dirección. Mide la versión publicada. Un resultado se guarda 24 h por página y estrategia (`cached`). Úsala antes y después de cambiar imágenes, fuentes o scripts. Basta un token con «Solo mirar».

Solo lectura: no cambia nada. No destructiva. Repetirla no tiene efecto extra.

Parámetro «app» (texto, obligatorio): Namespace del Weppa Site, tal como aparece en Weppa.

Parámetro «path» (texto, opcional): Ruta de la página dentro del sitio, por ejemplo / o /servicios/ (por defecto /). Solo la ruta: sin dominio, consulta ni fragmento.

Parámetro «strategy» (uno de mobile, desktop, opcional): Dispositivo simulado en laboratorio y en campo (por defecto mobile).

Fuente: src/server/mcp-site-speed.ts en weppa-app 74c60d6c0.

weppa_site_theme_check

Solo lectura: no guarda ni publica nada. Verifica el tema de un Weppa Site contra el contrato: o «tokens» (cada rol: color "#rrggbb" o {light, dark}; fuente como pila de familias) o «css» (el tokens.css que ya escribiste). Calcula el contraste de cada par en claro y oscuro y devuelve pass y los hallazgos con {code, path, expected, received, fix}; con «tokens», también el tokens.css listo para publicar. Corrige y repite hasta pass; después publica /theme/tokens.css con weppa_site_upload_*, enlázalo en cada página y declara {"theme": {}} en site.json. Basta un token con «Solo mirar».

Solo lectura: no cambia nada. No destructiva. Repetirla no tiene efecto extra.

Parámetro «tokens» (objeto, opcional): Todos los roles, por ruta. Ejemplo: {"color.bg": {"light": "#ffffff", "dark": "#111318"}, …, "font.body": "system-ui, sans-serif"}. Parte de weppa_site_theme_get (example.roles).

Parámetro «css» (texto, opcional): El tokens.css completo, si ya lo escribiste (por ejemplo, al portar una plantilla de EmDash).

Parámetro «starlight» (sí o no, opcional): true si el sitio tiene páginas de docs (Starlight): verifica también el mapeo --sl-* y los pares de sus avisos.

Fuente: src/server/mcp-site-theme.ts en weppa-app 74c60d6c0.

weppa_site_theme_get

Solo lectura: no cambia nada. Contrato de tema de Weppa Site: los roles de color y fuente que el tema del sitio debe declarar (nombres de variable de EmDash, de Cloudflare), en claro y oscuro, y los pares de contraste que el juez exige. Trae además un tema de ejemplo que lo cumple («landing», con su tokens.css completo y los enlaces públicos a su fuente DTCG 2025.10 y a su README) como punto de partida: no es obligatorio. Úsala antes de diseñar o cambiar colores y fuentes. Basta un token con «Solo mirar».

Solo lectura: no cambia nada. No destructiva. Repetirla no tiene efecto extra.

Parámetros: ninguno.

Fuente: src/server/mcp-site-theme.ts en weppa-app 74c60d6c0.

weppa_site_upload_begin

Abre la subida de una versión nueva de un Weppa Site por herramientas MCP, sin shell ni token en el entorno. Con `link: true` devuelve en cambio `uploadUrl`, una URL de subida para `client-upload.cjs --r2` (variable WEPPA_SITE_UPLOAD_URL): vence en 15 minutos, solo sirve para ese sitio y confirma una sola versión; no la copies en otro lado. Sin `link`, devuelve `upload` (vence en 2 horas) y los topes: 0 KiB por parte, partes por subida, archivos, 10 MiB por archivo y 50 MiB en total. Con `base` (una versión conservada `site-bundle-…` de ese sitio, por ejemplo la publicada) subes solo lo que cambió: el resto se toma de la base. Sigue con weppa_site_upload_part por cada parte y termina con weppa_site_upload_commit. Sin `base`, la subida admite hasta 20 partes (un sitio chico): para el sitio entero con más, pide `link: true` y súbelo en un solo comando. No publica ni cambia el sitio. Necesita un token con «Operar» sobre el sitio.

Cambia algo en tu cuenta. No destructiva. Repetirla repite el efecto.

Parámetro «app» (texto, obligatorio): Namespace del Weppa Site, tal como aparece en Weppa.

Parámetro «base» (texto, opcional): Opcional: versión conservada de este sitio de la que parte la nueva.

Parámetro «link» (sí o no, opcional): Opcional: true para recibir `uploadUrl` y subir el sitio entero con `client-upload.cjs --r2`, sin token en el entorno. No va con `base`.

Fuente: src/server/mcp-site-upload.ts en weppa-app 74c60d6c0.

weppa_site_upload_commit

Confirma la subida y guarda la versión candidata. `files`: cada archivo nuevo o cambiado como {area, path, parts}, con `parts` = los sha256 de sus partes en orden. Una imagen de «media» que ya guardaste en este sitio va como {area: "media", path, sha256}, sin subirla otra vez. Sin base, `files` es el sitio entero. Con base, `remove` ([{area, path}]) quita archivos de la base. Weppa valida igual que la subida por shell: inventario `site-pages.json`, fuente reconstruible, sin credenciales y dentro de los topes. Devuelve `bundle` (`site-bundle-…`): con ese nombre escribe el pedido site-publish para la revisión. No publica. Con el mismo contenido devuelve la misma versión. Necesita un token con «Operar» sobre el sitio.

Cambia algo en tu cuenta. No destructiva. Repetirla no tiene efecto extra.

Parámetro «upload» (texto, obligatorio): El `upload` que devolvió weppa_site_upload_begin.

Parámetro «files» (lista, obligatorio).

Parámetro «remove» (lista, opcional).

Fuente: src/server/mcp-site-upload.ts en weppa-app 74c60d6c0.

weppa_site_upload_part

Sube una parte de un archivo a la subida abierta. El contenido va en `text` (UTF-8) o en `base64`, hasta 0 KiB; `sha256` es opcional y, si lo mandas, se comprueba. Devuelve el sha256 guardado: anótalo, porque weppa_site_upload_commit pide, por archivo, la lista ordenada de esos sha256. Un archivo grande va en varias partes. Repetir una parte no duplica nada. Una subida sin base admite hasta 20 partes (sin contar «media»): desde la siguiente responde site_upload_use_link. Para el sitio entero con más, pide la URL con weppa_site_upload_begin {app, link: true} y súbelo en un solo comando. Solo se admiten tipos de un sitio estático y de su proyecto Astro; nada ejecutable nuevo. No publica ni cambia el sitio. Necesita un token con «Operar» sobre el sitio.

Cambia algo en tu cuenta. No destructiva. Repetirla no tiene efecto extra.

Parámetro «upload» (texto, obligatorio): El `upload` que devolvió weppa_site_upload_begin.

Parámetro «area» (uno de source, site, media, obligatorio): «source»: el proyecto (package.json, package-lock.json, astro.config.mjs, src/…, site-pages.json, site.json). «site»: lo publicado (html, css, js, imágenes, fuentes, robots.txt, sitemap.xml, 404.html, _headers, _redirects). «media» (solo si la cuenta lo tiene encendido): imágenes JPEG, PNG, WebP o GIF del sitio publicado que van fuera del paquete, con la ruta en la que se sirven (por ejemplo `blog/foto.jpg`); no cuentan en los 300 archivos (hasta 1500 y 500 MiB, y lo que quepa en el manifiesto de 128 KiB: usa rutas cortas).

Parámetro «path» (texto, obligatorio): Ruta relativa dentro de esa zona, sin «/» inicial ni «..» (por ejemplo `src/pages/index.astro` o `es/index.html`).

Parámetro «text» (texto, opcional): Contenido de la parte como texto UTF-8 (HTML, CSS, JSON, Markdown…).

Parámetro «base64» (texto, opcional): Contenido de la parte en base64 estándar con relleno (imágenes, fuentes).

Parámetro «sha256» (texto, opcional): Opcional: sha256 en hex de los bytes de la parte.

Fuente: src/server/mcp-site-upload.ts en weppa-app 74c60d6c0.