WordPress MCP Server
The WordPress MCP Server enables AI agents to fully manage WordPress sites through natural language commands with 190+ tools for comprehensive control.
Key Capabilities:
Content Management: Create, update, delete, search, schedule, publish, and duplicate posts, pages, media, users, categories, tags, and comments with bulk operations support
File System Operations: Read, write, delete, copy, move, and list files within themes, plugins, and uploads directories with security validation and automatic backups
Theme Management: Activate, delete, create child themes, modify theme files, manage theme.json configurations, templates, template parts, and global styles for block themes (FSE)
Plugin Management: Activate, deactivate, delete plugins, and read/write plugin files with status checking
Navigation & Menus: Create, update, and delete menus and menu items; assign menus to theme locations with full hierarchy support
User Management: Create, update, delete users; manage roles, permissions, and capabilities; reassign content
Custom Content Types: Manage post types, taxonomies, and terms with detailed information retrieval
Shortcodes & Cron Jobs: List and execute shortcodes; schedule, unschedule, and manually run scheduled tasks
Widgets: Manage sidebars, widget areas, and widget types
Database Operations: Execute queries, manage options, and inspect tables
SEO & Metadata: Set meta descriptions, focus keywords, and custom metadata (compatible with Yoast SEO, Rank Math, All-in-One SEO)
Site Configuration: Get and update site settings, retrieve complete site information and API routes, test connections
WooCommerce Integration: Manage products, orders, customers, inventory, and reports
Gutenberg Blocks: Work with block types, patterns, reusable blocks, and templates
Security Monitoring: Check site health, updates, integrity, and debug logs
Performance Optimization: Manage cache, optimize database, process images, and convert to WebP
Backup & Migration: Create full/partial backups, restore, export/import, and clone sites
Security Features:
Multi-layer validation with automatic backups before modifications
Restricted to allowed directories and safe file extensions
Malware pattern detection and PHP syntax validation
WordPress permission system enforcement
File size limits (10MB)
Integration Support: Compatible with Claude Desktop, Cline, and any MCP-compatible AI platform.
Provides 12 tools for managing WordPress Gutenberg block editor features including block types, patterns, reusable blocks, and templates.
Enables e-commerce management through WooCommerce integration with 15 tools for managing products, orders, customers, inventory, coupons, and reports.
Provides comprehensive WordPress site management with 190+ tools for content management, file system operations, theme customization, plugin control, menu management, custom post types, shortcodes, cron jobs, widgets, and database operations.
Mentioned as an example plugin that can be managed through the plugin control tools, allowing activation and management of Yoast SEO functionality.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WordPress MCP Server create a blog post about WordPress and publish it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WordPress MCP Server
Also Available on glama.ai | Cursor.store
Video Demo : https://youtu.be/6hwMqXQFKN0
💝 Support This Project
If this project helps you, consider supporting its development:
Cryptocurrency Donation
Select Coin | Select Network | Contract | Deposit Address |
🪙 USDT (TetherUS) | 🔗 TRX (Tron TRC20) | Ending in |
|
Your support helps maintain and improve this project! 🙏
WPMCP server gives AI agents complete control over WordPress sites. Connect it to Claude, Cline, or any MCP-compatible AI, and manage WordPress through natural language.
Key Capabilities:
✅ Content Management - Posts, pages, media, users, comments
✅ File System Access - Read and write theme/plugin files
✅ Theme Customization - Create child themes, modify styles, customize block themes
✅ Plugin Control - Activate, deactivate, and modify plugins
✅ Menu Management - Create menus, add items, assign to locations
✅ Custom Content Types - Manage post types and taxonomies
✅ Shortcodes & Cron - Execute shortcodes, schedule tasks
✅ Widget System - Manage sidebars and widgets
✅ Database Operations - Execute queries, manage options, inspect tables
✅ WooCommerce Integration - Products, orders, customers, inventory, reports
✅ Gutenberg Blocks - Block types, patterns, reusable blocks, templates
✅ Advanced SEO - Sitemaps, redirects, schema markup, Open Graph, analysis
✅ Security Monitoring - Site health, updates, integrity checks, debug logs
✅ Performance Optimization - Cache management, database optimization, image processing
✅ Backup & Migration - Full/partial backups, restore, export/import, cloning
✅ User Roles - Custom roles, capabilities, permissions, role management
✅ Complete Security - Multi-layer validation and automatic backups
Related MCP server: MCP Site Manager
Quick Start
1. Install
npm i -g wpmcp@3.0.02. Configure
Add to your MCP client (Claude Desktop, Cline, etc.):
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "wpmcp@3.0.0"],
"env": {
"WORDPRESS_URL": "https://your-site.com",
"WORDPRESS_USERNAME": "admin",
"WORDPRESS_PASSWORD": "your-app-password"
}
}
}
}3. Install WordPress Plugin (Required)
Install
wpmcp-plugin/wpmcp.zipto/wp-content/plugins/wpmcp-plugin/Activate via WordPress Admin → Plugins → "WordPress MCP Server Plugin"
Ensure you have
edit_themesandedit_pluginscapabilities
What the plugin enables:
File system operations (read, write, delete, copy, move)
Shortcode execution
Cron job management
All advanced WordPress features
See wpmcp-plugin/README.md for detailed setup guide.
4. Use
"Create a child theme called 'My Custom Theme'"
"Activate Akismet plugin"
"Read the style.css file from my theme"
"Create a blog post about WordPress and publish it"Available Tools (130+)
👉 See WPMCP_TOOLS.MD for complete detailed list of all 130 tools.
Category | Tools | What You Can Do |
Posts (15) | create, update, delete, search, schedule, publish, duplicate, bulk | Manage all blog content |
Pages (4) | create, update, delete, hierarchy | Build site structure |
Media (5) | upload, update, delete, featured images | Manage images and files |
Users (4) | create, update, delete, roles | User management |
Categories (4) | create, update, delete, hierarchy | Organize content |
Tags (2) | create, get | Tag content |
Comments (4) | create, update, delete, moderate | Manage discussions |
Settings (4) | get, update site settings | Configure WordPress |
SEO (2) | meta description, focus keywords | Optimize for search |
File System (8) | read, write, delete, copy, move | Edit any file |
Theme Manager (13) | activate, child themes, theme.json, templates | Complete theme control |
Plugin Manager (10) | activate, deactivate, read/write files | Full plugin control |
Menu Manager (8) | create, add items, assign locations | Full navigation control |
Custom Types (7) | get post types, taxonomies, manage terms | Advanced content types |
Shortcodes (3) | list, execute, check existence | Shortcode system |
Cron Jobs (5) | list, schedule, unschedule, run manually | Task scheduling |
Widgets (6) | get sidebars, widgets, types, update | Widget management |
Database (6) | execute queries, manage options, list tables | Database operations |
WooCommerce (15) | products, orders, customers, inventory, coupons | E-commerce management |
Gutenberg Blocks (12) | block types, patterns, reusable blocks, templates | Modern block editor |
Security (7) | site health, updates, integrity, debug logs | Security monitoring |
Performance (8) | cache, optimization, cleanup, image processing | Performance tuning |
What You Can Do
Content Management
"Create a blog post about AI and publish it"
"Upload an image and set it as featured image for post 5"
"Get all draft posts"
"Create a new page called 'About Us'"Theme Customization
"Create a child theme of Twenty Twenty-Five"
"Read my theme's functions.php file"
"Add custom CSS to make headers blue"
"Get the theme.json configuration"
"List all files in my theme"Menu Management Examples
// Create menu
{
"name": "Main Navigation",
"description": "Primary site menu"
}
// Add menu item
{
"title": "Home",
"url": "https://yoursite.com",
"menus": 3
}
// Get menu locations
// No parameters needed
// Assign menu to location
{
"location": "primary",
"menuId": 3
}Plugin Management
"Show me all installed plugins"
"Activate the Contact Form 7 plugin"
"Read the main WooCommerce plugin file"
"Deactivate Hello Dolly"
"Check if Yoast SEO is installed"Menu Management
"Create a new menu called 'Main Navigation'"
"Add a Home link to the menu"
"Get all registered menu locations"
"Assign the Main Navigation menu to primary location"
"Show me all menu items in the Main menu"Custom Post Types & Taxonomies
"Show me all registered post types"
"Get details for the 'page' post type"
"Get all taxonomies"
"Show me all categories"
"Create a new category called 'Technology'"Shortcodes
"List all registered shortcodes"
"Execute [gallery ids='1,2,3']"
"Check if 'contact-form' shortcode exists"Cron Jobs & Scheduled Tasks
"Show me all scheduled cron jobs"
"Schedule a daily backup task"
"Run WordPress cron manually"
"Get available cron schedules"Widgets
"Get all widget areas"
"Show me all available widget types"
"Get widgets in the sidebar"
"List inactive widgets"File Operations
"Read style.css from my theme"
"Create a new custom.css file in my theme"
"Copy functions.php to functions-backup.php"
"Delete old-template.php with backup"Security Features
All operations are secure:
✅ Only allowed directories (themes, plugins, uploads)
✅ Only safe file extensions (.php, .css, .js, etc.)
✅ Malware pattern detection
✅ PHP syntax validation
✅ Automatic backups before changes
✅ WordPress permission system
✅ File size limits (10MB)
WordPress Authentication
Self-Hosted WordPress:
Use your WordPress admin username and password
Basic Authentication is built into the plugin
WordPress.com:
Requires Business plan or higher
Generate Application Password in Settings → Security
Project Structure
src/tools/
├── posts.ts # 15 post management tools
├── pages.ts # 4 page tools
├── media.ts # 5 media tools
├── filesystem.ts # 8 file system tools
├── themes.ts # 13 theme management tools
├── plugins.ts # 10 plugin management tools
├── menus.ts # 8 menu management tools
└── all-features.ts # Users, categories, tags, comments, settings, SEO
filesystem-plugin/
└── wpmcp-filesystem.php # Required for file operationsDevelopment
# Clone repository
git clone https://github.com/RaheesAhmed/wordpress-mcp-server.git
cd wordpress-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run
npm startTesting
All features tested on live WordPress:
✅ 21/21 tests passed
✅ File operations working
✅ Theme management verified
✅ Plugin control confirmed
✅ Security validated
API Examples
Create Post
{
"title": "My Post",
"content": "<p>Content here</p>",
"status": "publish"
}Create Child Theme
{
"parentTheme": "twentytwentyfive",
"childName": "My Custom Theme"
}Activate Plugin
{
"plugin": "akismet/akismet"
}Read Theme File
{
"theme": "mytheme",
"filePath": "functions.php"
}Write File
{
"path": "wp-content/themes/mytheme/custom.css",
"content": "/* Custom styles */",
"createBackup": true
}Contributing
Fork the repository
Create feature branch (
git checkout -b feature/name)Commit changes (
git commit -m 'Add feature')Push to branch (
git push origin feature/name)Open Pull Request
License
MIT License - see LICENSE
💝 Support This Project
If you find this project valuable, consider supporting its continued development:
Cryptocurrency Donation
Coin | Network | Contract Address | Deposit Address |
🪙 USDT (TetherUS) | 🔗 TRX (Tron TRC20) | Ending in |
|
Copy Address:
TBJBb7fKyRdhqmWETyZoNP4X98mPk2JxrtYour contributions help keep this project active and growing! Thank you for your support! 🙏
Built for AI-powered WordPress development 🚀
Available Tools
190 toolswordpress_activate_pluginwordpress_activate_pluginC
Activate a plugin
Inputs: plugin (required).
wordpress_activate_themewordpress_activate_themeB
Activate a theme (switch to it as the active theme)
Inputs: stylesheet (required).
wordpress_add_capabilitywordpress_add_capabilityB
Add capability to a user role
Inputs: role (required), capability (required).
wordpress_analyze_seowordpress_analyze_seoC
Analyze SEO elements for a post
Inputs: postId (required).
wordpress_assign_rolewordpress_assign_roleC
Assign role to user
Inputs: userId (required), role (required).
wordpress_backup_databasewordpress_backup_databaseA
Export database only
Inputs: no named parameters.
wordpress_backup_fileswordpress_backup_filesB
Backup files only (no database)
Inputs: no named parameters.
wordpress_bulk_create_postswordpress_bulk_create_postsB
Create multiple posts in one operation - efficient for batch content generation
Inputs: posts (required).
wordpress_bulk_delete_mediawordpress_bulk_delete_mediaC
Delete multiple media files
Inputs: mediaIds (required).
wordpress_bulk_delete_postswordpress_bulk_delete_postsC
Delete multiple posts in one operation
Inputs: postIds (required), force (required).
wordpress_bulk_optimize_imageswordpress_bulk_optimize_imagesC
Bulk optimize images (compress all images)
Inputs: no named parameters.
wordpress_bulk_update_postswordpress_bulk_update_postsB
Update multiple posts in one operation - efficient for batch modifications
Inputs: updates (required).
wordpress_check_updateswordpress_check_updatesB
Check for available WordPress, plugin, and theme updates
Inputs: no named parameters.
wordpress_check_user_capabilitywordpress_check_user_capabilityC
Check if user has specific capability
Inputs: userId (required), capability (required).
wordpress_cleanup_databasewordpress_cleanup_databaseB
Clean up database (revisions, auto-drafts, spam, trash)
Inputs: no named parameters.
wordpress_clear_cachewordpress_clear_cacheA
Clear WordPress caches (transients, object cache, page cache)
Inputs: no named parameters.
wordpress_clone_to_stagingwordpress_clone_to_stagingC
Clone WordPress to staging environment
Inputs: stagingUrl (required).
wordpress_convert_to_webpwordpress_convert_to_webpC
Convert image to WebP format
Inputs: mediaId (required).
wordpress_copy_filewordpress_copy_fileC
Copy file to another location within WordPress
Inputs: source (required), destination (required).
wordpress_create_categorywordpress_create_categoryC
Create a new category with hierarchical support
Inputs: name (required).
wordpress_create_child_themewordpress_create_child_themeB
Create a child theme from a parent theme
Inputs: parentTheme (required), childName (required).
wordpress_create_commentwordpress_create_commentB
Create a comment on a post
Inputs: postId (required), content (required).
wordpress_create_pagewordpress_create_pageC
Create a new WordPress page with hierarchy support
Inputs: title (required), content (required).
wordpress_create_postwordpress_create_postC
Create a new WordPress post with full control over all post properties
Inputs: title (required), content (required).
wordpress_create_redirectwordpress_create_redirectC
Create URL redirect (301, 302, 307)
Inputs: source (required), destination (required).
wordpress_create_reusable_blockwordpress_create_reusable_blockC
Create a reusable block
Inputs: title (required), content (required).
wordpress_create_rolewordpress_create_roleB
Create a custom user role
Inputs: role (required), displayName (required).
wordpress_create_tagwordpress_create_tagD
Create a new tag
Inputs: name (required).
wordpress_create_termwordpress_create_termC
Create a new term in a taxonomy
Inputs: taxonomy (required), name (required).
wordpress_create_userwordpress_create_userC
Create a new WordPress user with roles
Inputs: username (required), email (required), password (required).
wordpress_deactivate_pluginwordpress_deactivate_pluginC
Deactivate a plugin
Inputs: plugin (required).
wordpress_delete_backupwordpress_delete_backupC
Delete a backup file
Inputs: backupId (required).
wordpress_delete_categorywordpress_delete_categoryD
Delete a category
Inputs: categoryId (required), force (required).
wordpress_delete_commentwordpress_delete_commentC
Delete a comment
Inputs: commentId (required), force (required).
wordpress_delete_filewordpress_delete_fileC
Delete file with optional backup
Inputs: path (required), createBackup (required).
wordpress_delete_mediawordpress_delete_mediaC
Delete a media file from library
Inputs: mediaId (required), force (required).
wordpress_delete_pagewordpress_delete_pageC
Delete a page
Inputs: pageId (required), force (required).
wordpress_delete_pluginwordpress_delete_pluginB
Delete a plugin (must be deactivated first)
Inputs: plugin (required).
wordpress_delete_postwordpress_delete_postA
Delete a post. Set force=true to permanently delete, otherwise moves to trash
Inputs: postId (required), force (required).
wordpress_delete_redirectwordpress_delete_redirectC
Delete URL redirect
Inputs: redirectId (required).
wordpress_delete_reusable_blockwordpress_delete_reusable_blockC
Delete a reusable block
Inputs: blockId (required), force (required).
wordpress_delete_rolewordpress_delete_roleC
Delete a custom user role
Inputs: role (required).
wordpress_delete_termwordpress_delete_termC
Delete a term from a taxonomy
Inputs: taxonomy (required), termId (required), force (required).
wordpress_delete_themewordpress_delete_themeB
Delete a theme (cannot delete active theme)
Inputs: stylesheet (required), force (required).
wordpress_delete_userwordpress_delete_userB
Delete a user (reassign their content to another user)
Inputs: userId (required), reassign (required).
wordpress_delete_widgetwordpress_delete_widgetC
Delete a widget from a sidebar
Inputs: widgetId (required), force (required).
wordpress_duplicate_postwordpress_duplicate_postC
Duplicate an existing post with optional new title
Inputs: postId (required), newTitle (required).
wordpress_enable_maintenance_modewordpress_enable_maintenance_modeC
Enable or disable WordPress maintenance mode
Inputs: no named parameters.
wordpress_execute_shortcodewordpress_execute_shortcodeC
Process and execute a shortcode string
Inputs: content (required).
wordpress_execute_sqlwordpress_execute_sqlA
Execute SQL query (SELECT, SHOW, DESCRIBE, EXPLAIN only for safety)
Inputs: query (required).
wordpress_export_contentwordpress_export_contentB
Export posts/pages as WordPress XML
Inputs: no named parameters.
wordpress_file_infowordpress_file_infoB
Get file information (size, modified date, permissions)
Inputs: path (required).
wordpress_flush_rewrite_ruleswordpress_flush_rewrite_rulesA
Flush WordPress rewrite rules (fixes permalink issues)
Inputs: no named parameters.
wordpress_full_backupwordpress_full_backupA
Create complete site backup (files + database)
Inputs: no named parameters.
wordpress_generate_sitemapwordpress_generate_sitemapA
Generate XML sitemap for search engines
Inputs: no named parameters.
wordpress_get_active_pluginswordpress_get_active_pluginsA
Get all currently active plugins
Inputs: no named parameters.
wordpress_get_active_themewordpress_get_active_themeA
Get the currently active theme
Inputs: no named parameters.
wordpress_get_block_categorieswordpress_get_block_categoriesB
Get block pattern categories
Inputs: no named parameters.
wordpress_get_block_editor_settingswordpress_get_block_editor_settingsB
Get block editor configuration
Inputs: no named parameters.
wordpress_get_block_patternswordpress_get_block_patternsA
Get all available block patterns
Inputs: no named parameters.
wordpress_get_block_templatewordpress_get_block_templateC
Get block template by slug
Inputs: slug (required).
wordpress_get_block_typeswordpress_get_block_typesB
Get all registered block types
Inputs: no named parameters.
wordpress_get_capabilitieswordpress_get_capabilitiesC
Get all capabilities for a user role
Inputs: role (required).
wordpress_get_categorieswordpress_get_categoriesA
Get all categories with hierarchy
Inputs: no named parameters.
wordpress_get_commentswordpress_get_commentsC
Get comments with filtering by post and status
Inputs: perPage (required).
wordpress_get_cron_scheduleswordpress_get_cron_schedulesA
Get available cron schedule intervals
Inputs: no named parameters.
wordpress_get_debug_logwordpress_get_debug_logA
Read WordPress debug.log file
Inputs: no named parameters.
wordpress_get_failed_loginswordpress_get_failed_loginsA
Get failed login attempts for security monitoring
Inputs: no named parameters.
wordpress_get_global_styleswordpress_get_global_stylesA
Get theme global styles (Site Editor styles)
Inputs: no named parameters.
wordpress_get_mediawordpress_get_mediaC
Get media library files with filtering by type
Inputs: perPage (required), page (required).
wordpress_get_media_analyticswordpress_get_media_analyticsA
Get media library storage usage statistics
Inputs: no named parameters.
wordpress_get_optionwordpress_get_optionB
Get WordPress option value from wp_options table
Inputs: name (required).
wordpress_get_pageswordpress_get_pagesC
Get pages with hierarchy and ordering
Inputs: perPage (required), page (required).
wordpress_get_performance_metricswordpress_get_performance_metricsB
Get WordPress performance metrics and resource usage
Inputs: no named parameters.
wordpress_get_pluginswordpress_get_pluginsB
Get all installed WordPress plugins
Inputs: no named parameters.
wordpress_get_plugins_detailedwordpress_get_plugins_detailedA
Get detailed information about all installed plugins
Inputs: no named parameters.
wordpress_get_plugin_statuswordpress_get_plugin_statusC
Get status and details of a specific plugin
Inputs: plugin (required).
wordpress_get_postwordpress_get_postA
Get detailed information about a specific post by ID
Inputs: postId (required).
wordpress_get_post_revisionswordpress_get_post_revisionsA
Get all revisions/edit history for a post
Inputs: postId (required).
wordpress_get_postswordpress_get_postsC
Get posts with advanced filtering: search, author, categories, tags, status, ordering
Inputs: perPage (required), page (required), status (required), orderby (required), +1 more.
wordpress_get_post_typewordpress_get_post_typeB
Get details for a specific post type
Inputs: postType (required).
wordpress_get_post_typeswordpress_get_post_typesA
Get all registered post types
Inputs: no named parameters.
wordpress_get_redirectswordpress_get_redirectsA
Get all URL redirects
Inputs: no named parameters.
wordpress_get_reusable_blockswordpress_get_reusable_blocksC
Get reusable blocks (saved blocks)
Inputs: no named parameters.
wordpress_get_robots_txtwordpress_get_robots_txtA
Get robots.txt file content
Inputs: no named parameters.
wordpress_get_roleswordpress_get_rolesA
Get all WordPress user roles
Inputs: no named parameters.
wordpress_get_settingswordpress_get_settingsB
Get WordPress site settings
Inputs: no named parameters.
wordpress_get_sidebarwordpress_get_sidebarC
Get details for a specific sidebar
Inputs: id (required).
wordpress_get_sidebarswordpress_get_sidebarsA
Get all registered sidebar/widget areas
Inputs: no named parameters.
wordpress_get_site_healthwordpress_get_site_healthB
Get WordPress site health and status checks
Inputs: no named parameters.
wordpress_get_site_infowordpress_get_site_infoB
Get complete WordPress site information including available API routes
Inputs: no named parameters.
wordpress_get_style_variationswordpress_get_style_variationsC
Get theme style variations for block themes
Inputs: stylesheet (required).
wordpress_get_system_infowordpress_get_system_infoB
Get complete system information (versions, limits, configuration)
Inputs: no named parameters.
wordpress_get_table_previewwordpress_get_table_previewB
Get preview of table data (first 10 rows by default)
Inputs: table (required).
wordpress_get_table_structurewordpress_get_table_structureB
Get database table structure (columns and types)
Inputs: table (required).
wordpress_get_tagswordpress_get_tagsB
Get all tags
Inputs: no named parameters.
wordpress_get_taxonomieswordpress_get_taxonomiesA
Get all registered taxonomies
Inputs: no named parameters.
wordpress_get_taxonomywordpress_get_taxonomyC
Get details for a specific taxonomy
Inputs: taxonomy (required).
wordpress_get_template_partswordpress_get_template_partsA
Get theme template parts (block theme components like header, footer)
Inputs: no named parameters.
wordpress_get_termswordpress_get_termsA
Get terms from a taxonomy (categories, tags, or custom)
Inputs: taxonomy (required).
wordpress_get_theme_jsonwordpress_get_theme_jsonB
Get theme.json configuration for block themes (FSE)
Inputs: no named parameters.
wordpress_get_theme_modswordpress_get_theme_modsB
Get theme customizer settings (Appearance → Customize data)
Inputs: no named parameters.
wordpress_get_themeswordpress_get_themesA
Get all installed WordPress themes
Inputs: no named parameters.
wordpress_get_themes_detailedwordpress_get_themes_detailedB
Get detailed information about all installed themes
Inputs: no named parameters.
wordpress_get_theme_templateswordpress_get_theme_templatesB
Get theme templates (block theme templates from WordPress API)
Inputs: no named parameters.
wordpress_get_unused_mediawordpress_get_unused_mediaB
Find unused media files in library
Inputs: no named parameters.
wordpress_get_userswordpress_get_usersC
Get WordPress users with role filtering
Inputs: perPage (required), page (required).
wordpress_get_version_infowordpress_get_version_infoA
Get WordPress, PHP, and MySQL version information
Inputs: no named parameters.
wordpress_get_widgetswordpress_get_widgetsC
Get all widgets or widgets in a specific sidebar
Inputs: no named parameters.
wordpress_get_widget_typeswordpress_get_widget_typesA
Get all available widget types
Inputs: no named parameters.
wordpress_import_contentwordpress_import_contentC
Import content from WordPress XML
Inputs: fileUrl (required).
wordpress_list_backupswordpress_list_backupsB
Get all available backups
Inputs: no named parameters.
wordpress_list_cron_jobswordpress_list_cron_jobsA
Get all scheduled WordPress cron jobs
Inputs: no named parameters.
wordpress_list_fileswordpress_list_filesC
List files in a WordPress directory
Inputs: path (required), recursive (required).
wordpress_list_plugin_fileswordpress_list_plugin_filesB
List all files in a plugin directory
Inputs: plugin (required), recursive (required).
wordpress_list_shortcodeswordpress_list_shortcodesA
Get all registered WordPress shortcodes
Inputs: no named parameters.
wordpress_list_tableswordpress_list_tablesA
Get all WordPress database tables with row counts
Inputs: no named parameters.
wordpress_list_theme_fileswordpress_list_theme_filesC
List all files in a theme directory
Inputs: theme (required), recursive (required).
wordpress_move_filewordpress_move_fileB
Move or rename file within WordPress
Inputs: source (required), destination (required).
wordpress_optimize_databasewordpress_optimize_databaseB
Optimize all database tables for better performance
Inputs: no named parameters.
wordpress_parse_blockswordpress_parse_blocksC
Parse block content from HTML
Inputs: content (required).
wordpress_plugin_existswordpress_plugin_existsB
Check if a plugin is installed
Inputs: plugin (required).
wordpress_publish_postwordpress_publish_postB
Publish a draft or pending post immediately
Inputs: postId (required).
wordpress_read_filewordpress_read_fileC
Read file contents from WordPress (themes, plugins, etc.)
Inputs: path (required).
wordpress_read_plugin_filewordpress_read_plugin_fileB
Read a specific file from a plugin
Inputs: plugin (required), filePath (required).
wordpress_read_theme_filewordpress_read_theme_fileB
Read a specific file from a theme
Inputs: theme (required), filePath (required).
wordpress_regenerate_thumbnailswordpress_regenerate_thumbnailsC
Regenerate image thumbnails for all or specific images
Inputs: no named parameters.
wordpress_remove_capabilitywordpress_remove_capabilityB
Remove capability from a user role
Inputs: role (required), capability (required).
wordpress_restore_backupwordpress_restore_backupC
Restore WordPress from backup
Inputs: backupId (required).
wordpress_run_cronwordpress_run_cronA
Manually trigger WordPress cron execution
Inputs: no named parameters.
wordpress_scan_permissionswordpress_scan_permissionsB
Scan file and directory permissions for security issues
Inputs: no named parameters.
wordpress_schedule_backupswordpress_schedule_backupsC
Schedule automatic backups
Inputs: no named parameters.
wordpress_schedule_eventwordpress_schedule_eventC
Schedule a new cron event (one-time or recurring)
Inputs: hook (required).
wordpress_schedule_postwordpress_schedule_postC
Schedule a post for future publication. Date format: YYYY-MM-DDTHH:MM:SS
Inputs: postId (required), datetime (required).
wordpress_search_block_directorywordpress_search_block_directoryC
Search WordPress.org block directory
Inputs: term (required).
wordpress_search_postswordpress_search_postsB
Search posts by keyword - searches title, content, and excerpt
Inputs: query (required), perPage (required).
wordpress_set_canonical_urlwordpress_set_canonical_urlC
Set canonical URL for post
Inputs: postId (required), canonicalUrl (required).
wordpress_set_custom_metawordpress_set_custom_metaC
Set custom post metadata field - useful for custom fields and plugins
Inputs: postId (required), metaKey (required), metaValue (required).
wordpress_set_featured_imagewordpress_set_featured_imageC
Set featured image (thumbnail) for a post
Inputs: postId (required), mediaId (required).
wordpress_set_og_tagswordpress_set_og_tagsC
Set Open Graph meta tags for social sharing
Inputs: postId (required).
wordpress_set_schema_markupwordpress_set_schema_markupC
Add JSON-LD schema markup to post
Inputs: postId (required), schemaType (required), schemaData (required).
wordpress_set_seo_metawordpress_set_seo_metaC
Set SEO metadata (Yoast SEO, Rank Math, All-in-One SEO compatible)
Inputs: postId (required).
wordpress_set_twitter_cardswordpress_set_twitter_cardsC
Set Twitter Card meta tags for social sharing
Inputs: postId (required).
wordpress_shortcode_existswordpress_shortcode_existsB
Check if a shortcode is registered
Inputs: tag (required).
wordpress_test_connectionwordpress_test_connectionB
Test WordPress connection and authentication
Inputs: no named parameters.
wordpress_theme_existswordpress_theme_existsB
Check if a theme is installed
Inputs: theme (required).
wordpress_unschedule_eventwordpress_unschedule_eventC
Remove a scheduled cron event
Inputs: hook (required).
wordpress_update_categorywordpress_update_categoryB
Update category name, description, or parent
Inputs: categoryId (required), updates (required).
wordpress_update_commentwordpress_update_commentB
Update comment (approve, spam, trash, edit content)
Inputs: commentId (required).
wordpress_update_mediawordpress_update_mediaC
Update media file metadata (alt text, caption, title)
Inputs: mediaId (required).
wordpress_update_optionwordpress_update_optionC
Update WordPress option value in wp_options table
Inputs: name (required), value (required).
wordpress_update_pagewordpress_update_pageC
Update an existing page
Inputs: pageId (required), updates (required).
wordpress_update_postwordpress_update_postC
Update an existing post - can modify any post property
Inputs: postId (required), updates (required).
wordpress_update_reusable_blockwordpress_update_reusable_blockC
Update a reusable block
Inputs: blockId (required), updates (required).
wordpress_update_robots_txtwordpress_update_robots_txtC
Update robots.txt file content
Inputs: content (required).
wordpress_update_settingswordpress_update_settingsB
Update site settings (title, description, timezone, etc)
Inputs: no named parameters.
wordpress_update_termwordpress_update_termC
Update a term in a taxonomy
Inputs: taxonomy (required), termId (required), updates (required).
wordpress_update_theme_jsonwordpress_update_theme_jsonB
Update theme.json configuration for block themes (FSE)
Inputs: themeJson (required).
wordpress_update_userwordpress_update_userB
Update user information (name, email, roles, password)
Inputs: userId (required), updates (required).
wordpress_update_widgetwordpress_update_widgetC
Update widget configuration
Inputs: widgetId (required), instance (required).
wordpress_upload_mediawordpress_upload_mediaA
Upload image or file to WordPress media library (provide base64 encoded file)
Inputs: fileBase64 (required), filename (required).
wordpress_verify_core_fileswordpress_verify_core_filesA
Verify WordPress core file integrity (checksums)
Inputs: no named parameters.
wordpress_wc_create_couponwordpress_wc_create_couponC
Create WooCommerce discount coupon
Inputs: code (required), amount (required).
wordpress_wc_create_productwordpress_wc_create_productB
Create a new WooCommerce product
Inputs: name (required), regular_price (required).
wordpress_wc_delete_productwordpress_wc_delete_productC
Delete WooCommerce product
Inputs: productId (required), force (required).
wordpress_wc_get_couponswordpress_wc_get_couponsB
Get WooCommerce coupons
Inputs: no named parameters.
wordpress_wc_get_customerswordpress_wc_get_customersB
Get WooCommerce customers
Inputs: no named parameters.
wordpress_wc_get_orderswordpress_wc_get_ordersC
Get WooCommerce orders with filtering
Inputs: no named parameters.
wordpress_wc_get_payment_gatewayswordpress_wc_get_payment_gatewaysB
Get WooCommerce payment gateways
Inputs: no named parameters.
wordpress_wc_get_product_categorieswordpress_wc_get_product_categoriesB
Get WooCommerce product categories
Inputs: no named parameters.
wordpress_wc_get_productswordpress_wc_get_productsB
Get WooCommerce products with filtering
Inputs: no named parameters.
wordpress_wc_get_sales_reportwordpress_wc_get_sales_reportB
Get WooCommerce sales report/analytics
Inputs: no named parameters.
wordpress_wc_get_shipping_zoneswordpress_wc_get_shipping_zonesA
Get WooCommerce shipping zones
Inputs: no named parameters.
wordpress_wc_get_top_sellerswordpress_wc_get_top_sellersC
Get top selling products
Inputs: no named parameters.
wordpress_wc_is_activewordpress_wc_is_activeA
Check if WooCommerce is installed and active
Inputs: no named parameters.
wordpress_wc_update_order_statuswordpress_wc_update_order_statusC
Update WooCommerce order status
Inputs: orderId (required), status (required).
wordpress_wc_update_productwordpress_wc_update_productC
Update WooCommerce product
Inputs: productId (required), updates (required).
wordpress_wc_update_stockwordpress_wc_update_stockC
Update product inventory/stock levels
Inputs: productId (required).
wordpress_write_filewordpress_write_fileB
Write or create file with security validation and optional backup
Inputs: path (required), content (required), createBackup (required).
wordpress_write_plugin_filewordpress_write_plugin_fileA
Write or modify a file in a plugin (automatically creates backup)
Inputs: plugin (required), filePath (required), content (required).
wordpress_write_theme_filewordpress_write_theme_fileA
Write or modify a file in a theme (automatically creates backup)
Inputs: theme (required), filePath (required), content (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 190 tools
Many tools have clear resource-action separation (posts, users, themes, plugins), but there are overlapping pairs like wordpress_get_posts vs wordpress_search_posts, wordpress_get_plugins vs wordpress_get_plugins_detailed, and wordpress_get_site_info vs wordpress_get_site_health that could cause selection ambiguity. With 190 tools, the sheer volume increases the chance of picking a near-duplicate.
Most tools follow a consistent wordpress_<verb>_<noun> pattern (create_post, get_posts, delete_user). However, there are inconsistencies: wordpress_wc_is_active vs wordpress_get_plugins (non-verb prefix), wordpress_theme_exists vs get_ forms, and wordpress_run_cron vs wordpress_list_cron_jobs. These are minor deviations from an otherwise uniform convention.
190 tools is excessive for a single MCP server. The scope spans core content, themes, plugins, files, users, WooCommerce, SEO, performance, security, and database operations, creating a monolithic surface that is difficult to navigate.
The tool surface is incredibly comprehensive, covering posts, pages, media, users, taxonomies, comments, themes, plugins, menus, widgets, WooCommerce, and system maintenance. Gaps are minor (e.g., no comment spam moderation, no specific user registration tool), but most obvious workflows are represented.
Maintenance
Related MCP Connectors
Manage WordPress blogs and WooCommerce shops from Claude, ChatGPT, Cursor and other MCP apps.
Manage your WordPress site from your AI assistant: posts, pages, media, comments and WooCommerce.
Manage a WordPress site from your AI assistant: read, search, propose edits, Search Console data.
Publish to self-hosted WordPress from AI agents: markdown, images, SEO, and Notion sync.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI to manage WordPress sites with 190+ tools for complete control over content, themes, plugins, files, and more.10027 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to manage WordPress sites via ~74 capabilities including content, media, plugins, themes, and more.-
- AlicenseNot gradedqualityDmaintenanceEnables AI clients to manage WordPress and WooCommerce sites with over 194 tools for content, users, security, performance, and e-commerce operations.ISC
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to manage WordPress sites through the WordPress REST API, supporting content, media, users, settings, and Elementor management with safety policies for production use.MIT