Pwa MCP Server

Automates PWA asset generation and image declaration. Automatically generates icon and splash screen images, favicons and mstile images. Updates

Local serverstdioGo

What is the Pwa MCP server?

Connect Pwa to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Automates PWA asset generation and image declaration. Automatically generates icon and splash screen images, favicons and mstile images. Updates manifest.json and index.html files with the generated images according to Web App Manifest. The pwa mcp server is what makes that connection.

What the server does

  • Generates both icons and splash screens with optional --icon-only --splash-only --landscape-only and --portrait-only flags ✨
  • Updates your manifest.json and index.html files automatically for declaring generated image assets 🙌
  • Scrapes the latest specs from Apple Human Interface guidelines website via Puppeteer to make your PWA ready for all/recent iOS devices out there 🤖
  • Supports offline mode and uses static spec data when things go wrong with scraping 📴
  • Updates static spec data before each release automatically and monitors spec changes everyday 🔄
  • Uses the Chrome browser as it’s a canvas of your fav image editor. It uses a shell HTML on the fly as an art board and centers your logo before taking screenshots for each resolution via Puppeteer 🤖

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • Module — pwa-asset-generator is not only a CLI. It's a CLI wrapper around a JavaScript module. It's possible to access the underlying API of the library as

Installation

Installation goes through your MCP client rather than a global install: point it at pwa-asset-generator on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

Credentials and setup notes

Configuration is passed through the environment: PUBLIC_URL. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Where it fits

This sits in the browser automation group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Pwa's toolset — Module — is a fair guide to whether it matches your workflow. It is maintained by GitHub Actions; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Pwa's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
Modulepwa-asset-generator is not only a CLI. It's a CLI wrapper around a JavaScript module. It's possible to access the underlying API of the library as it's described in below example;

How to install the Pwa MCP server

{
  "mcpServers": {
    "asset-generator": {
      "command": "npx",
      "args": ["-y", "pwa-asset-generator"],
      "env": {
        "PUBLIC_URL": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
PUBLIC_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Pwa to Module.

Frequently asked questions

It connects Pwa to MCP-compatible AI assistants such as Claude and Cursor, exposing 1 tool (Module) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Pwa directly.