Wpagent MCP server
dev.wpagent/wpagent-mcp·v1.1.4Manage WordPress & WooCommerce from any MCP client — 58 tools over a signed REST API.
0 stars64 downloads/wk
Reviews
Write oneNobody has reviewed Wpagent yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Wpagent tools (58, 19 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
wp_activate_pluginActivate an installed WordPress plugin. You can provide the plugin file path (e.g. "woocommerce/woocommerce.php"), slug (e.g. "woocommerce"), or name.
wp_activate_themeSwitch the active WordPress theme. Provide the theme slug (directory name).
wp_audit_best_practicesAudit the WordPress site for best practices. Returns a checklist covering security (SSL, debug mode, file editing, admin user, XML-RPC, spam protection, security plugin), SEO (permalinks, SEO plugin), performance (caching plugin), maintenance (backups, auto-updates, WP/plugin updates), and theme (child theme). Each check includes a status (pass/fail/warning) and whether it can be auto-fixed.
wp_cli_executewrite actionExecute a WP-CLI command. Deny by default: only allowlisted commands run (cache, comment, core, cron, language, media, menu, option, plugin, post, rewrite, role, sidebar, site, term, theme, transient, user, widget). db, eval, eval-file, shell, server, config and package are refused, as are the --require, --exec, --ssh, --http and --path flags. Quote any value containing shell metacharacters. The f
wp_cli_list_commandsList the allowlisted WP-CLI commands and their permitted subcommands, plus the refused global flags. Anything absent from the list is refused.
wp_cli_statusCheck WP-CLI availability. Returns whether the feature is enabled in wp-config.php, whether proc_open is available, the WP-CLI path and version. Call this before any WP-CLI command.
wp_create_contentwrite actionCreate a new WordPress post, page, or product. For WooCommerce products, you can set prices, SKU, stock, etc.
wp_create_userwrite actionCreate a new WordPress user with username, email, and optional role/name fields.
wp_deactivate_pluginDeactivate an active WordPress plugin.
wp_delete_commentwrite actionPermanently delete a comment.
wp_delete_contentwrite actionDelete a WordPress post, page, or product. By default moves to trash; use force=true to permanently delete.
wp_delete_mediawrite actionDelete a media file from the WordPress media library.
wp_delete_optionwrite actionDelete a WordPress option by key.
wp_delete_pluginwrite actionDelete a WordPress plugin (deactivates it first if active). This permanently removes the plugin files.
wp_elementor_get_pageGet the Elementor data for a page/post by its ID. Returns the full element tree (sections > columns > widgets), page settings, and metadata. Use this to understand the current structure before making modifications.
wp_elementor_list_templatesList all saved Elementor templates (sections, pages, headers, footers, etc.).
wp_elementor_statusCheck if Elementor is active and get its version.
wp_elementor_update_pagewrite actionUpdate the Elementor data for a page/post. Send the full element tree as JSON. The structure follows Elementor's hierarchy: sections (elType: "section") contain columns (elType: "column") which contain widgets (elType: "widget", widgetType: "heading"|"text-editor"|"image"|etc.). Each element has an "id" (8-char hex), "settings" object, and "elements" array for children. Always read the page first
wp_elementor_widget_typesList all available Elementor widget types with their names, titles, icons, and categories. Use this to know which widgets you can use when building pages.
wp_fix_best_practicesApply auto-fixes for best practice issues. Currently supports fixing: "permalinks" (sets to /%postname%/) and "xmlrpc" (disables via mu-plugin). Pass an array of fix IDs to apply.
wp_get_commentGet a single comment with full details by its ID.
wp_get_contentGet a single WordPress content item by ID with full details including content, meta fields, categories, tags, and WooCommerce product data if applicable.
wp_get_mediaGet detailed information about a single media file including all available sizes and URLs.
wp_get_optionGet a single WordPress option value by key. Common options: blogname, blogdescription, timezone_string, date_format, time_format, permalink_structure, posts_per_page, etc.
wp_get_options_batchGet multiple WordPress options at once. Provide a comma-separated list of option keys.
wp_get_userGet detailed information about a specific WordPress user by ID.
wp_install_pluginInstall a plugin from the WordPress.org repository by its slug. Optionally activate it immediately after installation.
wp_install_themeInstall a theme from WordPress.org by its slug. Optionally activate it after installation.
wp_list_commentsList comments with optional filtering by status (approve, hold, spam, trash, all), post ID, and search.
wp_list_contentList WordPress content (posts, pages, products, or any custom post type). Supports search, pagination, and filtering by status.
wp_list_mediaList media files in the WordPress media library. Can filter by MIME type (image/jpeg, video/mp4, etc.) and search by name.
wp_list_pluginsList all installed WordPress plugins with their status (active/inactive), version, and update availability.
wp_list_themesList all installed WordPress themes with their status (active/inactive), version, and parent theme info.
wp_list_usersList WordPress users with optional filtering by role, search query, and pagination.
wp_reply_commentReply to a comment as the site administrator.
wp_search_pluginsSearch the WordPress.org plugin directory. Use this to find plugins by name or keyword before installing them.
wp_search_themesSearch the WordPress.org theme directory for themes matching a query.
wp_set_optionsSet one or more WordPress options. Provide an object of key-value pairs. Note: some sensitive options (siteurl, admin_email, etc.) are blocked for security.
wp_site_healthCheck if the WordPress site is reachable and the WP AI Assistant plugin is active.
wp_site_infoGet comprehensive WordPress site information including version, plugins, theme, post types, WooCommerce status, and server details.
wp_update_comment_statuswrite actionChange a comment status: approve, hold (unapprove), spam, or trash.
wp_update_contentwrite actionUpdate an existing WordPress post, page, or product. Only provide the fields you want to change.
wp_update_pluginwrite actionUpdate a WordPress plugin to the latest version from WordPress.org.
wp_update_userwrite actionUpdate an existing WordPress user (email, role, name fields).
wp_upload_mediawrite actionUpload a file to the WordPress media library using base64-encoded data. Maximum file size: 10MB.
wp_woocommerce_create_couponwrite actionCreate a new WooCommerce coupon with discount rules.
wp_woocommerce_create_tax_ratewrite actionCreate a new WooCommerce tax rate for a specific country/state.
wp_woocommerce_get_orderwrite actionGet full details of a single WooCommerce order including line items, billing/shipping addresses, and payment info.
wp_woocommerce_get_settingsGet WooCommerce settings by group. Available groups: "general" (store address, currency), "products" (weights, stock), "shipping", "checkout" (guest checkout, etc.), "emails".
wp_woocommerce_list_couponsList all WooCommerce coupons with their discount types, amounts, and usage stats.
wp_woocommerce_list_ordersList WooCommerce orders with customer info, totals, and status. Supports filtering by status and pagination.
wp_woocommerce_list_tax_ratesList all WooCommerce tax rates configured on the site.
wp_woocommerce_payment_gatewaysList all available WooCommerce payment gateways with their enabled/disabled status.
wp_woocommerce_shipping_zonesList WooCommerce shipping zones with their configured shipping methods.
wp_woocommerce_statsGet WooCommerce sales statistics for a given period: total revenue, order count, average order value, and customer count.
wp_woocommerce_statusCheck if WooCommerce is installed and active. Returns store details: currency, address, product/order counts, and enabled features.
wp_woocommerce_update_payment_gatewaywrite actionEnable/disable or configure a WooCommerce payment gateway.
wp_woocommerce_update_settingswrite actionUpdate WooCommerce settings. Provide key-value pairs of woocommerce_ prefixed options. For example: {"woocommerce_currency": "EUR", "woocommerce_default_country": "FR"}.
Public scan report
scanner v0.1.10 · 2026-10-31 · same rubric, same numbers if you re-run it
- Code scan31 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 65 days ago12/15
- Maintainer identitynamespace and repository owner differ; GitHub account older than a year5/10
How Wpagent compares
Against every graded E-commerce MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 74/100
- higher than 48% of 2,170 E-commerce servers
- Tools
- 58
- the typical E-commerce server has 6
- Tools that change things
- 33%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 64
- more than 56% of 412 E-commerce servers with a package
What its tools let an agent do: 39 read · 19 change
Install Wpagent in Claude Code, Cursor or VS Code
Runs npx -y wpagent-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add wpagent-mcp -- npx -y wpagent-mcp
What the publisher says
From the Wpagent repository's README, as published. We do not edit it. Read it on GitHub
wpagent-mcp
An MCP server that lets Claude — or any MCP-compatible client — actually operate a WordPress site: plugins, content, themes, menus, media, users, WooCommerce, Elementor and WP-CLI.
It talks to your site through the free WpAgent bridge plugin over a REST API where every request is signed with HMAC-SHA256. No site credentials are involved, and no data passes through a third-party service: the connection is client → your WordPress, directly.
Install
Nothing to install ahead of time — the config below fetches it on demand.
- Install the WpAgent plugin on your WordPress site and activate it.
- In the WordPress admin, open WpAgent and generate an API key. Choose the permissions you want the assistant to have; a read-only key is a sound way to start.
- Add the server to your MCP client. For Claude Desktop, in claudedesktopconfig.json:
{
"mcpServers": {
"wpagent": {
"command": "npx",
"args": ["-y", "wpagent-mcp"],
"env": {
"WP_SITE_URL": "https://your-site.com",
"WP_API_KEY_ID": "wpaia_xxxxxxxxxxxx",
"WP_API_SECRET": "the secret shown once when you generated the key"
}
}
}
}For Claude Code:
claude mcp add wpagent \
--env WP_SITE_URL=https://your-site.com \
--env WP_API_KEY_ID=wpaia_xxxxxxxxxxxx \
--env WP_API_SECRET=... \
-- npx -y wpagent-mcpEnvironment variables
What it can do
What it will not do
The API has no path to arbitrary PHP, no path to your database, and no path to wp-config.php. WP-CLI execution is disabled unless the site owner adds define('WPAIAENABLEWPCLI', true); on the server, and even then only allowlisted commands run — db, eval, eval-file, shell, server, config and package are always refused.
Safety
- Every request is signed with HMAC-SHA256 and carries a timestamp; requests older than five minutes are rejected.
- Permissions are per key and checked on every route, so a read-only key stays read-only.
- Every call is written to an audit log you can read in the WordPress admin.
- Revoking a key in WordPress takes effect immediately.
Ask the assistant to confirm before destructive actions, and keep a current backup — it can delete content when you tell it to.
Related
- WpAgent — hosted dashboard built on the same bridge, with a free read-only tier
- The bridge plugin is GPL-2.0-or-later; this server is MIT.
Licence
MIT © KipDev
Nothing above is checked by us. What we check is on the safety report.
Wpagent: common questions
- Is Wpagent MCP server safe?
- Mostly: it is graded B (74/100). Read the Wpagent safety report
- How do I install Wpagent?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Wpagent need an API key?
- Yes. The registry entry asks for
WP_API_SECRET. - Is Wpagent maintained?
- The last commit was 70 days ago (2026-08-27). The latest release is v1.1.4.
- What can I use instead of Wpagent?
- Servers from other publishers that do the same job: Loki Mode MCP server, Ecommerce Trends MCP server and Shopify MCP server.
- How does Wpagent compare with other E-commerce MCP servers?
- safety score 74/100 (higher than 48% of 2,170 E-commerce servers); tools 58 (the typical E-commerce server has 6); tools that change things 33% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Wpagent
Same job from other publishers: the closest match first, then the best rated.
- Loki ModeAutonomous spec-to-product coding-agent CLI with an MCP server exposing 39 tools over stdio.not reviewedEstablishedB
Ecommerce Trends MCPProduct and category demand trend volume over time, with growth signals. Free key at trendsmcp.ainot reviewedGrowingA- ShopifyMCP server for Shopify — Admin REST API (orders, products, customers, inventory, fulfillments)not reviewedGrowingB
- Vectros AITyped record store + hybrid search over MCP: deterministic lookups + semantic memory, per-customer.not reviewedGrowingB