Crée le site
Appelle create_site avec un nom de sous-domaine (en vérifiant d'abord list_sites pour ne pas dupliquer un site que vous possédez déjà).
Documentation
PwaNow fournit une skill que tout assistant de code IA peut suivre de bout en bout — créer le site, envoyer la build et vérifier qu'elle est réellement en ligne — via le serveur MCP hébergé de PwaNow. Rien à installer localement.
La plupart des assistants de code IA — Claude Code, Claude, Cursor et similaires — peuvent récupérer une URL et la suivre comme des instructions. Pointez le vôtre vers la skill et décrivez ce qu'il faut construire :
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 est autonome : elle indique à l'agent l'endpoint MCP auquel se connecter, comment s'authentifier, comment compresser et envoyer une build (le serveur MCP n'a pas accès à votre système de fichiers local, cette étape reste donc à la charge de votre agent), et de ne pas déclarer de succès tant que le site en ligne n'a pas réellement passé une vérification.
PwaNow héberge la build statique — les données propres de votre PWA (comptes, enregistrements, tout ce qu'elle doit stocker) vivent où vous les dirigez. Dites à votre agent lequel brancher :
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 n'exécute pas de code côté serveur — il se contente de servir les fichiers statiques que vous envoyez. Firebase et Supabase sont conçus pour ça : leurs SDK client parlent directement au backend, et des règles de sécurité (pas un serveur que vous hébergez) maintiennent les données cloisonnées par utilisateur.
Votre agent a besoin de deux choses de votre part : un compte et une clé pour agir en votre nom.
Gratuit, aucune carte bancaire requise. Inscrivez-vous pour obtenir un tableau de bord.
Depuis Clés API
dans le tableau de bord. Les clés commencent par pwanow_live_… et authentifient les requêtes MCP en votre nom.
Collez la clé dans votre prompt ou dans la configuration du client MCP — selon ce que demande la skill.
Le même cycle de déploiement et de vérification, qu'il soit exécuté par un humain ou un agent.
Appelle create_site avec un nom de sous-domaine (en vérifiant d'abord list_sites pour ne pas dupliquer un site que vous possédez déjà).
Demande une URL présignée via get_upload_url, puis compresse et envoie votre build elle-même — le serveur MCP ne peut pas accéder à vos fichiers locaux.
Interroge get_site_status jusqu'à la fin du traitement, puis appelle test_site, qui récupère l'URL réelle et en vérifie le résultat.
Ne signale un succès que lorsque test_site renvoie passed: true — et explique quelle vérification a échoué sinon, plutôt que de deviner.
Tout client compatible MCP peut se connecter directement, sans passer par le 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 — réserve un sous-domaine pour un nouveau sitelist_sites — affiche tout ce que vous possédez déjà avant d'en créer un doublonget_upload_url — obtient une URL présignée pour envoyer une build compresséeget_site_status — vérifie le statut d'un site et son URL en lignetest_site — récupère le site en ligne et indique ce qui fonctionne réellementdelete_site — permanent ; les agents suivant la skill confirment d'abord avec vousEnregistrez la skill localement plutôt que d'y faire un lien, si vous préférez qu'elle soit toujours 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
Demandez ensuite simplement à Claude Code de déployer votre projet sur PwaNow — il récupérera automatiquement la skill et demandera votre clé API la première fois qu'il en aura besoin.