Documentação

Publique uma PWA com um assistente de IA.

A PwaNow oferece uma skill que qualquer assistente de codificação com IA pode seguir de ponta a ponta — criar o site, enviar a build e verificar se está realmente no ar — usando o servidor MCP hospedado da PwaNow. Nada para instalar localmente.

Dê ao seu agente um único prompt

A maioria dos assistentes de codificação com IA — Claude Code, Claude, Cursor e similares — pode buscar uma URL e segui-la como instruções. Aponte o seu para a skill e descreva o que construir:

Prompt

Build a PWA with a few games, including flappy bird. Deploy it on PwaNow using this skill: https://pwanow.com/skill.md

A skill é autocontida: ela diz ao agente a qual endpoint MCP se conectar, como se autenticar, como compactar e enviar uma build (o servidor MCP não tem acesso ao seu sistema de arquivos local, então essa etapa fica com o agente) e para não relatar sucesso até que o site no ar realmente passe em uma verificação.

Adicione um backend para os seus dados

A PwaNow hospeda a build estática — os dados do seu PWA (contas, registros, o que ele precisar guardar) ficam onde você apontar. Diga ao seu agente qual usar:

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

A PwaNow não executa código do lado do servidor — ela apenas serve os arquivos estáticos que você envia. Firebase e Supabase foram feitos para isso: seus SDKs de cliente falam diretamente com o backend, e regras de segurança (não um servidor que você hospeda) mantêm os dados isolados por usuário.

Antes de começar

Seu agente precisa de duas coisas suas: uma conta e uma chave para agir como você.

  1. 1

    Crie uma conta

    Grátis, sem cartão de crédito. Cadastre-se para obter um painel.

  2. 2

    Crie uma chave de API

    Em Chaves de API no painel. As chaves começam com pwanow_live_… e autenticam solicitações MCP como você.

  3. 3

    Entregue-a ao seu agente

    Cole a chave no seu prompt ou na configuração do cliente MCP — o que a skill pedir.

O que a skill realmente faz

O mesmo ciclo de implantação e verificação, seja executado por um humano ou por um agente.

Cria o site

Chama create_site com um nome de subdomínio (verificando primeiro list_sites para não duplicar um que você já tenha).

Envia a build

Solicita uma URL pré-assinada via get_upload_url, e então compacta e envia sua build — o servidor MCP não consegue acessar seus arquivos locais.

Verifica se está no ar

Consulta get_site_status até o processamento terminar, e então chama test_site, que busca a URL real e confere o resultado.

Relata com honestidade

Só relata sucesso quando test_site retorna passed: true — e explica qual verificação falhou caso contrário, em vez de supor.

Prefere configurar você mesmo?

Qualquer cliente compatível com MCP pode se conectar diretamente, sem passar pelo prompt da 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 um subdomínio para um novo site
  • list_sites — mostra tudo o que você já possui antes de criar um duplicado
  • get_upload_url — obtém uma URL pré-assinada para enviar uma build compactada
  • get_site_status — verifica o status de um site e sua URL no ar
  • test_site — busca o site no ar e informa o que está realmente funcionando
  • delete_site — permanente; agentes que seguem a skill confirmam com você antes

Usando o Claude Code

Salve a skill localmente em vez de vinculá-la, caso prefira que ela esteja sempre disponível.

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

Depois é só pedir ao Claude Code para implantar seu projeto na PwaNow — ele pegará a skill automaticamente e pedirá sua chave de API na primeira vez que precisar de uma.