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).
Documentação
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.
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.
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.
Seu agente precisa de duas coisas suas: uma conta e uma chave para agir como você.
Grátis, sem cartão de crédito. Cadastre-se para obter um painel.
Em Chaves de API
no painel. As chaves começam com pwanow_live_… e autenticam solicitações MCP como você.
Cole a chave no seu prompt ou na configuração do cliente MCP — o que a skill pedir.
O mesmo ciclo de implantação e verificação, seja executado por um humano ou por um agente.
Chama create_site com um nome de subdomínio (verificando primeiro list_sites para não duplicar um que você já tenha).
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.
Consulta get_site_status até o processamento terminar, e então chama test_site, que busca a URL real e confere o resultado.
Só relata sucesso quando test_site retorna passed: true — e explica qual verificação falhou caso contrário, em vez de supor.
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 sitelist_sites — mostra tudo o que você já possui antes de criar um duplicadoget_upload_url — obtém uma URL pré-assinada para enviar uma build compactadaget_site_status — verifica o status de um site e sua URL no artest_site — busca o site no ar e informa o que está realmente funcionandodelete_site — permanente; agentes que seguem a skill confirmam com você antesSalve 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.