Lightweight WordPress MCP server - 42 tools, token-optimized (95% smaller responses)
Lightweight WordPress MCP server - 42 tools, token-optimized (95% smaller responses)
Valid MCP server (4 strong, 5 medium validity signals). 3 known CVEs in dependencies (0 critical, 3 high severity) Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (3/3 approved).
5 files analyzed · 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Set these up before or after installing:
Environment variable: WORDPRESS_SITE_URL
Environment variable: WORDPRESS_USERNAME
Environment variable: WORDPRESS_PASSWORD
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-cvrt-jh-wordpress-mcp": {
"env": {
"WORDPRESS_PASSWORD": "your-wordpress-password-here",
"WORDPRESS_SITE_URL": "your-wordpress-site-url-here",
"WORDPRESS_USERNAME": "your-wordpress-username-here"
},
"args": [
"-y",
"@cavort-it-systems/wordpress-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
Lightweight WordPress MCP server for site management. 158 tools with token-optimized responses — REST API responses automatically slimmed from kilobytes to essentials.
v2.1: Now includes Pro modules for ACF and WooCommerce via wp-pilot-pro.
v2.0: Extended tools for the cvrt-mcp-endpoints plugin — install plugins/themes from WordPress.org, database management, full widget/menu control, and more.
WordPress REST API returns extremely verbose JSON (~5-10KB per post). This server strips it down:
| Response | Before | After | Reduction |
|---|---|---|---|
wp_list_posts (10 posts) | ~50KB | ~2KB | 96% |
wp_get_post | ~5KB | ~200 bytes | 96% |
wp_list_plugins | ~15KB | ~800 bytes | 95% |
Less tokens = faster responses, lower costs, more context for your AI.
npm install -g @cavort-it-systems/wordpress-mcp
Or run directly:
npx @cavort-it-systems/wordpress-mcp
claude mcp add wordpress \
-e WORDPRESS_SITE_URL=https://example.com \
-e WORDPRESS_USERNAME=admin \
-e WORDPRESS_PASSWORD="xxxx xxxx xxxx xxxx" \
-- npx @cavort-it-systems/wordpress-mcp
Add to your MCP config (~/.claude.json or Claude Desktop settings):
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["@cavort-it-systems/wordpress-mcp"],
"env": {
"WORDPRESS_SITE_URL": "https://example.com",
"WORDPRESS_USERNAME": "admin",
"WORDPRESS_PASSWORD": "xxxx xxxx xxxx xxxx"
}
}
}
}
git clone https://github.com/cvrt-jh/wordpress-mcp.git
cd wordpress-mcp
npm install && npm run build
Uses Application Passwords (WordPress 5.6+):
All responses are automatically trimmed. Example:
wp_get_post — from ~5KB to ~200 bytes:
// Before (WordPress REST API raw)
{"id":123,"date":"2026-01-15T10:30:00","date_gmt":"2026-01-15T09:30:00",
"guid":{"rendered":"https://example.com/?p=123"},"modified":"2026-01-20T14:00:00",
"modified_gmt":"2026-01-20T13:00:00","slug":"my-post","status":"publish",
"type":"post","link":"https://example.com/my-post/","title":{"rendered":"My Post"},
"content":{"rendered":"<p>Full content...</p>","protected":false},
"excerpt":{"rendered":"<p>Excerpt...</p>","protected":false},
"author":1,"featured_media":456,"comment_status":"open","ping_status":"open",
"sticky":false,"template":"","format":"standard","meta":{"footnotes":""},
"categories":[1,5],"tags":[10,20],"class_list":["post-123","type-post",...],
"_links":{"self":[...],"collection":[...],"about":[...],...}}
// After (slimmed)
{"id":123,"title":"My Post","slug":"my-post","status":"publish",
"date":"2026-01-15T10:30:00","modified":"2026-01-20T14:00:00",
"link":"https://example.com/my-post/","excerpt":"Excerpt...",
"author":1,"categories":[1,5],"tags":[10,20],"featured_media":456}
What gets stripped:
| Field | Where | Why |
|---|---|---|
guid, _links | everywhere | Internal WordPress data |
content.rendered | lists | Only included when explicitly requested |
meta, class_list | posts/pages | Theme/plugin metadata |
ping_status, comment_status | posts | Rarely needed |
template, format, sticky | posts | Theme-specific |
| HTML tags | excerpts | Clean text output |
| Pretty-print JSON | all | Compact single-line output |
These work with any WordPress site:
wp_site_info - Get site name, description, URLwp_get_settings - Get site settingswp_update_settings - Update site settingswp_get_namespaces - List REST API namespaceswp_list_posts - List posts with filterswp_get_post - Get single postwp_create_post - Create postwp_update_post - Update postwp_delete_post - Delete postwp_search_posts - Search postswp_list_pages - List pageswp_get_page - Get single pagewp_create_page - Create pagewp_update_page - Update pagewp_delete_page - Delete pagewp_list_users - List userswp_me - Get current userwp_get_user - Get user by IDwp_create_user - Create userwp_update_user - Update userwp_delete_user - Delete userwp_list_plugins - List pluginswp_get_plugin - Get plugin detailswp_activate_plugin - Activate pluginwp_deactivate_plugin - Deactivate pluginwp_delete_plugin - Delete pluginwp_list_themes - List themeswp_get_active_theme - Get active themewp_get_theme - Get theme detailswp_activate_theme - Switch themeswp_list_media - List media librarywp_get_media - Get media itemwp_update_media - Update media metadatawp_delete_media - Delete mediawp_list_categories - List categorieswp_create_category - Create categorywp_update_category - Update categorywp_delete_category - Delete categorywp_list_tags - List tagswp_create_tag - Create tagwp_update_tag - Update tagwp_delete_tag - Delete tagwp_list_comments - List commentswp_get_comment - Get commentwp_create_comment - Create commentwp_update_comment - Update/moderate commentwp_delete_comment - Delete commentwp_moderate_comments - Batch moderateThese require the cvrt-mcp-endpoints WordPress plugin to be installed and activated.
mcp_search_plugins - Search WordPress.org pluginsmcp_install_plugin - Install plugin from WordPress.orgmcp_update_plugin - Update single pluginmcp_update_all_plugins - Update all pluginsmcp_search_themes - Search WordPress.org themesmcp_install_theme - Install theme from WordPress.orgmcp_update_theme - Update single thememcp_update_all_themes - Update all themesmcp_delete_theme - Delete inactive thememcp_get_version - Get WordPress version infomcp_get_system_info - Get comprehensive system infomcp_check_updates - Check for all updatesmcp_update_core - Update WordPress coremcp_flush_rewrite - Flush rewrite rulesmcp_flush_cache - Clear all cachesmcp_get_tables - List tables with sizesmcp_search_replace - Search/replace in databasemcp_optimize_tables - Optimize all tablesmcp_clean_revisions - Delete old revisionsmcp_clean_comments - Delete spam/trash commentsmcp_list_options - List options with prefix filtermcp_get_option - Get single optionmcp_set_option - Create/update optionmcp_delete_option - Delete optionmcp_bulk_get_options - Get multiple optionsmcp_list_menus - List navigation menusmcp_get_menu_locations - Get theme locationsmcp_get_menu - Get menu with itemsmcp_create_menu - Create menumcp_delete_menu - Delete menumcp_add_menu_item - Add menu itemmcp_delete_menu_item - Delete menu itemmcp_assign_menu_location - Assign menu to locationmcp_list_sidebars - List all sidebarsmcp_get_sidebar_widgets - Get sidebar widgetsmcp_list_widget_types - List widget typesmcp_get_widget - Get widget detailsmcp_add_widget - Add widget to sidebarmcp_update_widget - Update widget settingsmcp_delete_widget - Remove widgetmcp_move_widget - Move widget to sidebarmcp_get_health - Site health scoremcp_get_debug_info - Debug informationmcp_get_php_info - PHP configurationmcp_get_plugins_health - Plugin health/updatesmcp_get_cron_status - Cron jobs statusmcp_run_cron - Run cron hook manuallyRequires wp-pilot-pro and Advanced Custom Fields.
acf_list_field_groups - List all field groupsacf_get_field_group - Get field group with schemaacf_export_field_groups - Export as JSONacf_import_field_groups - Import from JSONacf_get_post_fields - Get all fields for postacf_update_post_fields - Update multiple fieldsacf_get_post_field - Get single field valueacf_update_post_field - Update single fieldacf_get_term_fields - Get term ACF fieldsacf_update_term_fields - Update term fieldsacf_get_user_fields - Get user ACF fieldsacf_update_user_fields - Update user fieldsacf_list_options_pages - List options pagesacf_get_options_fields - Get options page fieldsacf_update_options_fields - Update options fieldsacf_get_repeater - Get repeater rowsacf_add_repeater_row - Add rowacf_update_repeater_row - Update rowacf_delete_repeater_row - Delete rowacf_reorder_repeater - Reorder rowsacf_get_flexible - Get layoutsacf_add_flexible_layout - Add layoutacf_update_flexible_layout - Update layoutacf_delete_flexible_layout - Delete layoutacf_reorder_flexible - Reorder layoutsacf_get_relationship - Get related postsacf_set_relationship - Set related postsacf_add_to_relationship - Add postsacf_remove_from_relationship - Remove postsacf_get_clone_references - Get clone field refsacf_get_field_object - Get field schemaRequires wp-pilot-pro and WooCommerce.
woo_list_products - List products with filterswoo_get_product - Get product detailswoo_create_product - Create productwoo_update_product - Update productwoo_delete_product - Delete productwoo_list_variations - List product variationswoo_create_variation - Create variationwoo_update_variation - Update variationwoo_delete_variation - Delete variationwoo_list_attributes - List attributeswoo_list_attribute_terms - List attribute termswoo_create_attribute - Create attributewoo_create_attribute_term - Create termwoo_list_categories - List product categorieswoo_create_category - Create categorywoo_update_category - Update categorywoo_delete_category - Delete categorywoo_list_tags - List product tagswoo_list_orders - List orderswoo_get_order - Get order detailswoo_update_order_status - Update statuswoo_add_order_note - Add notewoo_get_order_notes - Get noteswoo_list_customers - List customerswoo_get_customer - Get customerwoo_create_customer - Create customerwoo_update_customer - Update customerwoo_get_customer_orders - Get order historywoo_list_coupons - List couponswoo_get_coupon - Get couponwoo_create_coupon - Create couponwoo_update_coupon - Update couponwoo_delete_coupon - Delete couponwoo_sales_report - Sales reportwoo_top_sellers - Top selling productswoo_stock_report - Stock status reportwoo_get_product_meta - Get product metawoo_update_product_meta - Update product metawoo_bulk_update_stock - Bulk stock updatesrc/
index.ts # Entry: McpServer + StdioServerTransport
client.ts # WordPress REST API client (Basic Auth)
types.ts # Shared Zod schemas + jsonResult helper
slim.ts # Response slimming transformers
tools/
# Standard WP REST API (wp/v2)
site.ts # 4 tools
posts.ts # 6 tools
pages.ts # 5 tools
users.ts # 6 tools
plugins.ts # 5 tools
themes.ts # 4 tools
media.ts # 4 tools
taxonomies.ts # 8 tools (categories + tags)
comments.ts # 6 tools
# Extended (mcp/v1) - requires cvrt-mcp-endpoints plugin
mcp-plugins.ts # 4 tools - install from WordPress.org
mcp-themes.ts # 5 tools - install from WordPress.org
mcp-core.ts # 6 tools - updates, cache flush
mcp-database.ts # 5 tools - search-replace, optimize
mcp-options.ts # 5 tools - full options CRUD
mcp-menus.ts # 8 tools - navigation menus
mcp-widgets.ts # 8 tools - sidebar widgets
mcp-health.ts # 6 tools - diagnostics, cron
# Pro modules (mcp/v1) - requires wp-pilot-pro
mcp-acf.ts # 31 tools - ACF integration
mcp-woo.ts # 42 tools - WooCommerce
For managing multiple WordPress sites, run separate MCP instances:
{
"mcpServers": {
"wordpress-site1": {
"command": "npx",
"args": ["@cavort-it-systems/wordpress-mcp"],
"env": {
"WORDPRESS_SITE_URL": "https://site1.com",
"WORDPRESS_USERNAME": "admin",
"WORDPRESS_PASSWORD": "xxxx xxxx xxxx xxxx"
}
},
"wordpress-site2": {
"command": "npx",
"args": ["@cavort-it-systems/wordpress-mcp"],
"env": {
"WORDPRESS_SITE_URL": "https://site2.com",
"WORDPRESS_USERNAME": "admin",
"WORDPRESS_PASSWORD": "yyyy yyyy yyyy yyyy"
}
}
}
}
MIT
Be the first to review this server!
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI