Premium Prompts go live
The Premium Prompts library — 50+ industry-specific landing-page prompts across 10 categories — is now wired up end-to-end. Pro subscribers see them auto-synced inside the Prompts admin page; free users continue to see the 5 bundled samples plus an upgrade CTA.
The content lives on the new EMCP Tools website at emcp.msrbuilds.com and is served from a license-gated API endpoint that validates each request against Freemius (active license + activated-site binding). The plugin caches the bundle locally for 24 hours; a Sync Library button on the Prompts page force-refreshes.
New
- Premium Prompts library for Pro subscribers — 50+ prompts across Automotive, Food & Dining, General, Health & Wellness, Home Services, Lifestyle & Entertainment, Pets, Professional Services, Retail, Weddings. Auto-synced from
https://emcp.msrbuilds.com/api/emcp/prompts.json. - Category filter pills + Sync Library button on the Prompts admin page.
- "Read the Docs" link in the admin header pointing at the new docs site at https://emcp.msrbuilds.com/docs.
Changed
- Auth moves from query string to headers. The premium prompts fetcher now sends the license key via
Authorization: Bearer …and the site URL / plugin version viaX-EMCP-Site/X-EMCP-Plugin-Versionheaders. License keys are credentials — query strings end up in proxy logs, browser history, and access logs. Headers don't. - Default endpoint URL moved to the dedicated subdomain
https://emcp.msrbuilds.com/api/emcp/prompts.json. Filterable via theelementor_mcp_pro_prompts_endpointhook for staging. - "Contact Me" and pricing-screen "Get in touch" links now point at https://emcp.msrbuilds.com/about rather than the generic MSR Builds contact form.
Improved
- Conservative error handling for the premium prompts endpoint. The server returns a uniform
403 { \"error\": \"forbidden\" }for every auth failure (bad license, expired, wrong site, malformed headers) so no information leaks about which condition triggered the rejection. The plugin maps that to a single "Premium Prompts unavailable — confirm your license" message and points at support.429 Too Many Requestsis mapped to a separate "try again in a few minutes" message.
Plugin-side security model
| Protection | Where it lives |
|---|---|
License key in Authorization header
| class-pro-prompts.php
|
Site URL in X-EMCP-Site header
| class-pro-prompts.php
|
| 24-hour local transient cache | class-pro-prompts.php
|
| Uniform 403 error mapping | class-pro-prompts.php
|
| 429 rate-limit handling | class-pro-prompts.php
|
| Site-binding check (server-side) | https://emcp.msrbuilds.com |
| License validation via Freemius API | https://emcp.msrbuilds.com |
| Rate limiting (30 req / 5 min / IP) | https://emcp.msrbuilds.com |
Upgrade notes
- After updating, visit EMCP Tools → Prompts to see the new Premium Prompts library if you're a Pro subscriber. If you don't see the section yet, click Sync Library to force-refresh (the 24-hour transient cache may need to be cleared on the upgrade).
- The
elementor_mcp_pro_prompts_endpointfilter remains available if you want to point the plugin at a staging instance of the EMCP Tools website during development.