Erstellt die Website
Ruft create_site mit einem Subdomain-Namen auf (prüft vorher list_sites, damit keine bereits vorhandene dupliziert wird).
Dokumentation
PwaNow liefert eine Skill, der jeder KI-Coding-Assistent von Anfang bis Ende folgen kann — die Website erstellen, den Build hochladen und verifizieren, dass sie wirklich live ist — über den gehosteten MCP-Server von PwaNow. Nichts lokal zu installieren.
Die meisten KI-Coding-Assistenten — Claude Code, Claude, Cursor und ähnliche — können eine URL abrufen und als Anweisungen befolgen. Richte deinen auf die Skill und beschreibe, was gebaut werden soll:
Prompt
Build a PWA with a few games, including flappy bird. Deploy it on PwaNow using this skill: https://pwanow.com/skill.md
Die Skill ist in sich abgeschlossen: Sie sagt dem Agenten, mit welchem MCP-Endpunkt er sich verbinden soll, wie er sich authentifiziert, wie er einen Build zippt und hochlädt (der MCP-Server hat keinen Zugriff auf dein lokales Dateisystem, dieser Schritt bleibt also beim Agenten) und dass er Erfolg erst melden darf, wenn die Live-Website tatsächlich eine Prüfung besteht.
PwaNow hostet den statischen Build — die eigenen Daten deiner PWA (Konten, Datensätze, was auch immer sie speichern muss) leben dort, wohin du sie lenkst. Sag deinem Agenten, welches er anbinden soll:
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 führt keinen serverseitigen Code aus — es liefert nur die statischen Dateien aus, die du hochlädst. Firebase und Supabase sind genau dafür gebaut: Ihre Client-SDKs sprechen direkt mit dem Backend, und Sicherheitsregeln (kein Server, den du selbst hostest) halten die Daten pro Nutzer getrennt.
Dein Agent braucht zwei Dinge von dir: ein Konto und einen Schlüssel, um in deinem Namen zu handeln.
Kostenlos, keine Kreditkarte nötig. Registrieren für ein Dashboard.
Unter API-Schlüssel
im Dashboard. Schlüssel beginnen mit pwanow_live_… und authentifizieren MCP-Anfragen als du.
Füge den Schlüssel in deinen Prompt oder die MCP-Client-Konfiguration ein — je nachdem, was die Skill verlangt.
Derselbe Deploy-und-Verifizierungs-Zyklus, egal ob er von einem Menschen oder einem Agenten ausgeführt wird.
Ruft create_site mit einem Subdomain-Namen auf (prüft vorher list_sites, damit keine bereits vorhandene dupliziert wird).
Fordert über get_upload_url eine vorsignierte URL an und zippt und lädt deinen Build dann selbst hoch — der MCP-Server kann nicht auf deine lokalen Dateien zugreifen.
Fragt get_site_status ab, bis die Verarbeitung abgeschlossen ist, und ruft dann test_site auf, das die echte URL abruft und das Ergebnis prüft.
Meldet Erfolg nur, wenn test_site passed: true zurückgibt — und erklärt sonst, welche Prüfung fehlgeschlagen ist, statt zu raten.
Jeder MCP-fähige Client kann sich direkt verbinden, ohne über den Skill-Prompt zu gehen.
.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 — reserviert eine Subdomain für eine neue Websitelist_sites — zeigt alles, was dir bereits gehört, bevor ein Duplikat erstellt wirdget_upload_url — holt eine vorsignierte URL zum Hochladen eines gezippten Buildsget_site_status — prüft den Status einer Website und ihre Live-URLtest_site — ruft die Live-Website ab und meldet zurück, was tatsächlich funktioniertdelete_site — dauerhaft; Agenten, die der Skill folgen, holen zuerst deine Bestätigung einSpeichere die Skill lokal, statt sie zu verlinken, wenn sie immer verfügbar sein soll.
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
Bitte Claude Code dann einfach, dein Projekt auf PwaNow bereitzustellen — es übernimmt die Skill automatisch und fragt beim ersten Bedarf nach deinem API-Schlüssel.