About WCP Theme Portability

About .wcpt Theme Files

WCP Portability Specification

WCPP defines how WCP-based dashboard setups are bundled, transported, and reconstructed on a different machine. Where WCP handles runtime communication between widget and host, WCPP handles the packaging and distribution of those widget setups.

Importing a .wcpt file imports a theme using the .wcpt theme portability format defined in that specification.

Full specification: wcpp.widgetcontextprotocol.com

How to Create Your Own Custom Theme

The WCP Widget Theme Studio is a Docker container providing a full theme gallery and custom theme editor for WCP-compliant dashboards. It ships with 15 built-in themes and allows unlimited custom themes — all exportable as .wcpt files ready to import here, or shareable via URL.

Prerequisite: Docker Desktop must be installed before running the Studio. It is free for personal and small-team use:

www.docker.com/products/docker-desktop

The Studio is available free of charge on Docker Hub:

hub.docker.com/r/penrithbeacon/wcp-widget-theme-studio

Quick Start: With Docker Desktop running, open a terminal and paste:

docker run -d \
--name wcp-widget-theme-studio \
-p 3740:3740 \
-v theme_data:/app/data \
-v theme_published:/app/published \
-e CONTAINER_NAME=wcp-widget-theme-studio \
--restart unless-stopped \
docker.io/penrithbeacon/wcp-widget-theme-studio:latest

Once running, open http://localhost:3740 in your browser.

Applying a Theme via URL

The WCP Widget Theme Studio offers a second way to share a custom theme — one that requires no file download or manual import on the recipient’s part. Once a theme has been designed in the Studio, it can be exported directly as a URL parameter that carries the full theme inline.

Where the destination page has no existing query parameters, the Studio generates a complete query string beginning with ? that encodes the entire theme. Appending this to any WCP-aware URL causes the theme to be imported and applied automatically the moment the page loads.

Where the destination page already carries URL parameters, the Studio instead provides a single parameter ready to append with &, so the theme travels alongside existing query data without conflict.