WPVibe MCP Server

MCP server for WordPress: connect Claude, ChatGPT, Cursor, and other AI clients to manage content, edit themes, run WP-CLI, and automate self-hosted WordPress sites.

Documentation

WPVibe โ€” MCP Server for WordPress

WordPress Plugin Version Tested up to WP 6.9 Requires PHP License GPL-2.0-or-later

WPVibe is the open-source WordPress plugin that makes your self-hosted WordPress site accessible to AI assistants via the Model Context Protocol (MCP). Pair the plugin with the hosted WPVibe MCP service at wpvibe.ai and your AI โ€” Claude, ChatGPT, Cursor, Windsurf, OpenCode, Claude Code, or any MCP-compatible client โ€” can manage WordPress through natural conversation.

๐ŸŒ Website: wpvibe.ai ๐Ÿ“ฆ Install from WordPress.org: wordpress.org/plugins/vibe-ai (listed as "Vibe AI" per WP.org rules โ€” same plugin) ๐Ÿ’ฌ Support: GitHub Issues or WordPress.org forum ๐Ÿง  About MCP: modelcontextprotocol.io

A quick note on naming: The brand and product is WPVibe. The WordPress.org plugin directory has rules that prevent "WP" prefixes in plugin names, so on WordPress.org you'll see it listed as "Vibe AI". Same plugin, same code, just a different name on the WP.org listing. The plugin file itself is vibe-ai.php because the WP.org plugin slug is vibe-ai and can't be changed without breaking installs. Everywhere else โ€” this README, our website, the docs โ€” it's WPVibe.

Scope of this repository: This is the WordPress plugin โ€” the WP-side component that exposes WordPress operations as MCP-callable REST endpoints. The hosted WPVibe MCP server (gateway, OAuth, tool registration) lives at wpvibe.ai and is not in this repo. Install both for the full experience.


What WPVibe does

WPVibe is the WordPress MCP integration โ€” a plugin you install on your WordPress site that exposes WordPress operations as MCP tools. Combined with the hosted WPVibe MCP service, your AI assistant gets a sandboxed, authenticated, capability-checked path to:

  • Manage WordPress content โ€” create, update, and publish posts, pages, and custom post types via the WordPress REST API
  • Edit WordPress themes safely โ€” sandboxed draft-preview-publish workflow with PHP syntax validation
  • Run WordPress WP-CLI commands โ€” 34 allowlisted commands via native PHP dispatch (no wp-cli binary required)
  • Use the WordPress Abilities API โ€” call any plugin's registered abilities (WordPress 6.9+)
  • Upload WordPress media โ€” pull images from URLs or Unsplash directly into your media library
  • Discover site state โ€” list files, search code, inspect installed plugins and themes โ€” all read-first by default

No copy-pasting between AI chat and wp-admin. No API key juggling. One-click OAuth, AES-256-GCM encrypted credentials, and your WordPress site is AI-accessible.

How WPVibe works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  AI assistant    โ”‚  Claude ยท ChatGPT ยท Cursor ยท Windsurf ยท Claude Code ยท โ€ฆ
โ”‚  (MCP client)    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚ MCP protocol (JSON-RPC over HTTPS)
         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  WPVibe MCP      โ”‚  Hosted at wpvibe.ai โ€” OAuth, routing, tool registration
โ”‚  server          โ”‚  (closed-source service, separate from this repo)
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚ HTTPS (authenticated REST)
         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  WPVibe plugin   โ”‚  โ† This repo. Installed on your WordPress site.
โ”‚  (Vibe AI on     โ”‚     Capability checks, sandboxing, PHP lint, denylists
โ”‚   WordPress.org) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚ Native WordPress PHP APIs
         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Your WordPress  โ”‚  Content, theme files, options, database
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

MCP tools your AI gets

When you connect a WordPress site through WPVibe, your AI assistant has access to:

CategoryTools
Site managementconnect_site, site_info, list_sites, remove_site
Contentrest_api โ€” call any WordPress REST endpoint (GET/POST/PUT/DELETE)
Mediaupload_media, search_images (Unsplash)
Abilitiesdiscover_abilities, get_ability_info, run_ability
Filesread_file, edit_file, write_file, delete_file, list_files, search_files, get_file_outline
Theme workflowcreate_draft_theme, publish_draft_theme, delete_draft_theme, get_preview_url, create_classic_theme
WP-CLIrun_wp_cli โ€” 34 native PHP commands, no shell required
Visualget_page_html, navigate
Skillsload_skill โ€” progressive instructions for common WordPress workflows

Full per-tool documentation: wpvibe.ai

Quick start

  1. Install the plugin from WordPress.org (listed as "Vibe AI") or clone this repo into wp-content/plugins/vibe-ai/
  2. Activate the plugin in wp-admin โ€” you'll see "WPVibe" in your admin sidebar
  3. Click the OAuth authorization link in the WPVibe admin page
  4. Add the WPVibe MCP server URL to your AI client:
    • Claude Desktop: Settings โ†’ Developer โ†’ Edit Config
    • Claude Code: claude mcp add wpvibe https://mcp.wpvibe.ai/mcp
    • Cursor / Windsurf: MCP settings panel
    • ChatGPT: Connectors โ†’ Add MCP server

Your WordPress site is now AI-accessible.

Security model

WPVibe is designed for safe AI access to production WordPress sites:

  • One-click OAuth โ€” no application passwords typed into chat, no long-lived tokens on disk
  • AES-256-GCM credential encryption at rest with per-site salting
  • Per-endpoint WordPress capability checks โ€” edit_themes, manage_options, install_plugins, etc.
  • DISALLOW_FILE_MODS honored for all write operations
  • Path sandboxing for file operations โ€” scoped to the active theme or its draft sandbox
  • File extension allowlist for writes โ€” .php, .css, .js, .json, .html, .txt
  • PHP syntax validation โ€” every saved PHP file passes an in-process syntax check before write
  • WP-CLI default-deny allowlist โ€” only 34 explicitly listed commands, dangerous flags stripped, shell metacharacters blocked
  • DB queries restricted to SELECT โ€” LIMIT enforced (max 1000), blocked-keyword regex with word boundaries
  • Sensitive option denylist โ€” auth_*, *_salt, active_plugins, db_version, and 20+ other core options can't be read or modified through the plugin
  • Two-phase confirmation flow for plugin install / plugin update
  • DELETE moves to trash for posts and pages โ€” never a permanent delete via the MCP
  • Per-user scoping on AI-action notifications so multi-admin sites don't leak activity between users

Full security model: wpvibe.ai/security

For responsible disclosure of security vulnerabilities, please email [email protected]. Do not open public GitHub issues for security reports.

What makes WPVibe different

FeatureWPVibeGeneric AI pluginsCustom integration
MCP-native (works with any AI client)โœ…โŒโŒ
No vendor lock-in (open protocol)โœ…โŒdepends
Safe theme editing (draft + preview + lint)โœ…โŒmaybe
WP-CLI command dispatchโœ…โŒrarely
WordPress Abilities API supportโœ…โŒrarely
Open-source plugin (GPL-2.0)โœ…variesvaries
Capability-checked file operationsโœ…variesdepends
OAuth flow (no app passwords in chat)โœ…โŒdepends

Compatibility

  • WordPress: 6.0+ (tested up to 6.9)
  • PHP: 7.4+ (8.x recommended)
  • AI clients: Anthropic Claude (Desktop, Web, Code), OpenAI ChatGPT, Cursor, Windsurf, OpenCode, Continue, Cody, and any MCP-compatible client

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md for guidelines.

Changelog

See CHANGELOG.md for the full version history. The canonical changelog for WordPress.org is in readme.txt.

License

GPL-2.0-or-later โ€” the same license as WordPress core. See LICENSE.

Related projects


WPVibe is built by Awesome Motive, makers of WPForms, SeedProd, MonsterInsights, OptinMonster, Duplicator, RafflePress, and other WordPress products.