WordPress MCP Server

A secure bridge between AI assistants and WordPress, enabling site management and content operations through natural language.

WordPress MCP Server

npm version License: MIT Node.js Version PRs Welcome

A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with WordPress sites through a standardized interface.

Description

WordPress MCP Server provides a secure bridge between AI assistants and WordPress installations, allowing for content management, site administration, and plugin/theme operations through natural language interactions. Built on the Model Context Protocol standard, it offers a comprehensive set of tools for WordPress automation.

Features

  • Content Management: Create, read, update, and delete posts, pages, and custom post types
  • Media Handling: Upload and manage media files with automatic optimization
  • User Management: Handle user operations and permissions
  • Plugin & Theme Control: Install, activate, deactivate, and manage plugins/themes
  • Site Configuration: Manage WordPress settings and configurations
  • Custom Post Types: Full support for custom post types and taxonomies
  • SEO Integration: Built-in support for popular SEO plugins
  • Security: OAuth2 authentication and secure API communications
  • Batch Operations: Efficient bulk actions for content and media
  • Real-time Updates: Live site status and health monitoring

Prerequisites

  • Node.js 16.0 or higher
  • npm or yarn package manager
  • WordPress 5.0 or higher with REST API enabled
  • Valid WordPress admin credentials or application passwords
  • Claude Code or any MCP-compatible client

Installation

Quick Start with npx (Recommended)

npx wordpress-mcp-server init

Local Installation

# Clone the repository
git clone https://github.com/yourusername/wordpress-mcp-server.git
cd wordpress-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

# Configure your WordPress connection
npm run configure

Global Installation

npm install -g wordpress-mcp-server
wordpress-mcp configure

Configuration

Initial Setup

  1. Create a configuration file:
npx wordpress-mcp-server configure
  1. Or manually create wordpress-config.json:
{
  "sites": [
    {
      "name": "my-wordpress-site",
      "url": "https://example.com",
      "username": "admin",
      "password": "your-application-password",
      "authMethod": "basic"
    }
  ],
  "defaultSite": "my-wordpress-site"
}

Authentication Methods

Application Passwords (Recommended)

  1. Go to WordPress Admin → Users → Your Profile
  2. Scroll to "Application Passwords"
  3. Enter a name and click "Add New Application Password"
  4. Copy the generated password to your config

Basic Authentication

  • Requires HTTP Basic Auth plugin
  • Less secure, use only for development

OAuth2

Usage Examples

With Claude Code

  1. Add to Claude Code configuration:
{
  "mcpServers": {
    "wordpress": {
      "command": "npx",
      "args": ["wordpress-mcp-server", "start"]
    }
  }
}
  1. Use natural language commands:
"Create a new blog post about AI trends with featured image"
"Update the homepage content"
"Install and activate Yoast SEO plugin"
"Bulk upload images from folder"

Programmatic Usage

const { WordPressMCP } = require('wordpress-mcp-server');

const mcp = new WordPressMCP({
  site: 'my-wordpress-site'
});

// Create a post
await mcp.tools.createPost({
  title: 'Hello World',
  content: 'This is my first post!',
  status: 'publish'
});

Available MCP Tools

Content Tools

  • wp_create_post - Create posts, pages, or custom post types
  • wp_update_post - Update existing content
  • wp_get_post - Retrieve post details
  • wp_delete_post - Delete content
  • wp_list_posts - List and filter content

Media Tools

  • wp_upload_media - Upload images, videos, documents
  • wp_get_media - Retrieve media information
  • wp_delete_media - Remove media files
  • wp_optimize_images - Bulk image optimization

Site Management

  • wp_get_site_info - Site details and health
  • wp_update_settings - Modify site settings
  • wp_clear_cache - Clear various caches
  • wp_backup_site - Create site backups

Plugin & Theme Tools

  • wp_install_plugin - Install from repository
  • wp_activate_plugin - Activate installed plugins
  • wp_update_plugin - Update to latest version
  • wp_list_themes - Available themes

User Management

  • wp_create_user - Add new users
  • wp_update_user - Modify user details
  • wp_list_users - Get user listings
  • wp_manage_roles - Role and capability management

Troubleshooting

Common Issues

Connection Failed

  • Verify WordPress URL is correct
  • Check REST API is enabled: https://yoursite.com/wp-json/
  • Ensure credentials are valid

Authentication Errors

  • Application passwords require WordPress 5.6+
  • Username should be your login name, not email
  • Some hosts block REST API authentication

Permission Denied

  • User needs appropriate WordPress capabilities
  • Check plugin/theme installation permissions
  • Verify file upload limits

Debug Mode

Enable verbose logging:

export WP_MCP_DEBUG=true
npx wordpress-mcp-server start

Getting Help

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Security

For security concerns, please review our Security Policy and report issues responsibly.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Built on the Model Context Protocol standard
  • WordPress REST API documentation and community
  • Claude and Anthropic for MCP development

Made with ❤️ for the WordPress and AI communities

Related Servers