Skip to main content Skip to navigation
Free WordPress Plugin

Connect Any AI
to Your WordPress

ByteCoreStack MCP Connector turns your WordPress site into a full Model Context Protocol server. Claude, ChatGPT, Gemini, Cursor, and Windsurf connect directly and take real action β€” authenticated via OAuth 2.0 with PKCE. 316+ tools across 26 categories. Zero cloud relay. Free forever.

100% Free GPL v2 Licensed No Pro Upsell WP 6.2+ / PHP 7.4+
Claude Cursor ChatGPT Gemini Windsurf
316+ WordPress tools
26 Tool categories
OAuth 2.0 PKCE authentication
$0 Free forever
Features

Everything an AI needs
to work inside WordPress

One free plugin. Full MCP server. No cloud account required.

OAuth 2.0 with PKCE

Full authorization code flow with Dynamic Client Registration, refresh tokens, and RFC 8414 discovery endpoints. AI clients register and authenticate automatically β€” no manual key sharing.

316+ WordPress Tools

Posts, pages, media, users, menus, SEO, WooCommerce, ACF, Elementor, Bricks, Divi, BuddyPress, The Events Calendar, UpdraftPlus, FluentCRM, MemberPress, LearnDash, EDD, MonsterInsights, Sucuri Security, TranslatePress, and more β€” 316 verified tools across 26 categories, all exposed as MCP tools.

Activity Logging

Every MCP tool call is logged with timestamp, tool name, client identifier, and response status. Color-coded badges for Claude, Cursor, Windsurf, ChatGPT, and Gemini. Paginated view, filters by client and date range, and CSV export included.

Secure by Design

Capability checks on every tool call, SHA-256 token hashing, SSRF protection on URL downloads, sensitive meta key blocklist, IP allowlist support, and 60 req/min rate limiting per IP. No MCP tool can ever create a WordPress user.

Admin Dashboard

Setup Health checklist, live server status, OAuth client count, today's success/fail stats, a searchable tools browser, and a 7-day sparkline widget on your WordPress dashboard home screen.

Connection Test Page

A dedicated diagnostics page checks HTTPS, permalink structure, and live OAuth/MCP endpoint reachability, then reports the specific reason a connection would fail β€” no more guessing from a generic error message.

Extensible via Filter

Register custom MCP tools from any plugin or theme using bcs_mcp_register_tool() or the bcs_mcp_tools filter. Your tools appear automatically in the AI client's tool list alongside the built-in 316+.

Tool Coverage

316+ tools across
26 WordPress categories

Integration tools activate automatically when their plugin is detected β€” WooCommerce, ACF, Elementor, BuddyPress, UpdraftPlus, FluentCRM, MonsterInsights, Sucuri Security, and 12 more.

Posts
Pages
Media Library
Taxonomies
Comments
Users & Roles
Menus & Nav
Plugins & Themes
SEO & Redirects
Site & Options
Content Structure & Revisions
Site Health & Diagnostics
WooCommerce
Easy Digital Downloads
Advanced Custom Fields
Page Builders
Forms
Backup & Migration
Marketing & CRM
Membership & LMS
Community & Forums
The Events Calendar
WPML / Polylang / TranslatePress
Analytics
Developer & Import Tools
Security & Compliance

Integration tools only appear in the AI client's tool list when their respective plugin is active β€” WooCommerce, ACF, Elementor, Bricks, Divi, Gravity Forms, WPForms, Ninja Forms, Contact Form 7, MemberPress, LearnDash, EDD, UpdraftPlus, FluentCRM, Redirection, BuddyPress, The Events Calendar, MonsterInsights, Sucuri Security, TranslatePress, and WP Mail SMTP.

Tool Reference

Complete tool index

Every tool available to connected AI clients β€” with endpoint path and description. Integration tools only appear when their plugin is active on your site.

Posts 14 tools
wp_get_posts GET /posts List posts with filters
wp_get_post GET /posts/{id} Get a single post by ID
wp_create_post POST /posts Create a new post
wp_update_post PUT /posts/{id} Update an existing post
wp_delete_post DELETE /posts/{id} Delete or trash a post
wp_count_posts GET /posts/count Count posts by type and status
wp_get_post_types GET /post-types List all registered post types
wp_duplicate_post POST /posts/{id}/duplicate Duplicate a post as draft
wp_schedule_post PUT /posts/{id}/schedule Schedule post for future publishing
wp_get_post_format GET /posts/{id}/format Get the post format
wp_set_post_format PUT /posts/{id}/format Set the post format
wp_bulk_trash_posts DELETE /posts/bulk-trash Trash multiple posts by ID in one call
wp_set_post_password PUT /posts/{id}/password Set or clear the password on a post
wp_get_post_statuses GET /post-statuses List all registered post statuses
Pages 8 tools
wp_get_pages GET /pages List pages
wp_get_page GET /pages/{id} Get a single page by ID
wp_create_page POST /pages Create a new page
wp_update_page PUT /pages/{id} Update an existing page
wp_delete_page DELETE /pages/{id} Delete or trash a page
wp_duplicate_page POST /pages/{id}/duplicate Duplicate a page as draft
wp_get_page_template GET /pages/{id}/template Get the page template
wp_set_page_template PUT /pages/{id}/template Set the page template
Media 11 tools
wp_get_media GET /media List media library items
wp_get_media_item GET /media/{id} Get a single media item
wp_upload_media_from_url POST /media/upload-url Upload image from a URL
wp_upload_media POST /media/upload Upload file from base64 content
wp_set_featured_image PUT /posts/{id}/featured-image Set the featured image on a post
wp_update_media PUT /media/{id} Update media metadata
wp_delete_media DELETE /media/{id} Delete a media item
wp_count_media GET /media/count Count media items by MIME type
wp_get_image_sizes GET /media/image-sizes List all registered image sizes
wp_regenerate_thumbnails POST /media/regenerate Regenerate thumbnails for one or all images
wp_get_attachment_metadata GET /media/{id}/metadata Get full attachment metadata (dimensions, alt, EXIF)
Taxonomies 11 tools
wp_get_categories GET /categories List all categories
wp_get_tags GET /tags List all tags
wp_get_taxonomies GET /taxonomies List registered taxonomies
wp_create_term POST /terms Create a term in a taxonomy
wp_update_term PUT /terms/{id} Update a term
wp_delete_term DELETE /terms/{id} Delete a term from a taxonomy
wp_add_post_terms PUT /posts/{id}/terms Add terms to a post
wp_count_terms GET /terms/count Count terms in a taxonomy
wp_get_term_meta GET /terms/{id}/meta Get term meta values
wp_update_term_meta PUT /terms/{id}/meta Update term meta value
wp_delete_term_meta DELETE /terms/{id}/meta Delete a term meta key
Comments 9 tools
wp_get_comments GET /comments List comments
wp_create_comment POST /comments Create a new comment on a post
wp_delete_comment DELETE /comments/{id} Delete or trash a comment
wp_get_pending_comments GET /comments/pending Get comments awaiting moderation
wp_approve_comment PUT /comments/{id}/approve Approve a pending comment
wp_spam_comment PUT /comments/{id}/spam Mark a comment as spam
wp_trash_comment PUT /comments/{id}/trash Trash a comment
wp_update_comment PUT /comments/{id} Update comment content or author fields
wp_bulk_delete_comments DELETE /comments/bulk-delete Delete or trash multiple comments by ID in one call
Users 11 tools
wp_get_users GET /users List WordPress users
wp_get_user GET /users/{id} Get a single user by ID
wp_update_user PUT /users/{id} Update an existing user
wp_delete_user DELETE /users/{id} Delete a WordPress user
wp_get_user_sessions GET /users/{id}/sessions Get active sessions for a user
wp_destroy_user_sessions DELETE /users/{id}/sessions Destroy all sessions for a user
wp_get_user_roles GET /users/roles List all registered user roles and capabilities
wp_assign_user_role PUT /users/{id}/role Change a user's role
wp_get_users_by_role GET /users/by-role/{role} List users filtered by role
wp_reset_user_password POST /users/{id}/reset-pass Send a password reset email to a user
wp_export_users_csv GET /users/export Export users list as CSV (formula-injection safe)
Menus 11 tools
wp_get_menus GET /menus List all nav menus
wp_get_menu_items GET /menus/{id}/items List items in a nav menu
wp_create_menu POST /menus Create a new navigation menu
wp_delete_menu DELETE /menus/{id} Delete a navigation menu
wp_create_menu_item POST /menus/{id}/items Create a new menu item
wp_update_menu_item PUT /menu-items/{id} Update a menu item
wp_delete_menu_item DELETE /menu-items/{id} Delete a menu item
wp_reorder_menu_items PUT /menus/{id}/reorder Reorder menu items
wp_get_nav_menu_locations GET /menus/locations List theme menu locations and assigned menus
wp_assign_menu_to_location PUT /menus/locations/{slug} Assign a menu to a theme location
wp_duplicate_menu POST /menus/{id}/duplicate Duplicate a nav menu including all of its items
Plugins & Themes 7 tools
wp_get_plugins GET /plugins List all installed plugins
wp_activate_plugin POST /plugins/activate Activate an installed plugin
wp_deactivate_plugin POST /plugins/deactivate Deactivate an active plugin
wp_get_themes GET /themes List all installed themes
wp_get_active_theme GET /themes/active Get active theme info
wp_get_theme_mods GET /themes/mods Get all theme modifications
wp_get_custom_css GET /themes/custom-css Get the active theme custom CSS
SEO, Redirects & Content Quality 11 tools
wp_get_seo_meta GET /posts/{id}/seo Get SEO meta (Yoast, Rank Math, AIOSEO, SEOPress, Slim SEO, The SEO Framework)
wp_update_seo_meta PUT /posts/{id}/seo Update SEO title, description, focus keyword, or noindex for a post
seo_bulk_get_meta GET /seo/bulk Bulk SEO audit β€” list titles, descriptions, and keywords across posts
seo_get_site_settings GET /seo/site-settings Get site-wide SEO title separator and homepage title/description
wp_get_media_missing_alt_text GET /media/missing-alt List media items missing alt text
wp_find_broken_links GET /site/broken-links Scan site content for broken internal/external links
wp_get_orphaned_media GET /media/orphaned List media items not attached to any post
wp_get_content_gaps GET /site/content-gaps Audit content for missing categories, thin posts, or stale pages
redirection_get_redirects GET /redirection/redirects List URL redirects (requires Redirection)
redirection_create_redirect POST /redirection/redirects Create a new URL redirect (requires Redirection)
redirection_delete_redirect DELETE /redirection/redirects/{id} Delete a URL redirect (requires Redirection)
Site / Options 17 tools
wp_get_site_info GET /site Get basic site information
wp_search GET /search Search WordPress content
wp_get_site_health GET /site/health Get site health summary
wp_get_site_health_tests GET /site/health/tests Run full Site Health diagnostics (critical/recommended/passed counts)
wp_get_multisite_info GET /site/multisite Check multisite status and list network sites
wp_get_option GET /options/{name} Get a WordPress option value
wp_get_plugin_settings GET /options/plugin Get plugin option values by slug
wp_send_email POST /email Send an email via wp_mail
wp_list_cron_jobs GET /cron List scheduled WP-Cron jobs
wp_flush_rewrite_rules POST /site/flush-rewrites Flush and regenerate rewrite rules
wp_run_shortcode POST /shortcode Execute a shortcode and return HTML output
wp_get_post_meta GET /posts/{id}/meta Get post meta values
wp_update_post_meta PUT /posts/{id}/meta Update a post meta value
wp_delete_post_meta DELETE /posts/{id}/meta/{key} Delete a post meta key
wp_get_user_meta GET /users/{id}/meta Get user meta values
wp_update_user_meta PUT /users/{id}/meta Update a user meta value
wp_delete_user_meta DELETE /users/{id}/meta/{key} Delete a user meta key
Content Structure & Revisions 9 tools
wp_get_post_revisions GET /posts/{id}/revisions List revisions for a post
wp_restore_revision PUT /revisions/{id}/restore Restore post to a previous revision
wp_get_permalink_structure GET /site/permalinks Get the permalink structure
wp_get_reusable_blocks GET /blocks List reusable blocks
wp_create_reusable_block POST /blocks Create a new reusable block
wp_parse_blocks POST /blocks/parse Parse Gutenberg block structure from post content
wp_get_block_patterns GET /blocks/patterns List all registered block patterns
wp_get_registered_sidebars GET /widgets/sidebars List all registered widget areas
wp_get_sidebar_widgets GET /widgets/sidebars/{sidebar} Get widgets in a specific sidebar
Site Health & Diagnostics 17 tools
wp_get_cache_status GET /cache/status Detect which page-caching and object-caching plugins are active
wp_get_transient GET /cache/transient/{key} Get a transient value
wp_set_transient PUT /cache/transient/{key} Set a transient value with expiration
wp_delete_transient DELETE /cache/transient/{key} Delete a transient
wp_flush_cache POST /cache/flush Flush the WordPress object cache
wp_purge_cache POST /cache/purge Purge full-page cache (Rocket, W3TC, etc.)
wp_get_server_info GET /dev/server-info PHP version, memory limits, WordPress environment
wp_get_php_info GET /dev/php-info Get PHP runtime configuration and extensions
wp_get_database_size GET /dev/db-size Size and row count for every database table
wp_optimize_tables POST /dev/db-optimize Optimize all WordPress database tables
wp_search_replace_content POST /dev/search-replace Find & replace text in post content (dry-run support)
wp_get_debug_log GET /dev/debug-log Read last N lines from wp-content/debug.log
wp_get_error_log GET /dev/error-log Read recent PHP error log entries
wp_get_plugin_updates_available GET /dev/plugin-updates List plugins with an available update
wp_get_core_update_status GET /dev/core-update Check WordPress core update status
wp_get_ssl_status GET /dev/ssl-status Check SSL certificate validity and expiry
smtp_get_config_status GET /smtp/status Get outgoing mail configuration status (requires WP Mail SMTP)
WooCommerce 36 tools requires plugin
wc_get_products GET /wc/products List WooCommerce products
wc_create_product POST /wc/products Create a new WooCommerce product
wc_update_product PUT /wc/products/{id} Update a WooCommerce product
wc_delete_product DELETE /wc/products/{id} Delete a WooCommerce product
wc_get_orders GET /wc/orders List WooCommerce orders
wc_get_order GET /wc/orders/{id} Get full details of a single order
wc_update_order_status PUT /wc/orders/{id}/status Update order status
wc_refund_order POST /wc/orders/{id}/refund Create a refund for an order
wc_get_order_notes GET /wc/orders/{id}/notes List notes and history for an order
wc_add_order_note POST /wc/orders/{id}/notes Add a private or customer note to an order
wc_get_customers GET /wc/customers List WooCommerce customers
wc_get_coupons GET /wc/coupons List WooCommerce coupons
wc_create_coupon POST /wc/coupons Create a new coupon
wc_get_coupon GET /wc/coupons/{id} Get a single coupon by ID or code
wc_update_coupon PUT /wc/coupons/{id} Update an existing coupon
wc_delete_coupon DELETE /wc/coupons/{id} Delete a coupon
wc_get_inventory GET /wc/inventory Get product inventory levels
wc_update_stock PUT /wc/products/{id}/stock Update product stock quantity
wc_get_product_categories GET /wc/categories List WooCommerce product categories
wc_get_store_stats GET /wc/stats Get store revenue, orders, and customer stats
wc_get_shipping_zones GET /wc/shipping-zones List shipping zones and their methods
wc_get_payment_gateways GET /wc/payment-gateways List configured payment gateways
wc_get_tax_rates GET /wc/tax-rates List WooCommerce tax rates and classes
wc_get_product_variations GET /wc/products/{id}/variations List all variations of a variable product
wc_get_variation GET /wc/products/{id}/variations/{v} Get a single product variation
wc_create_variation POST /wc/products/{id}/variations Create a variation on a variable product
wc_update_variation PUT /wc/products/{id}/variations/{v} Update variation price/stock/attributes
wc_delete_variation DELETE /wc/products/{id}/variations/{v} Delete a product variation
wc_batch_update_variations PUT /wc/products/{id}/variations Bulk-update multiple variations at once
wc_get_product_attributes GET /wc/attributes List all global product attributes
wc_create_product_attribute POST /wc/attributes Create a new global product attribute
wc_get_attribute_terms GET /wc/attributes/{id}/terms List terms for a product attribute
wc_set_product_attributes PUT /wc/products/{id}/attributes Set attributes on a product
wc_get_subscriptions GET /wc/subscriptions List WooCommerce Subscriptions (requires WooCommerce Subscriptions)
wc_cancel_subscription PUT /wc/subscriptions/{id}/cancel Cancel a subscription
wc_get_bookings GET /wc/bookings List WooCommerce Bookings (requires WooCommerce Bookings)
Advanced Custom Fields 14 tools requires plugin
wp_get_acf_fields GET /acf/fields/{post_id} Get all ACF fields for a post
wp_update_acf_field PUT /acf/fields/{post_id} Update an ACF field value
wp_get_acf_field_groups GET /acf/groups List all ACF field groups
wp_duplicate_acf_field_group POST /acf/groups/{id}/duplicate Duplicate an ACF field group
wp_get_acf_field_group_def GET /acf/groups/{id}/definition Get the full field definition for a field group
wp_get_acf_options GET /acf/options Read ACF options page values
wp_update_acf_options PUT /acf/options Write ACF options page values
wp_get_acf_options_pages GET /acf/options/pages List registered ACF options pages
wp_add_acf_repeater_row POST /acf/fields/{post_id}/repeater Add a row to an ACF repeater field
wp_delete_acf_repeater_row DELETE /acf/fields/{post_id}/repeater/{row} Delete a row from an ACF repeater field
wp_add_acf_flexible_row POST /acf/fields/{post_id}/flexible Add a layout row to an ACF flexible content field
wp_delete_acf_flexible_row DELETE /acf/fields/{post_id}/flexible/{row} Delete a layout row from an ACF flexible content field
wp_get_acf_json_sync_status GET /acf/local-json/status Check ACF Local JSON sync status for field groups
wp_get_acf_field_types GET /acf/field-types List available ACF field types
Page Builders 11 tools requires plugin
elementor_list_templates GET /elementor/templates List all saved Elementor templates
elementor_clone_page POST /elementor/pages/{id}/clone Clone a page and its Elementor data
elementor_get_page_outline GET /elementor/pages/{id}/outline Get sections/widgets structure of a page
elementor_bulk_replace_text POST /elementor/replace-text Find and replace text across all Elementor pages
elementor_swap_image POST /elementor/swap-image Replace an image URL across all pages
elementor_import_template POST /elementor/templates Import an Elementor template from JSON
elementor_get_global_widgets GET /elementor/global-widgets List Elementor global widgets
bricks_get_page_elements GET /bricks/pages/{id}/elements Read a page's Bricks Builder element tree
bricks_clone_page POST /bricks/pages/{id}/clone Clone a page with its Bricks Builder content
divi_get_page_content GET /divi/pages/{id}/content Read a page's Divi Builder shortcode content
divi_clone_page POST /divi/pages/{id}/clone Clone a page with its Divi Builder content
Forms 15 tools requires plugin
gf_get_forms GET /gf/forms List all Gravity Forms
gf_get_entries GET /gf/forms/{id}/entries Get entries for a Gravity Form
gf_create_entry POST /gf/forms/{id}/entries Create a Gravity Forms entry
gf_update_entry PUT /gf/entries/{id} Update a Gravity Forms entry
cf7_get_forms GET /cf7/forms List all Contact Form 7 forms
cf7_get_form_fields GET /cf7/forms/{id}/fields Read CF7 form fields and mail settings
wpforms_get_forms GET /wpforms/forms List all WPForms
wpforms_get_entries GET /wpforms/forms/{id}/entries Get entries for a WPForm (requires WPForms Pro or entry storage)
nf_get_forms GET /nf/forms List all Ninja Forms
nf_get_submissions GET /nf/forms/{id}/submissions Get submissions for a Ninja Form
ff_get_forms GET /ff/forms List all Formidable Forms
ff_get_entries GET /ff/forms/{id}/entries Get entries for a Formidable Form
um_get_members GET /um/members List Ultimate Member profiles
ur_get_registrations GET /ur/registrations List User Registration form submissions
ur_get_forms GET /ur/forms List User Registration forms
Backup & Migration 5 tools requires plugin
updraft_list_backups GET /updraft/backups List all UpdraftPlus backup sets
updraft_trigger_backup POST /updraft/backups Trigger a new UpdraftPlus backup
updraft_get_job_status GET /updraft/backups/{job_id} Check the status of a backup job
duplicator_list_packages GET /duplicator/packages List Duplicator migration/backup packages
ai1wm_list_backups GET /ai1wm/backups List All-in-One WP Migration backup files
Marketing & CRM 14 tools requires plugin
fluentcrm_get_contacts GET /fluentcrm/contacts List FluentCRM contacts
fluentcrm_upsert_contact POST /fluentcrm/contacts Create or update a FluentCRM contact by email
fluentcrm_get_campaigns GET /fluentcrm/campaigns List FluentCRM email campaigns
mailchimp_get_lists GET /mailchimp/lists List Mailchimp for WP audiences
mailchimp_get_subscribers GET /mailchimp/lists/{id}/subscribers List subscribers on a Mailchimp audience
affwp_get_affiliates GET /affwp/affiliates List AffiliateWP affiliates
affwp_get_referrals GET /affwp/referrals List AffiliateWP referrals
affwp_get_creatives GET /affwp/creatives List AffiliateWP creatives
givewp_get_forms GET /givewp/forms List GiveWP donation forms
givewp_get_donations GET /givewp/donations List GiveWP donations
givewp_get_donors GET /givewp/donors List GiveWP donors
wpsp_get_payment_forms GET /wpsp/forms List WP Simple Pay payment forms
wpsp_get_payments GET /wpsp/payments List WP Simple Pay one-time and subscription payments
mailchimp_get_campaigns GET /mailchimp/campaigns List Mailchimp for WP campaigns
Membership & LMS 12 tools requires plugin
learndash_get_courses GET /learndash/courses List all LearnDash courses
learndash_get_course_progress GET /learndash/users/{id}/progress Get a user's course progress
learndash_enroll_user POST /learndash/courses/{id}/enroll Enroll or unenroll a user in a course
memberpress_get_memberships GET /memberpress/memberships List all MemberPress memberships
memberpress_get_members GET /memberpress/members List MemberPress members
memberpress_get_member_subscriptions GET /memberpress/members/{id}/subscriptions Get a member's subscriptions and transaction history
rcp_get_memberships GET /rcp/memberships List Restrict Content Pro memberships
rcp_get_members GET /rcp/members List Restrict Content Pro members
rcp_grant_membership POST /rcp/members/{id}/grant Grant a Restrict Content Pro membership to a user
wc_memberships_get_plans GET /wc-memberships/plans List WooCommerce Memberships plans
wc_memberships_get_members GET /wc-memberships/members List WooCommerce Memberships members
wc_memberships_grant POST /wc-memberships/members/{id}/grant Grant a WooCommerce membership to a user
Easy Digital Downloads 5 tools requires plugin
edd_get_products GET /edd/products List Easy Digital Downloads products
edd_get_orders GET /edd/orders List EDD orders
edd_get_order GET /edd/orders/{id} Get full details of a single EDD order
edd_get_customers GET /edd/customers List EDD customers
edd_get_store_stats GET /edd/stats Get EDD store revenue and sales stats
Community & Forums 12 tools requires plugin
bp_get_members GET /bp/members List BuddyPress members
bp_get_xprofile_fields GET /bp/members/{id}/xprofile Read extended profile (xProfile) fields for a member
bp_get_activity GET /bp/activity Read the BuddyPress activity stream
bp_create_activity POST /bp/activity Post to the BuddyPress activity stream
bp_get_groups GET /bp/groups List BuddyPress groups
bp_create_group POST /bp/groups Create a new BuddyPress group
bp_get_group_members GET /bp/groups/{id}/members List members of a BuddyPress group
bp_get_friend_connections GET /bp/members/{id}/friends List a member's friend connections
bbp_get_forums GET /bbpress/forums List bbPress forums
bbp_get_topics GET /bbpress/forums/{id}/topics List topics in a bbPress forum
bbp_get_replies GET /bbpress/topics/{id}/replies List replies to a bbPress topic
bbp_create_reply POST /bbpress/topics/{id}/replies Post a reply to a bbPress topic
The Events Calendar 9 tools requires plugin
tec_get_events GET /tec/events List events
tec_get_event GET /tec/events/{id} Get a single event by ID
tec_create_event POST /tec/events Create a new event
tec_update_event PUT /tec/events/{id} Update an existing event
tec_delete_event DELETE /tec/events/{id} Delete an event
tec_get_venues GET /tec/venues List event venues
tec_get_organizers GET /tec/organizers List event organizers
tec_get_event_categories GET /tec/categories List event categories
tec_get_event_tags GET /tec/tags List event tags
WPML / Polylang / TranslatePress 10 tools requires plugin
wpml_get_active_languages GET /wpml/languages List active WPML languages
wpml_get_post_language GET /wpml/posts/{id}/language Get a post's assigned language
wpml_set_post_language PUT /wpml/posts/{id}/language Set a post's language
wpml_get_post_translations GET /wpml/posts/{id}/translations Get a post's linked translations
wpml_get_term_translations GET /wpml/terms/{id}/translations Get a term's linked translations
wpml_create_translation POST /wpml/posts/{id}/translations Create a linked translation of a post
pll_get_translatable_types GET /polylang/translatable-types List translatable post types and taxonomies (requires Polylang)
pll_get_string_translations GET /polylang/strings Read Polylang String Translations
tp_get_languages GET /translatepress/languages Get default and configured languages (requires TranslatePress)
tp_search_string_translations GET /translatepress/strings Search TranslatePress string translations
Analytics 11 tools requires plugin
sitekit_get_analytics_report GET /sitekit/analytics/report Get a Google Analytics report via Site Kit
sitekit_get_top_pages GET /sitekit/analytics/top-pages Get top pages via Site Kit
sitekit_get_adsense_earnings GET /sitekit/adsense/earnings Get AdSense earnings via Site Kit
sitekit_get_search_console_queries GET /sitekit/search-console/queries Get Search Console query data via Site Kit
wpstatistics_get_summary GET /wpstatistics/summary Get a visit summary from WP Statistics
wpstatistics_get_top_pages GET /wpstatistics/top-pages Get top pages from WP Statistics
wpstatistics_get_online_users GET /wpstatistics/online-users Get currently online visitor count
wpstatistics_get_referrers GET /wpstatistics/referrers Get referrer breakdown from WP Statistics
wpstatistics_get_browsers GET /wpstatistics/browsers Get browser/platform/country breakdown
mi_get_connection_status GET /monsterinsights/status Get MonsterInsights connection status
mi_get_settings GET /monsterinsights/settings Get MonsterInsights tracking settings
Developer & Import Tools 9 tools requires plugin
wpai_get_import_definitions GET /wpallimport/imports List WP All Import import definitions
wpai_run_import POST /wpallimport/imports/{id}/run Run a WP All Import import job
wpae_get_export_definitions GET /wpallexport/exports List WP All Export export definitions
cptui_get_post_types GET /cptui/post-types List custom post types registered via CPT UI
cptui_create_post_type POST /cptui/post-types Create a custom post type via CPT UI
cptui_get_taxonomies GET /cptui/taxonomies List custom taxonomies registered via CPT UI
cptui_create_taxonomy POST /cptui/taxonomies Create a custom taxonomy via CPT UI
cptui_delete_post_type DELETE /cptui/post-types/{id} Delete a custom post type via CPT UI
snippets_get_audit GET /code-snippets/audit List active Code Snippets for a security/quality audit
Security & Compliance 9 tools requires plugin
wordfence_get_scan_issues GET /wordfence/scan-issues List issues from the last Wordfence scan
wordfence_get_firewall_status GET /wordfence/firewall Get Wordfence firewall status
twofactor_get_user_status GET /2fa/users/{id}/status Get a user's Two Factor authentication status
cookieyes_get_consent_status GET /cookieyes/status Get CookieYes cookie consent status
complianz_get_status GET /complianz/status Get Complianz privacy/cookie compliance status
akismet_get_spam_stats GET /akismet/stats Get Akismet spam-filtering statistics
jetpack_get_connection_status GET /jetpack/status Get Jetpack connection status
sucuri_get_scan_status GET /sucuri/scan-status Get Sucuri Security malware scan status (requires Sucuri Security)
sucuri_get_firewall_status GET /sucuri/firewall Get Sucuri Security firewall/connection status

316 is the total across all supported integrations. A site without WooCommerce, BuddyPress, or other integrations will see roughly 124 core tools; each supported plugin you activate adds its tools automatically.

Setup

Connected in under
5 minutes

No developer. No API keys to manage manually. Just WordPress and your AI client.

Install & Activate

Install from WordPress.org and activate. The MCP server starts immediately β€” no configuration needed to enable the endpoint. Running Wordfence or a similar security plugin? Check its firewall for a "restrict the REST API to logged-in users" toggle first β€” see the FAQ below.

Paste MCP URL into AI Client

Copy the MCP URL from MCP Connector β†’ Dashboard and add it to Claude.ai, Claude Desktop, ChatGPT, Cursor, or any MCP-compatible client. The client handles OAuth registration automatically.

Approve & Start Using

You'll be redirected to an authorization screen in your own wp-admin. Approve once β€” the AI client manages tokens from that point. Ask Claude to write a post, update products, or query any WordPress data.

FAQ

Common questions

Anything else? Open an issue on the WordPress.org support forum.

What is the Model Context Protocol?

MCP is an open standard created by Anthropic that lets AI assistants connect to external tools and data sources in a structured, authenticated way. When your WordPress site runs an MCP server, Claude and other AI clients can see and use your WordPress data β€” writing posts, managing products, updating SEO β€” without you needing to copy/paste anything.

Which AI clients are compatible?

Any client that implements the MCP specification. Tested and confirmed working with Claude (claude.ai and Claude Desktop), ChatGPT, Cursor, and Windsurf. Gemini uses the same standard protocol and is expected to work via Google AI Studio's MCP integrations. The plugin uses Streamable HTTP transport with a legacy SSE fallback so it works with both new and older client versions.

Is my WordPress site secure when an AI is connected?

Every tool call enforces WordPress capabilities β€” the AI can only do what your user account is allowed to do. Tokens are stored as SHA-256 hashes, never plaintext. PKCE is required on every OAuth flow. Sensitive meta keys (passwords, session tokens, API secrets) are on a permanent blocklist. You can further restrict access with the IP allowlist feature.

Does this plugin send data to ByteCore Stack or any third party?

No. The plugin contains no analytics, telemetry, or tracking of any kind. The only outbound HTTP call it makes is when the wp_upload_media_from_url tool is explicitly invoked by your connected AI client to download an image β€” and even then it connects to the URL the AI specified, not to any ByteCore Stack server.

Do the integration tools (WooCommerce, BuddyPress, etc.) require extra setup?

No. All integration tools are included in the plugin and activate automatically when their plugin is detected β€” WooCommerce, ACF, Elementor, Bricks Builder, Divi Builder, Gravity Forms, Contact Form 7, WPForms, Ninja Forms, MemberPress, LearnDash, Easy Digital Downloads, UpdraftPlus, FluentCRM, Redirection, BuddyPress, The Events Calendar, MonsterInsights, Sucuri Security, TranslatePress, and WP Mail SMTP. If a plugin isn't installed, its tools simply don't appear in the AI client's tool list β€” no errors, no configuration required.

My AI client shows fewer than 316 tools β€” is that a bug?

No β€” that's expected. 316+ is the plugin's total across every supported integration. Your AI client only sees tools whose dependencies are actually satisfied on your site. A fresh WordPress install with no companion plugins sees roughly 124 core tools; each supported integration plugin you activate adds its tools automatically.

I have Wordfence or another security plugin β€” do I need to change anything before connecting?

Possibly β€” this is the single most common reason a connection fails on the first try. Security plugins like Wordfence and All In One WP Security commonly ship a firewall setting that restricts the REST API to logged-in users. This plugin's MCP/OAuth endpoints are intentionally reachable without a WordPress login, since they authenticate the AI client via OAuth Bearer tokens instead of a WordPress session. As of version 1.2.1 this plugin automatically exempts its own routes from that kind of lockdown, so most users won't need to do anything β€” but if a connection still fails, allowlist /.well-known/oauth-*, /authorize, /token, /register, and /wp-json/bcs-mcp/* (including the DELETE method) in your security plugin's firewall. Run Diagnostics β†’ Test Connection for a specific, current status on each check.

I see "Couldn't register with sign-in service" in Claude. How do I fix it?

This usually means the OAuth rewrite rules haven't been flushed. Log in to wp-admin once β€” the plugin auto-flushes on the first admin page load after activation or update. If the error persists, go to Settings β†’ Permalinks and click Save Changes. You can also check the Connection Test page for a specific diagnosis.

Can I add my own custom MCP tools?

Yes. Use bcs_mcp_register_tool( 'my_tool', 'Description', $schema, $callback ) from any plugin or theme, or hook into the bcs_mcp_tools filter directly. Your custom tools appear in the AI client's tool list alongside the built-in 316+.

Your AI, inside
your WordPress

Free to install. No account required. No paid plan. 316+ tools, 26 categories.
Connect Claude, ChatGPT, or Cursor once and let it manage your site.