Skip to content

Plugins & Themes

Discover and manage WordPress plugins and themes over MCP, built on WordPress core upgrader APIs (get_plugins, activate_plugin, Plugin_Upgrader, plugins_api, Theme_Upgrader, switch_theme, …). Installs come only from the wordpress.org directory by slug. No arbitrary URLs are accepted.

The 4 read/search tools are enabled by default. The 9 mutation tools ship disabled-by-default. An admin opts in per-tool on EMCP Tools → Tools in wp-admin.

Guardrails (shared EMCP_Tools_Package_Guard):

  • EMCP Tools, Elementor, and Elementor Pro can never be deactivated or deleted via MCP.
  • The active plugin/theme is protected from deletion.
  • Each operation checks its own capability (activate_plugins, install_plugins/install_themes, update_plugins/update_themes, delete_plugins/delete_themes, switch_themes).
  • Install / update / delete require a directly-writable filesystem. If WordPress would prompt for FTP credentials, the tool returns a clean error instead of hanging.

List installed plugins with active/inactive status, version, update-available flag, and a protected marker. Read-only (activate_plugins).

Search the wordpress.org plugin directory by keyword. Returns slug, name, version, rating, and requirements. Read-only (install_plugins).

Install a plugin from wordpress.org by slug; optionally activate after install (install_plugins).

Activate an installed plugin by file path or folder slug (activate_plugins).

Deactivate a plugin. Refuses EMCP Tools and Elementor (activate_plugins).

Update an installed plugin to the latest wordpress.org version; reports up-to-date when no update is pending (update_plugins).

Permanently delete an inactive, unprotected plugin. Requires a direct filesystem (delete_plugins).

List installed themes with active status, version, update-available flag, and a protected marker. Read-only (switch_themes).

Search the wordpress.org theme directory by keyword. Read-only (install_themes).

Install a theme from wordpress.org by slug. Requires a direct filesystem (install_themes).

Switch the active theme by stylesheet slug (switch_themes).

Update an installed theme to the latest wordpress.org version. Requires a direct filesystem (update_themes).

Permanently delete an inactive, unprotected theme. Requires a direct filesystem (delete_themes).

install-*, activate-plugin, deactivate-plugin, update-*, delete-*, and switch-theme are off until you enable them. Open EMCP Tools → Tools in wp-admin, find the Plugins & Themes category on the WordPress tab, and toggle the ones you want. See Disabling tools.