SkillAgentSearch skills...

wordpress-mcp-elementor-wppilot

WordPress MCP server, Elementor MCP server and WooCommerce MCP server. Free: 103 typed abilities for posts, pages, Gutenberg, media, menus, plugins and themes, with OAuth 2.1, safety profiles and rollback.

Install / Use

claude mcp add wppilot-labs -- npx -y github:wppilot-labs/wordpress-mcp-elementor-wppilot

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

81/100

Supported Platforms

Claude Code
Claude Desktop
Cursor

Tags

WPPilot — WordPress MCP Server, Elementor MCP and WooCommerce MCP

Point Claude Code, Codex, Cursor or Antigravity at your WordPress site and let it build, pages, block layouts, menus, taxonomies, media, SEO metadata, through typed abilities your permissions still govern.

Version WordPress PHP License

WPPilot turns your WordPress site into an MCP server, built on the WordPress Abilities API and the official WordPress MCP Adapter. AI clients discover, inspect and execute typed WordPress abilities through a compact three-tool interface instead of loading hundreds of one-off endpoints into context.

The free plugin is the WordPress MCP server. WPPilot Pro turns that same endpoint into an Elementor MCP server, a WooCommerce MCP server, and a Bricks, Divi, Oxygen or WPBakery MCP server — one connection, whichever stack the site actually runs.

Looking for an Elementor, Divi or Beaver Builder MCP server?

This is it, with one server instead of one per plugin. The free plugin here is the WordPress MCP server: connection, authentication, safety and the whole core surface. WPPilot Pro adds the builder-aware layer on top of the same endpoint, so an agent that connects once can work in whichever editor the site actually uses:

Elementor MCP · Bricks MCP · Divi MCP · Beaver Builder MCP · Oxygen MCP · Breakdance MCP · WPBakery MCP · Etch MCP · Mosaic MCP

Beyond page builders, Pro also covers WooCommerce, Advanced Custom Fields, Meta Box, JetEngine, Pods, ACPT, WPForms, Gravity Forms, Fluent Forms, Formidable, Contact Form 7, Ninja Forms, Yoast SEO, Rank Math, AIOSEO, SEOPress, Polylang, Weglot, The Events Calendar, Tutor LMS, Paid Memberships Pro and BuddyPress. Full table below: 51 integrations.

MCP protocol support

WPPilot serves both protocol revisions during the migration window:

| Revision | State | How it is served | | --- | --- | --- | | 2026-07-28 | Stateless. No initialize, no session. Each request carries its version and client capabilities in _meta. | includes/mcp/, dispatched ahead of the adapter | | 2025-11-25 | Legacy. initialize handshake and Mcp-Session-Id sessions. | The bundled MCP Adapter, unchanged |

A request is served under the modern revision only when it carries modern per-request _meta; everything else reaches the adapter untouched. Existing users do not need to reconnect unless their client requires the newer revision.

server/discover is implemented and advertises both versions plus the capabilities actually registered on the site. Subscriptions, the tasks extension and logging are deliberately not advertised, WPPilot has no change-notification producer, so subscriptions/listen is not implemented.

For OAuth, Client ID Metadata Documents are the preferred registration mechanism; RFC 7591 Dynamic Client Registration remains available as a compatibility fallback. Application Passwords and access tokens stay independent fallbacks for clients that run no OAuth flow.

It is a control layer, not an AI wrapper. No AI model is bundled: external MCP clients bring their own model access, and policy is enforced server-side on your install.

What an agent can actually build

One prompt from you becomes hundreds of typed calls from the agent, each checked against your WordPress capabilities and the active safety profile before it runs.

Free covers the core surface: posts and pages, block-editor content, taxonomies, menus and menu locations, media with alt text, users, site settings including the front page, plus design documents, skills and a change ledger with rollback.

You do not have to phrase anything in a particular way. A client's first call is discovery, and WPPilot answers with every ability registered on your install plus a catalogue of the skills available for them, carrying one instruction: if a skill matches the request, load its full instructions before starting the work. So "rebuild the pricing page and keep our spacing" already pulls in the right build skill, the element schemas and your existing design tokens without you naming any of it. Write your own prompts; the routing is on the site.

The library is a shortcut, not a dependency. WPPilot ships a prompt library in wp-admin for the jobs people run most, and those prompts name the abilities they call rather than describing an outcome and hoping:

Create a new draft page titled "[PAGE TITLE]" using core Gutenberg blocks only.

How the write works, so you do not get halfway and stall:
1. wppilot/create-post, create the draft first. It defaults to draft; leave it there.
2. wppilot/gutenberg-create-pending-batch, core blocks cannot be written straight
   from the server, because the block editor's own JavaScript is what validates and
   serialises them.
3. wppilot/gutenberg-add-pending-change, queue the block tree against the new post.
4. wppilot/gutenberg-enable-batch-finalization, then
   wppilot/gutenberg-get-finalization-url, open that link and the batch commits.

That last part is the honest bit: core blocks are not a headless write. Anything the block editor validates in JavaScript needs a browser session to finalise, and the prompts say so rather than leaving you stuck at step three.

WPPilot Pro adds plugin-aware modules, page builders, WooCommerce, forms, custom fields, SEO, themes, each with its own ability chains. The full published library is at https://wppilot.co/prompts.


Quick start

  1. Download the latest wppilot.zip from Releases and install it as wp-content/plugins/wppilot. A GitHub “Source code (zip)” download is not installable, it lacks vendor/ and uses the wrong folder name.
  2. Activate WPPilot.
  3. Open WPPilot → Configuration and leave Production Safe selected.
  4. Open WPPilot → Connect, choose your AI client, and follow the OAuth or Application Password route.

Canonical MCP endpoint:

https://example.com/wp-json/mcp/wppilot

OAuth-authenticated clients use /wp-json/mcp/wppilot-oauth. Application passwords and access tokens both authenticate on the canonical route. The older /wp-json/mcp/mcp-adapter-default-server route still resolves as a legacy alias, but new configurations should use the canonical path above.

Supported AI clients

Claude Code · Claude Desktop · Claude on the web · Codex CLI · Codex desktop app · Cursor · VS Code · GitHub Copilot · Devin Desktop (formerly Windsurf) · Factory Droid · Antigravity CLI · Antigravity IDE · Zed · Cline · Roo Code · Kilo Code · Amazon Q · OpenCode · OpenClaw · Manus

Per-client setup guides: https://wppilot.co/wordpress-mcp

Authentication

Three methods, chosen on WPPilot → Connect:

  • OAuth 2.1 with PKCE and dynamic client registration. Access tokens last 1 hour, refresh tokens 14 days, and every authorization is listed under Connected Apps in WordPress so it can be revoked individually. Recommended wherever the client can open a browser.
  • Application Passwords as a fallback for clients that cannot run a browser flow. Sent as HTTP Basic.
  • Access tokens — a long-lived Authorization: Bearer wpp_… credential for callers with no browser and no interactive session: the Claude Messages API MCP connector, the OpenAI Responses API mcp tool, cron jobs, automation platforms, curl. Created with an optional expiry, shown once, stored only as a SHA-256 digest, and revocable per token. It authenticates on the canonical /wp-json/mcp/wppilot endpoint, so the URL is the same one every other snippet uses.

An access token borrows the capabilities of the user who created it, and that check is re-run on every request rather than frozen at creation — demoting or deleting the user closes the token in the same moment.

None of the three is a product licence. WPPilot needs no activation key, entitlement check or subscription service to run.

Safety model

| Profile | What it allows | | --- | --- | | Read Only | Discovery and inspection. Every state-changing ability is blocked. | | Production Safe | Normal content, design, SEO, forms and commerce work, plus plugin activation and updates with confirmation. Blocks raw PHP, WP-CLI, filesystem, database, plugin/theme installation and deletion, and temporary admin access. | | Developer Full Access | Every enabled ability, including privileged surfaces. Critical calls still require explicit confirmation. |

On top of the profile: WordPress user capabilities still apply, individual abilities can be switched off, destructive operations require an explicit confirmation flag, writes are rate-limited per credential, and supported changes are recorded in a redacted change ledger with rollback.

Every ledger entry names the agent behind the write, not only the WordPress user. Claude Code, Cursor and Codex usually connect as the same administrator, so the user alone cannot answer which of them made a change: the OAuth client id or application-password UUID can, and it is what the ledger records, alongside the client name the agent introduced itself with. A write with no agent behind it — wp-admin, WP-CLI, cron — is recorded as direct rather than credited to the last agent seen. OAuth client ids are stored hashed.

What the free plugin can do

103 registered abilities on a fresh install, plus one MCP prompt per skill you save. The WordPress ones are grouped under a single WordPress category in the Abilities screen and can be switched off individually.

| Domain | Abilities | What it covers | | --- | --- | --- | | Content | 8 | List, search and read posts, pages and public custom post types. Create, update, trash, restore, and permanently delete with explicit confirmation. | | Taxonomies | 7 | Discover taxonomies, list and read terms, create, update, delete with confirmation, and assign terms to content. | | Media | 9 | List, read, import from a URL, update metadata and alt text, set and clear featured images, attach and detach, delete with confirmation. | | Comments | 6 | List and read with commenter email and IP withheld below moderate_comments. Reply, edit, approve, hold, spam, unspam, trash, restore, delete with confirmation. | | Menus | 10 | Create, rename and delete menus, add, update, reorder and remove items, list theme locations and assign menus to them. | | Revisions | 3 | List with autosaves distinguished, read against the live post, and restore. | | Users | 4 | Privacy-minimized reads. Login name, roles and registration date need list_users; the email address needs edit_users. | | Site | 3 | Site information, an explicit settings allowlist, and installed extensions. | | Plugins and themes | 11 | Search the WordPre

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars3
CategoryDevelopment
Updated19h ago
Forks0

Languages

PHP

Security Score

92/100

Audited on Aug 23, 2026

1 low