Repository navigation
Releases
v1.3.0 — Friendly postinstall + runtime banner
Tiny niceness patch — no functional changes.
- Postinstall message: a polite greeting on
npm install(suppressible viaSUPPRESS_INSTALL_MESSAGE=1orCI=1) - Runtime banner: 3-line greeting on stderr at server start (suppressible via
SUPPRESS_BANNER=1orCI=1) - README: GitHub stars badge + 'If this saved you time' section
- package.json:
fundingfield for npm sponsor button
Same 34 tools as v1.2.0.
v1.2.0 — Post-write verification
Never trust the write API
Every mutating widget tool now re-reads the page from canonical WP after the write and surfaces persisted state to the model. The HTTP write API can lie — return 200 OK while plugin filters or REST quirks silently drop the payload. This contract makes that observable.
Triggered by Mads Hansen's comment on the v1.0 post-mortem: a mutating MCP tool MUST force the model to see ground truth, not the write API's optimistic acknowledgement.
Contract change (additive)
Every `applied` response now includes:
```jsonc
{
"mutated": true, // false = no-op OR silent drop
"warnings": [],
"verification": {
"method": "Re-read /wp/v2/pages/42 and check widget abc settings…",
"reread_ok": true,
"matches_requested": true, // false = write API lied
"persisted": { /* canonical state */ },
"notes": "…explanation when something diverged"
}
}
```
If `verification.matches_requested === false` → treat as failure regardless of HTTP status. Original survives in `backup_meta_key`.
Internal
- New `src/elementor/verify.ts` (`verifyWrite` + `deepEqual`)
- 4 new unit tests, 27 total
```bash
npm install -g elementor-mcp-agent@1.2.0
```
v1.1.0 — Widget-level CRUD + bulk/fleet ops
10 new tools — all reusing v1.0 safety primitives
Widget-level CRUD (7)
read_widget · update_widget_settings · delete_widget · duplicate_widget · swap_widget_type · add_widget · move_widget
Every destructive op runs: backup → validate → flush CSS → auto-rollback on invalid JSON.
Bulk & fleet (3)
bulk_find_replace_site— iterate every Elementor page on one site, per-page backupfleet_find_replace— same across every site in the pool (sequential)restore_from_file— restore from JSON file backup with pre-restore safety backup
Internal
- 9 new unit tests for
widget-ops(23 total, all green) - Total tools: 24 → 34
npm install -g elementor-mcp-agent@1.1.0v1.0.0 — Agency-grade release, e2e verified
24 tools, end-to-end tested against a live WordPress + Elementor install.
Highlights:
- find_replace with backup → JSON validate → auto-rollback if invalid → CSS flush
- WP-CLI primary for backups (REST silently drops unregistered postmeta)
- 3-level CSS flush fallback
- Two-call confirmation TTL'd for every destructive op
- Global widget awareness
- Hard-blocked wp-cli patterns (rm -rf, sudo, db reset)
See README.md for the full tool list and configuration. See CHANGELOG.md for the 7 bugs fixed during testing.