WDS MCP Content Manager

Description

WDS MCP Content Manager connects your WordPress site to AI agents (Claude, Cursor, and other MCP-compatible clients) so they can read, create, and manage your content through natural language prompts.

How it works

The plugin registers a set of abilities on top of the WordPress MCP Adapter. Once installed, your AI agent can list posts, create content, manage categories and tags, upload images, and more — all without leaving your AI client.

Free abilities (no license required)

  • wds/get-posts — List published posts with title, URL, date, and excerpt
  • wds/get-post — Fetch full post content, categories, tags, and SEO meta
  • wds/create-post — Create a post with categories, tags, and featured image
  • wds/update-post — Update any field of an existing post
  • wds/reindex-yoast-seo — Run Yoast SEO data optimization (indexables reindex) after bulk SEO updates
  • wds/get-pages — List pages with URL, status, parent, and template
  • wds/create-page — Create a page with slug, parent, template, and featured image
  • wds/update-page — Update page content, status, slug, hierarchy, and template
  • wds/get-categories — List all post categories
  • wds/create-category — Create a new post category
  • wds/update-category — Update an existing post category
  • wds/delete-category — Delete an existing post category
  • wds/get-tags — List all post tags
  • wds/create-tag — Create a new post tag
  • wds/update-tag — Update an existing post tag
  • wds/delete-tag — Delete an existing post tag

Pro abilities (requires a Pro license)

  • wds/get-products — List WooCommerce products with pricing and status
  • wds/get-product — Fetch full WooCommerce product details and taxonomy terms
  • wds/create-product — Create a WooCommerce product with pricing and downloads
  • wds/update-product — Update any field of an existing WooCommerce product
  • wds/get-product-categories — List WooCommerce product categories
  • wds/create-product-category — Create a WooCommerce product category
  • wds/update-product-category — Update a WooCommerce product category
  • wds/delete-product-category — Delete a WooCommerce product category
  • wds/get-product-tags — List WooCommerce product tags
  • wds/create-product-tag — Create a WooCommerce product tag
  • wds/update-product-tag — Update a WooCommerce product tag
  • wds/delete-product-tag — Delete a WooCommerce product tag
  • wds/set-product-schema — Inject JSON-LD structured data into the page head
  • wds/set-elementor-page — Inject a full HTML design via Elementor Canvas
  • wds/inject-elementor-json — Inject native Elementor sections JSON
  • wds/upload-image — Sideload an image from URL into the Media Library
  • wds/set-featured-image — Set or remove the featured image on a post
  • wds/set-post-language — Set Polylang language on a post
  • wds/link-translations — Link posts as Polylang translation pairs
  • wds/set-term-language — Set Polylang language for taxonomy terms
  • wds/link-term-translations — Link taxonomy terms as Polylang translation pairs
  • wds/get-term-translations — Get Polylang translation map for a taxonomy term
  • site-kit/get-top-queries — Returns top Google Search Console queries for the site (requires Google Site Kit plugin)
  • site-kit/get-top-pages — Returns top pages by traffic from Google Analytics 4 (requires Google Site Kit plugin)
  • site-kit/get-page-performance — Returns combined Search Console + GA4 metrics for a single URL (requires Google Site Kit plugin)
  • site-kit/get-traffic-overview — Returns site-wide traffic summary by channel from GA4 (requires Google Site Kit plugin)

Pro licenses are available at wallstrdev.de.

Requirements

  • WordPress 6.3 or later
  • WordPress MCP Adapter plugin (free, required)
  • WooCommerce — optional, needed for product abilities
  • Elementor — optional, needed for Elementor abilities
  • Polylang — optional, needed for multilingual abilities

External Services

WordPress MCP Adapter

If the WordPress MCP Adapter plugin is not installed, an admin notice offers a one-click install button. Clicking it downloads the adapter from:

https://github.com/WordPress/mcp-adapter/releases/latest/download/mcp-adapter.zip

This is the official plugin from the WordPress GitHub organisation. The download is triggered only by an explicit admin click — nothing is downloaded automatically.

WDS License Server

This plugin connects to an external license validation service only when a Pro license key is entered.

Service: WDS License Server, operated by Wallstrdev (https://wallstrdev.de)

When it is called:
– When you save a Pro license key under Settings WDS MCP Setup License
– Once per day (in the background on admin_init) to revalidate the key

What is sent:
– Your license key
– Your site domain (e.g. example.com)

What is NOT sent: post content, user data, personally identifiable information, or site configuration.

Why: To confirm the license key is valid for your domain and determine your plan tier (free vs. pro).

Data policy: wallstrdev.de/privacy-policy/

Free users (no license key entered) never trigger any external HTTP request.

Google Search Console API

The Pro abilities site-kit/get-top-queries and site-kit/get-page-performance call the Google Search Console API directly on behalf of the site owner.

Service: Google Search Console API, provided by Google LLC (https://searchconsole.googleapis.com)

When it is called: Only when an AI agent explicitly invokes the site-kit/get-top-queries or site-kit/get-page-performance Pro ability. Requires the Google Site Kit plugin to be installed, activated, and connected to Search Console.

What is sent:
– Your Search Console property URL (your site’s domain)
– Query parameters: date range, dimensions (query/page), row limit
– An OAuth 2.0 Bearer token retrieved from the Site Kit plugin’s stored credentials — no token is stored or transmitted by this plugin

What is NOT sent: post content, user data, passwords, or any personally identifiable information beyond the site URL.

Why: To retrieve search query and page performance data from Google Search Console so the AI agent can analyse your organic search traffic.

Google Terms of Service: https://developers.google.com/terms
Google Privacy Policy: https://policies.google.com/privacy

Google Analytics Data API

The Pro abilities site-kit/get-top-pages, site-kit/get-page-performance, and site-kit/get-traffic-overview call the Google Analytics Data API directly on behalf of the site owner.

Service: Google Analytics Data API, provided by Google LLC (https://analyticsdata.googleapis.com)

When it is called: Only when an AI agent explicitly invokes one of the above Pro abilities. Requires the Google Site Kit plugin to be installed, activated, and connected to a Google Analytics 4 property.

What is sent:
– Your GA4 numeric property ID
– Query parameters: date range, metrics (sessions, pageviews, etc.), dimensions (pagePath, sessionDefaultChannelGroup, etc.), row limit
– An OAuth 2.0 Bearer token retrieved from the Site Kit plugin’s stored credentials — no token is stored or transmitted by this plugin

What is NOT sent: post content, visitor PII, passwords, or any data beyond the analytics query parameters listed above.

Why: To retrieve traffic and engagement metrics from Google Analytics 4 so the AI agent can summarise your site’s performance.

Google Terms of Service: https://developers.google.com/terms
Google Privacy Policy: https://policies.google.com/privacy

Installation

  1. Install and activate the WordPress MCP Adapter plugin first.
  2. Upload the wds-mcp-content-manager folder to /wp-content/plugins/ or install via the WordPress plugin screen.
  3. Activate the plugin in WP Admin Plugins.
  4. Go to Settings WDS MCP Setup and copy your MCP endpoint URL.
  5. Add the endpoint to your AI client (Claude Desktop, Claude Code, Cursor, etc.).

Connect with Claude Code

claude mcp add wordpress --url https://your-site.com/wp-json/mcp/v1

Replace https://your-site.com with your WordPress site URL.

FAQ

Do I need a paid license to use this plugin?

No. All core content abilities (posts, pages, categories, tags) work without a license. A Pro license unlocks WooCommerce, Elementor, Media Library, and Polylang abilities.

Which AI clients are supported?

Any MCP-compatible client: Claude Desktop, Claude Code, Cursor, and others. The plugin uses the standard Model Context Protocol so it works with any compliant client.

Does this plugin require WooCommerce or Elementor?

No. Those plugins are optional. Their abilities only appear when the corresponding plugin is installed and active.

Is my data sent to any external server?

Only if you activate a Pro license key. See the “External Services” section below for details. Free users make no external calls.

Where do I get a Pro license?

At wallstrdev.de/product/wds-mcp-content-manager-pro/. During checkout you enter the domain where the plugin is installed; a license key is emailed to you after payment.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“WDS MCP Content Manager” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

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.