Crea el sitio
Llama a create_site con un nombre de subdominio (comprobando primero list_sites para no duplicar uno que ya tengas).
Documentación
PwaNow incluye una skill que cualquier asistente de codificación con IA puede seguir de principio a fin — crear el sitio, subir la build y verificar que esté realmente en línea — usando el servidor MCP alojado de PwaNow. Nada que instalar localmente.
La mayoría de los asistentes de codificación con IA — Claude Code, Claude, Cursor y similares — pueden obtener una URL y seguirla como instrucciones. Apunta el tuyo a la skill y describe qué construir:
Prompt
Build a PWA with a few games, including flappy bird. Deploy it on PwaNow using this skill: https://pwanow.com/skill.md
La skill es autocontenida: le indica al agente a qué endpoint de MCP conectarse, cómo autenticarse, cómo comprimir y subir una build (el servidor MCP no tiene acceso a tu sistema de archivos local, así que ese paso queda a cargo de tu agente) y que no reporte éxito hasta que el sitio en vivo realmente pase una comprobación.
PwaNow aloja la build estática — los datos propios de tu PWA (cuentas, registros, lo que necesite guardar) viven donde tú los apuntes. Dile a tu agente cuál conectar:
Prompt — Firebase
Build a PWA that [describe what it does]. Use Firebase for the
backend — Firestore to store data and Firebase Authentication for
sign-in. Create a new Firebase project, wire the client SDK into the
app, and add security rules that scope data per user. Deploy it on
PwaNow using this skill: https://pwanow.com/skill.md
Prompt — Supabase
Build a PWA that [describe what it does]. Use Supabase for the
backend — Postgres for data and Supabase Auth for sign-in, with Row
Level Security policies so each user only sees their own data. Deploy
it on PwaNow using this skill: https://pwanow.com/skill.md
PwaNow no ejecuta código del lado del servidor — solo sirve los archivos estáticos que subes. Firebase y Supabase están hechos para esto: sus SDKs de cliente hablan directamente con el backend, y las reglas de seguridad (no un servidor que tú alojas) mantienen los datos delimitados por usuario.
Tu agente necesita dos cosas de ti: una cuenta y una clave para actuar como tú.
Gratis, sin tarjeta de crédito. Regístrate para obtener un panel.
Desde Claves de API
en el panel. Las claves empiezan con pwanow_live_… y autentican las solicitudes MCP como tú.
Pega la clave en tu prompt o en la configuración del cliente MCP — lo que pida la skill.
El mismo ciclo de despliegue y verificación, ya sea ejecutado por un humano o un agente.
Llama a create_site con un nombre de subdominio (comprobando primero list_sites para no duplicar uno que ya tengas).
Solicita una URL prefirmada mediante get_upload_url, y luego comprime y sube tu build — el servidor MCP no puede acceder a tus archivos locales.
Consulta get_site_status hasta que termine el procesamiento, y luego llama a test_site, que obtiene la URL real y comprueba el resultado.
Solo reporta éxito cuando test_site devuelve passed: true — y explica qué comprobación falló si no fue así, en lugar de adivinar.
Cualquier cliente compatible con MCP puede conectarse directamente, sin pasar por el prompt de la skill.
.mcp.json — Claude Code
{
"mcpServers": {
"pwanow": {
"type": "http",
"url": "https://api.pwanow.com/mcp",
"headers": {
"Authorization": "Bearer <your pwanow_live_… API key>"
}
}
}
}
.claude/settings.local.json — skip the approval prompt
{
"enabledMcpjsonServers": ["pwanow"]
}
.vscode/mcp.json — VS Code
{
"servers": {
"pwanow": {
"type": "http",
"url": "https://api.pwanow.com/mcp",
"headers": {
"Authorization": "Bearer <your pwanow_live_… API key>"
}
}
}
}
.cursor/mcp.json — Cursor
{
"mcpServers": {
"pwanow": {
"url": "https://api.pwanow.com/mcp",
"headers": {
"Authorization": "Bearer <your pwanow_live_… API key>"
}
}
}
}
~/.codeium/windsurf/mcp_config.json — Devin Desktop (formerly Windsurf)
{
"mcpServers": {
"pwanow": {
"serverUrl": "https://api.pwanow.com/mcp",
"headers": {
"Authorization": "Bearer <your pwanow_live_… API key>"
}
}
}
}
~/.codex/config.toml — Codex CLI
[mcp_servers.pwanow]
url = "https://api.pwanow.com/mcp"
http_headers = { "Authorization" = "Bearer <your pwanow_live_… API key>" }
~/.gemini/config/mcp_config.json — Antigravity
{
"mcpServers": {
"pwanow": {
"serverUrl": "https://api.pwanow.com/mcp",
"headers": {
"Authorization": "Bearer <your pwanow_live_… API key>"
}
}
}
}
create_site — reserva un subdominio para un sitio nuevolist_sites — muestra todo lo que ya tienes antes de crear un duplicadoget_upload_url — obtiene una URL prefirmada para subir una build comprimidaget_site_status — comprueba el estado de un sitio y su URL en vivotest_site — obtiene el sitio en vivo e informa qué está funcionando realmentedelete_site — permanente; los agentes que siguen la skill confirman contigo primeroGuarda la skill localmente en lugar de enlazarla, si prefieres que esté siempre disponible.
Terminal — macOS / Linux
mkdir -p .claude/skills/pwanow
curl -o .claude/skills/pwanow/SKILL.md https://pwanow.com/skill.md
PowerShell — Windows
mkdir .claude\skills\pwanow -Force
Invoke-WebRequest -Uri https://pwanow.com/skill.md -OutFile .claude\skills\pwanow\SKILL.md
Luego simplemente pídele a Claude Code que despliegue tu proyecto en PwaNow — tomará la skill automáticamente y pedirá tu clave de API la primera vez que la necesite.