v0.3.0 — the v1.1 surface
Fifty-four operations across eleven MCP dispatchers. This release closes out the whole v1.1 roadmap band.
Install sitehelm-0.3.0.zip from Plugins → Add New → Upload Plugin.
Added
media-resize brings an oversized image within a width and a height you name, so the size the site actually serves fits the sizes the theme renders. The original file is never overwritten and never deleted: the reduced image is written to a new file beside it, the media item is re-pointed at the new file, and the untouched original stays reachable through the same metadata WordPress uses for its own scaled uploads. A second reduction still reads the true original rather than the previous reduction, so detail is not thrown away twice. An image already within the requested maximum is refused rather than re-saved.
elementor-elements-update changes the settings of several elements on one Elementor page as a single reviewed change — one preview, one save, one rollback reference. Every entry is checked against the page before anything is written, so an entry naming a setting the widget does not declare, or an element that is not there, refuses the whole request and leaves the page untouched rather than landing the entries before it and stopping.
Global Elementor tokens. Read the site's shared colour palette and type styles, and correct either once at site level instead of editing every page. An update merges into the addressed entry, so setting a colour does not erase its title, and a write cannot re-point a token that published pages already reference.
A stdio bridge, shipped with the plugin. AI clients that cannot open an HTTP connection launch a local subprocess instead. The code that runs on the operator's machine is the code that was reviewed and installed here, rather than whatever a package registry serves at launch, and the credential travels in the config's env block instead of on a command line every process can read.
system-operation-schema returns one named operation's full input and output schema on demand. An operation the caller cannot see does not surrender its schema: an unknown name and a hidden one are refused identically.
A retired-domain guard on writes. A request that reaches the site at an address it no longer answers as is refused for every write, with a remediation naming the address to reconnect at. Reads stay available on purpose, so an operator whose connector points at an old domain can still run the diagnostics that say so.
Changed — action may be required
Dispatcher catalogs no longer carry each operation's inputSchema and outputSchema. A dispatcher holding a dozen operations spent most of a client's context window on schemas for operations it would never call. Each entry keeps its usage example, and the catalog names system-operation-schema as the way to fetch a full schema when one is actually needed.
If your client read schemas straight from a catalog, it must now ask for them. This is the reason this is a minor release rather than a patch.
Catalogs also list a write that arrived on a retired host as unavailable with the blocking reason retired_host, rather than advertising it as available and refusing it on use.
Unchanged by design
Arbitrary PHP execution, unrestricted SQL, unrestricted filesystem access, and irreversible permanent deletion remain permanently out of scope.
Full detail in CHANGELOG.md and the operations reference.