WDS MCP Content Manager

Changelog

3.10.4

  • Fix: All abilities now accept empty {} parameters over MCP. The MCP Adapter converts empty arguments to null, which failed schema validation (“input is not of type object”) because input schemas defined no default. Every ability registration now injects a default empty input, so zero-argument calls (e.g. wds/build-content-graph, wds/get-posts) work from any MCP client. Abilities with required parameters now return a proper missing-parameter error instead of the misleading type error.

3.10.3

  • Fix: wds/build-content-graph no longer fails with a generic error on larger sites. The builder now lifts PHP time and memory limits for the scan, frees post/meta caches between batches to bound memory, and fetches taxonomy relationships in chunks.
  • Fix: Internal-link extraction falls back to a regex parser when the PHP DOM extension (DOMDocument) is unavailable, instead of fataling.
  • Fix: Build failures now return the actual error message (and a save-failure is reported explicitly when the graph exceeds the database max_allowed_packet) rather than a generic “tool failed” response, so issues are diagnosable.

3.10.2

  • Fix: WordPress.org deployment now publishes only the clean plugin build. The release pipeline previously deployed the whole repository to the SVN trunk (build tooling, docs, and a nested copy of the plugin), which prevented the stable version from advancing past 3.9.26. The knowledge-graph and content-graph abilities introduced in 3.10.0 are now correctly delivered to installed sites.

3.10.1

  • Change: Plugin now distributes as a single freemium package. Free features work on install; Pro abilities unlock in place with a license key — no separate Pro plugin to install. Removed the redundant duplicate build from the release pipeline.

3.10.0

  • New: Free ability wds/sync-knowledge-graph — paginated, cursor-based export of all site content (posts, pages, categories, tags, WooCommerce products) as a typed graph with nodes and edges. Supports delta sync via since parameter, compact mode for low-token traversal, and optional full post_content inclusion.
  • New: Pro ability wds/build-content-graph — builds a full site content graph with PageRank, internal link analysis (uses Yoast’s pre-parsed links table when available, falls back to DOMDocument), topic cluster detection via union-find on shared taxonomy terms, and SEO metadata. Supports Yoast SEO, Rank Math, SEOPress, and AIOSEO with no hard plugin dependency — works without any SEO plugin installed.
  • New: Pro ability wds/get-content-insights — queries the cached content graph for 10 insight types: orphaned pages, isolated content, missing keyphrases, duplicate keyphrases, weak SEO scores, noindexed content, stale content, top PageRank pages, topic clusters, and internal link gaps.

3.9.26

  • Change: Plugin now ships as a single freemium build on WordPress.org — Pro abilities are included and unlocked with a license key.

3.9.18

  • Fix: WP.org compliance — added full External Services disclosure for Google Search Console API and Google Analytics Data API used by Site Kit Pro abilities, including data description and links to Google terms/privacy policy.
  • Fix: WP.org compliance — added Site Kit Pro abilities (get-top-queries, get-top-pages, get-page-performance, get-traffic-overview) to the Pro abilities list in the readme.

3.9.17

  • Add: Quick Setup prompt card in wizard Step 4 — paste one line into any AI agent to configure MCP automatically.
  • Add: Security plugin warning in wizard Step 3 — detects Wordfence, AIOS, iThemes Security, and Shield Security and shows plugin-specific fix instructions.

3.9.16

  • Fix: License server URL updated from wallstrdev.de to wallstrdev.com.

3.9.15

  • Add: Google Site Kit Analytics group added to Permissions tab (Pro, requires Site Kit plugin).
  • Add: Site Kit status card in Setup Wizard under “Pro Integrations” — shows install / activate / connect steps for Search Console and GA4.
  • Add: Admin notice on WDS settings page guiding Pro users to install or connect Site Kit when not fully set up.

3.9.14

  • Fix: Search Console site URL now reads from the correct settings key (propertyID, not siteURL), fixing get-top-queries and Search Console half of get-page-performance.

3.9.13

  • Fix: Site Kit abilities now bypass Site Kit’s REST layer entirely and call Google APIs directly. Uses User_Options(context, owner_id) with an explicit user ID so the correct OAuth token is found regardless of who the current WordPress user is at plugin boot time, resolving the persistent missing_required_scopes 403 that the Application Password approach could not fix.

3.9.12

  • Debug: richer error output — owner user, login, and raw Site Kit response body surfaced in warnings.

3.9.11

  • Fix: Corrected Site Kit option key format — hyphens are preserved (googlesitekit_search-console_settings, not search_console), so ownerID is now read correctly and the right user context is used for API requests.

3.9.10

  • Fix: Site Kit abilities now use WordPress Application Passwords + wp_remote_get() instead of rest_do_request(), bypassing Site Kit’s user-context caching issue that caused 403 errors even when OAuth was connected.

3.9.9

  • Fix: Added wds_sitekit_find_owner() helper that locates the correct WordPress user for Site Kit requests — tries module ownerID first, then any admin with googlesitekit_manage_options capability, then user ID 1 as fallback.

3.9.8

  • Debug: Added owner_id and user context to Site Kit error messages to diagnose OAuth token lookup failures.

3.9.7

  • Fix: Site Kit abilities now temporarily switch to the module owner’s WordPress user context before making internal REST requests, so Site Kit finds the correct OAuth tokens and returns real data instead of a permissions error.

3.9.6

  • Fix: Site Kit connection check now relies on Site Kit’s own REST endpoints instead of internal option keys, fixing false “not connected” errors when Search Console or GA4 modules are active.

3.9.5

  • New: Pro ability site-kit/get-top-queries — returns top search queries from Google Search Console.
  • New: Pro ability site-kit/get-top-pages — returns top pages by traffic from Google Analytics 4.
  • New: Pro ability site-kit/get-page-performance — returns combined Search Console + GA4 metrics for a single URL.
  • New: Pro ability site-kit/get-traffic-overview — returns site-wide traffic summary by channel from GA4.

3.9.4

  • Fix: WP.org compliance — corrected Text Domain header in free plugin to wds-mcp-content-manager to match the plugin slug.
  • Fix: Permission — wds/get-pages now restricts non-publish status queries (draft, private, etc.) to users with edit_pages capability.
  • Fix: Permission — wds/create-post and wds/update-post now require upload_files when a featured_image_url is provided.
  • Fix: Permission — wds/create-page and wds/update-page now use page-specific edit_pages capability instead of edit_posts, and require upload_files when a featured_image_url is provided.

3.9.3

  • Fix: WP.org compliance — removed GitHub-based one-click adapter install from admin notice; directs users to Plugins > Add New instead.
  • Fix: WP.org compliance — MCP endpoint URL now uses rest_url() instead of hardcoded home_url(‘/wp-json/…’) in wizard steps 2 and 4.
  • Fix: Permission — wds/get-post now rejects posts of non-viewable post types for unauthenticated callers.
  • Fix: Permission — wds/create-post requires publish_posts capability before setting publish or private status.
  • Fix: Permission — wds/upload-image verifies edit_post capability when a post_id is provided.
  • Fix: Permission — category and product-category auto-creation now gated on the appropriate manage-terms capability.

3.9.2

  • Fix: Plugin Check — corrected Text Domain header from wds-mcp-content-manager to wallstrdev-mcp-content-manager in both plugin files to match the plugin slug.
  • Fix: Plugin Check — updated text domain string in settings.php i18n calls to match.

3.9.1

  • Fix: Plugin Check — added phpcs:ignore for wp_json_encode output inside JSON-LD script tag in helpers.php.
  • Fix: Plugin Check — replaced variable-in-printf with explicit if/else in locked permissions card to satisfy output escaping rules.
  • Fix: Plugin Check — bumped Requires at least to 6.9 to match wp_register_ability() / wp_register_ability_category() minimum WordPress version.

3.9.0

  • Add: Free/Pro split — plugin now ships as two separate ZIPs. Free edition (WP.org) contains content, pages, and taxonomy abilities only. Pro edition (wallstrdev.de) contains all abilities including WooCommerce, Elementor, Media, and Multilingual.
  • Fix: WP.org compliance — removed GitHub-based one-click adapter install; adapter install now directs users to Plugins > Add New.
  • Fix: WP.org compliance — MCP endpoint URL now uses rest_url() instead of hardcoded home_url(‘/wp-json/…’).
  • Fix: Permission checks — wds/get-post now rejects non-viewable post types for unauthenticated requests.
  • Fix: Permission checks — wds/create-post requires publish_posts capability before setting publish/private status.
  • Fix: Permission checks — wds/upload-image verifies edit_post permission when a post_id is supplied.
  • Fix: Permission checks — category and product-category creation now gated on manage_categories / taxonomy manage capability.

3.8.4

  • Add: New optional Yoast score inputs on content abilities: seo_score and seo_content_score (0-100).
  • Improvement: wds/update-post can now deterministically set Yoast traffic-light score metadata for one-by-one editorial workflows.
  • Improvement: Focus keyphrase writes now also sync _yoast_wpseo_focuskw_text_input to match the Yoast metabox field.

3.8.3

  • Add: New free ability wds/reindex-yoast-seo to run Yoast SEO data optimization (indexables reindex) via Yoast indexing REST routes.
  • Add: New helper permission callback wds_can_manage_options and enforce admin-level access for Yoast reindex execution.
  • Improvement: Permissions screen now includes a toggle for wds/reindex-yoast-seo.

3.8.2

  • Add: New read ability wds/get-elementor-data — returns the raw _elementor_data JSON for any post, page, or Elementor Library template, so an AI client can read the current structure, make a targeted edit, and write it back via wds/inject-elementor-json or wds/update-elementor-template.

3.8.1

  • Add: New Polylang read ability wds/get-post-translations for checking post/page translation mappings.
  • Improvement: Multilingual Permissions group now includes wds/get-post-translations.

3.8.0

  • Add: Free taxonomy write abilities — wds/update-category, wds/delete-category, wds/update-tag, wds/delete-tag.
  • Add: Pro WooCommerce read abilities — wds/get-products and wds/get-product.
  • Add: Pro product taxonomy CRUD for categories and tags.
  • Add: Pro Polylang term translation abilities — wds/set-term-language, wds/link-term-translations, wds/get-term-translations.
  • Improvement: Permissions screen now includes all registered abilities.

3.6.5

  • Fix: Connect Client tabs now reliably switch in Setup Wizard Step 4 by binding tab click handlers after DOMContentLoaded.
  • Fix: Add a defensive panel lookup guard in tab switch logic to avoid JS errors if a tab target is missing.
  • Fix: Set Connect Client tab buttons to type=”button” to prevent accidental form-submit behavior.

3.6.4

  • Add: Register page abilities wds/get-pages, wds/create-page, and wds/update-page.
  • Add: Include page abilities in the Permissions screen.

3.6.3

  • Fix: Replace inline blocks with wp_add_inline_script() (WP.org enqueue requirement).
  • Fix: Re-encode JSON-LD schema via wp_json_encode before output (WP.org escaping requirement).
  • Fix: Add post-status guard in wds/get-post to prevent non-public posts being exposed to unauthenticated callers.
  • Fix: Add per-post current_user_can(‘edit_post’) checks in all write executors (update-post, update-product, set-product-schema, set-elementor-page, inject-elementor-json, set-featured-image, set-post-language, link-translations).

3.6.2

  • Fix: Revert Text Domain to wds-mcp-content-manager (WP.org-assigned slug).
  • Fix: Exclude .gitignore from plugin ZIP (hidden files not permitted on WP.org).

3.6.1

  • Fix: Resolve remaining Plugin Check errors — nonce suppression on read-only nav params, $license_url escaping, sanitized license key input.

3.6.0

  • Fix: Resolve all WordPress Plugin Check errors for WP.org submission (ABSPATH guards, escaping, wp_unslash, wp_parse_url, wp_delete_file).
  • Add: One-click WordPress MCP Adapter install — user-initiated, fully disclosed, uses Plugin_Upgrader.

3.5.1

  • Fix: Pro abilities now show as locked (with upgrade prompt) on Free plan instead of being hidden entirely — better AI agent UX.
  • Improvement: License tab includes direct link to purchase Pro.

3.5.0

  • Add: Freemium model — Free plan includes core post/category/tag abilities; Pro unlocks WooCommerce, Elementor, Media, and Multilingual abilities.
  • Add: License activation UI under Settings → WDS MCP Setup → License.
  • Add: 7-day offline grace period so sites with temporary connectivity issues do not lose Pro access.

3.4.0

  • Add: wds/set-featured-image ability.
  • Add: wds/inject-elementor-json ability for native Elementor sections.
  • Improvement: Ability permission checks use WordPress capabilities.

3.0.0

  • Initial public release with 13 core abilities.

Plugin Website
Visit website

Author
wallstrdev
Version:
3.10.4
Last Updated
July 2, 2026
Requires
WordPress 6.9
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.