
Wordpress Mcp
io.github.cvrt-jh由 GitHub 帳號 cvrt-jh 發布v1.0.0更新於 Oct 24, 2026
Lightweight WordPress MCP server - 42 tools, token-optimized (95% smaller responses)
概覽
在本機執行的 MCP 伺服器,為助理提供精簡過的 WordPress 網站管理工具,可管理內容、使用者、外掛、佈景主題、資料庫與 WooCommerce 等。
- 可以做什麼
- 列出已設定的網站,讀取或修改網站設定
- 建立、讀取、更新、刪除與搜尋文章和頁面
- 管理使用者、媒體、分類、標籤與留言,包含批次審核
- 檢視、啟用、安裝、更新與刪除外掛和佈景主題,更新核心並清除快取
- 維護資料庫與選項,管理選單和小工具
- 執行健康檢查、排程工作、稽核日誌與診斷,並可選用 WooCommerce、ACF、SEO、法律頁面、欄位與訂單履行模組
- 適用情境
- 當你希望助理在 WordPress 網站上起草、修改或檢視內容與設定,或執行外掛更新、快取清除、資料庫清理等日常維護,而不必開啟後台管理介面時使用。
- 執行需求
- 透過 npx 或全域 npm 安裝後在本機執行(需要 Node.js)。需要一個已啟用應用程式密碼(WordPress 5.6+)的 WordPress 網站,憑證透過 WORDPRESS_SITES 的 JSON 陣列提供,內含 id、url、username 與 password;舊的單一網站變數 WORDPRESS_SITE_URL、WORDPRESS_USERNAME 與 WORDPRESS_PASSWORD 已不再讀取。擴充工具需要 cvrt-mcp-endpoints 外掛,部分模組還需其他外掛。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Wordpress Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
wordpress-mcp
[npm version] [License: MIT] [MCP SDK]
Lightweight WordPress MCP server for site management. 266 tools with token-optimized responses - REST API responses automatically slimmed from kilobytes to essentials.
v3.5: fields_* (12 tools) for cvrt-fields 0.1.2+ - status, settings, field types, location values, schemas and CRUD + JSON sync for field groups, post types, taxonomies and options pages.
v3.4: cvrt-legal 0.9.0 - markup repair switches (repairs on legal_put_accessibility) and report (legal_get_accessibility_report / legal_reset_accessibility_report), document type barrierefreiheit.
v3.3: every cvrt-legal admin route is a tool - generator (legal_*_generator*, library import from a local file), Impressum facts, social-media section, settings, and the self-hosted accessibility tool (legal_get_accessibility / legal_put_accessibility, cvrt-legal 0.8.0+).
v3.2: legal_consent_log_get / legal_consent_log_stats / legal_consent_log_export for the cvrt-legal consent decision log (needs cvrt-legal 0.5.0+); legal_put_consent takes log_enabled.
v3.1: Tools for our own plugins - seo_* (31) for cvrt-seo-manager, legal_* (15) for cvrt-legal incl. legal_link_page (cvrt-legal 0.4.2+), and fulfillment_* (8) for cvrt-order-fulfillment.
v3.0 (BREAKING): Multi-site - one server instance manages any number of sites via a single WORDPRESS_SITES env var. Every tool now requires a site argument; use the new list_sites tool to discover configured ids. The old single-site env vars are removed. wp_activate_plugin / wp_deactivate_plugin / wp_delete_plugin now use cvrt-mcp-endpoints mcp/v1 routes and take the plugin file path (e.g. akismet/akismet.php) instead of a slug.
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.
Why This Server?
WordPress REST API returns extremely verbose JSON (~5-10KB per post). This server strips it down:
Less tokens = faster responses, lower costs, more context for your AI.
Installation
Or run directly:
Configuration
v3.0 is multi-site (BREAKING CHANGE). A single server instance now manages any number of WordPress sites, defined in one WORDPRESS_SITES env var as a JSON array of {id, url, username, password} objects. The old single-site env vars (WORDPRESS_SITE_URL, WORDPRESS_USERNAME, WORDPRESS_PASSWORD) are no longer read - set WORDPRESS_SITES instead.
Every tool (except list_sites) now requires a site argument naming the target site id. Call list_sites first to discover which ids are configured - it returns {id, url} for each site (passwords are never returned or logged).
Claude Desktop / Manual
Add to your MCP config (~/.claude.json or Claude Desktop settings):
Add more sites by appending objects to the WORDPRESS_SITES array - one server instance handles them all.
Claude Code CLI
From Source
Authentication
Uses Application Passwords (WordPress 5.6+):
- Go to Users → Profile in WordPress admin
- Scroll to Application Passwords
- Create new password for "Claude MCP"
- Use the generated password (keep the spaces)
Response Slimming
All responses are automatically trimmed. Example:
wp_get_post - from ~5KB to ~200 bytes:
What gets stripped:
Tools (314)
Every tool below requires a site argument (the id from your WORDPRESS_SITES config), except list_sites itself.
Sites (1)
list_sites- List configured site ids and URLs (nositeargument; passwords never returned)
Standard WordPress REST API (42 tools)
These work with any WordPress site:
Site (4)
wp_site_info- Get site name, description, URLwp_get_settings- Get site settingswp_update_settings- Update site settingswp_get_namespaces- List REST API namespaces
Posts (6)
wp_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 posts
Pages (5)
wp_list_pages- List pageswp_get_page- Get single pagewp_create_page- Create pagewp_update_page- Update pagewp_delete_page- Delete page
Users (6)
wp_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 user
Plugins (5)
wp_list_plugins- List pluginswp_get_plugin- Get plugin detailswp_activate_plugin- Activate plugin (mcp/v1;pluginis the file path, e.g.akismet/akismet.php)wp_deactivate_plugin- Deactivate plugin (mcp/v1;pluginis the file path)wp_delete_plugin- Delete plugin (mcp/v1;pluginis the file path)
Themes (4)
wp_list_themes- List themeswp_get_active_theme- Get active themewp_get_theme- Get theme detailswp_activate_theme- Switch themes
Media (4)
wp_list_media- List media librarywp_get_media- Get media itemwp_update_media- Update media metadatawp_delete_media- Delete media
Categories & Tags (8)
wp_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 tag
Comments (6)
wp_list_comments- List commentswp_get_comment- Get commentwp_create_comment- Create commentwp_update_comment- Update/moderate commentwp_delete_comment- Delete commentwp_moderate_comments- Batch moderate
Extended Tools (43 tools) - Requires cvrt-mcp-endpoints plugin
These require the cvrt-mcp-endpoints WordPress plugin to be installed and activated.
Plugin Management (4)
mcp_search_plugins- Search WordPress.org pluginsmcp_install_plugin- Install plugin from WordPress.orgmcp_update_plugin- Update single plugin (refreshchecks first, incl. GitHub/PUC plugins)mcp_check_plugin_updates- Run Plugin Update Checker and wp.org checks now, list updatesmcp_update_all_plugins- Update all plugins
Theme Management (6)
mcp_search_themes- Search WordPress.org themesmcp_install_theme- Install theme from WordPress.orgmcp_install_theme_zip- Install a theme from a public ZIPurlor upload a localfile_path(.zip, max 64 MB; works for private or locally built themes, needs cvrt-mcp-endpoints 1.20.0+; replacing the active theme needsreplace_active: true)mcp_update_theme- Update single thememcp_update_all_themes- Update all themesmcp_delete_theme- Delete inactive theme
Core Management (6)
mcp_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- Flush object cache and transients (not a page cache in front of WordPress)
Database Management (5)
mcp_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 comments
Options Management (5)
mcp_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 options
Menu Management (8)
mcp_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 location
Widget Management (8)
mcp_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 sidebar
Health & Diagnostics (6)
mcp_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 a cron event now (rescheduled/unscheduled likewp cron event run)mcp_get_action_scheduler- Action Scheduler counts, past-due and recent failuresmcp_run_action_scheduler- Run due Action Scheduler actions now (1-50, optional hook/group)mcp_scan_uploads- Executable files under uploads (sha256, benign flag)mcp_get_audit_log- Audit trail of state-changing MCP calls
ACF Module (31 tools) - Requires wp-pilot-pro + ACF
Requires wp-pilot-pro and Advanced Custom Fields.
Field Groups (4)
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 JSON
Post Fields (4)
acf_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 field
Term & User Fields (4)
acf_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 fields
Options Pages (3)
acf_list_options_pages- List options pagesacf_get_options_fields- Get options page fieldsacf_update_options_fields- Update options fields
Repeater Fields (5)
acf_get_repeater- Get repeater rowsacf_add_repeater_row- Add rowacf_update_repeater_row- Update rowacf_delete_repeater_row- Delete rowacf_reorder_repeater- Reorder rows
Flexible Content (5)
acf_get_flexible- Get layoutsacf_add_flexible_layout- Add layoutacf_update_flexible_layout- Update layoutacf_delete_flexible_layout- Delete layoutacf_reorder_flexible- Reorder layouts
Relationship Fields (4)
acf_get_relationship- Get related postsacf_set_relationship- Set related postsacf_add_to_relationship- Add postsacf_remove_from_relationship- Remove posts
Utility (2)
acf_get_clone_references- Get clone field refsacf_get_field_object- Get field schema
WooCommerce Module (42 tools) - Requires wp-pilot-pro + WooCommerce
Requires wp-pilot-pro and WooCommerce.
Products (5)
woo_list_products- List products with filterswoo_get_product- Get product detailswoo_create_product- Create productwoo_update_product- Update productwoo_delete_product- Delete product
Variations (4)
woo_list_variations- List product variationswoo_create_variation- Create variationwoo_update_variation- Update variationwoo_delete_variation- Delete variation
Attributes (4)
woo_list_attributes- List attributeswoo_list_attribute_terms- List attribute termswoo_create_attribute- Create attributewoo_create_attribute_term- Create term
Categories & Tags (5)
woo_list_categories- List product categorieswoo_create_category- Create categorywoo_update_category- Update categorywoo_delete_category- Delete categorywoo_list_tags- List product tags
Orders (5)
woo_list_orders- List orderswoo_get_order- Get order detailswoo_update_order_status- Update statuswoo_add_order_note- Add notewoo_get_order_notes- Get notes
Customers (5)
woo_list_customers- List customerswoo_get_customer- Get customerwoo_create_customer- Create customerwoo_update_customer- Update customerwoo_get_customer_orders- Get order history
Coupons (5)
woo_list_coupons- List couponswoo_get_coupon- Get couponwoo_create_coupon- Create couponwoo_update_coupon- Update couponwoo_delete_coupon- Delete coupon
Reports (3)
woo_sales_report- Sales reportwoo_top_sellers- Top selling productswoo_stock_report- Stock status report
Product Meta & Inventory (3)
woo_get_product_meta- Get product metawoo_update_product_meta- Update product metawoo_bulk_update_stock- Bulk stock update
SEO Module (31 tools) - Requires cvrt-seo-manager
seo_status- Get cvrt-seo-manager status (version, configured, dependencies)seo_get_settings- Get cvrt-seo-manager settingsseo_update_settings- Update cvrt-seo-manager settingsseo_get_post_seo- Get the SEO meta for a postseo_update_post_seo- Update the SEO meta for a postseo_delete_post_seo- Delete (reset) the SEO meta for a postseo_get_post_analysis- Get the SEO analysis (score, issues) for a postseo_list_posts_seo- List SEO meta across postsseo_bulk_update_posts_seo- Bulk update SEO meta across multiple postsseo_get_term_seo- Get the SEO meta for a taxonomy termseo_update_term_seo- Update the SEO meta for a taxonomy termseo_delete_term_seo- Delete (reset) the SEO meta for a taxonomy termseo_keyword_check- Run the keyword analysis checkseo_list_redirects- List all redirectsseo_create_redirect- Create a redirectseo_get_redirect- Get a redirect by idseo_update_redirect- Update a redirect by idseo_delete_redirect- Delete a redirect by idseo_list_monitor_log- List the 404/redirect monitor log entriesseo_clear_monitor_log- Clear the 404/redirect monitor logseo_create_redirect_from_log- Create a redirect directly from a monitor log entryseo_sitemap_status- Get sitemap statusseo_sitemap_ping- Ping search engines with the sitemapseo_indexnow_ping- Submit URLs to IndexNowseo_export_settings- Export cvrt-seo-manager settingsseo_import_settings- Import cvrt-seo-manager settingsseo_export_csv- Export post SEO meta as CSVseo_import_csv- Import post SEO meta from CSVseo_export_redirects- Export redirectsseo_import_redirects- Import redirectsseo_import_migrate- Run a migration import (e.g
Legal Module (34 tools) - Requires cvrt-legal (legal_get_page / legal_link_page need 0.4.2+, legal_consent_log_* 0.5.0+, social 0.6.0+, generator and facts 0.7.0+, accessibility 0.8.0+)
legal_status- Legal document status for a site: which documents are required, filled and published, plus a single compliant flaglegal_list_documents- List all legal document types with their required/filled state and linked pagelegal_get_document- Get one legal document including its ordered sectionslegal_put_document- Replace a legal documentlegal_render_document- Render a document to normalized HTML without savinglegal_get_page- Get which page a legal document is linked to: linked, page_id, the page's post status, and ok (linked AND published)legal_link_page- Link a legal document to its WordPress page (post type page only; posts and products are refused)legal_add_section- Append a section to a legal documentlegal_update_section- Update a sectionlegal_delete_section- Delete a section from a legal documentlegal_get_consent- Get the cookie consent banner configurationlegal_put_consent- Configure the consent banner and every tracking credential the site useslegal_get_theme- Get the banner theme: preset name, CSS custom property overrides and the rendered CSSlegal_put_theme- Set the banner theme preset and/or individual CSS custom propertieslegal_get_settings- Get cvrt-legal settingslegal_consent_log_get- Get every logged consent decision for one consent_idlegal_consent_log_stats- Aggregate consent decision counts by action and banner_version over a day rangelegal_consent_log_export- Export the raw consent decision log as CSV for a day rangelegal_update_settings- Set the GitHub update token (write-only) and the required-document overridelegal_get_facts/legal_put_facts- Impressum fields the generator fills into Impressum and Datenschutz (merge)legal_get_generator/legal_put_generator- Selection of a generated document (modules, options, kept sections); a PUT regenerates itlegal_get_generator_library/legal_put_generator_library- The imported text library; import inline or vialibrary_file(local.json)legal_restore_generator- Restore the document as it was before the generator first wrote itlegal_get_social/legal_put_social- Social-media section: networks and profile URLslegal_get_social_modules/legal_put_social_modules- The social-media text modules (inline ormodules_file)legal_get_accessibility/legal_put_accessibility- The self-hosted accessibility tool (replaces the Ally widget, no third-party request);repairsswitches the markup repair rules (0.9.0+)legal_get_accessibility_report/legal_reset_accessibility_report- What the markup repair fixed and what is still open, per page (0.9.0+)
Fields Module (12 tools) - Requires cvrt-fields 0.1.2+
fields_status- Plugin version, definition counts, ACF / Elementor presence, JSON sync statefields_get_settings/fields_update_settings- Update token (masked as{ set }, write-only, stored encrypted) and JSON sync pathfields_list_types- Available field typesfields_get_location_values- Values for location rulesfields_get_schema- Editor form schema of a definition kindfields_list_definitions/fields_get_definition/fields_create_definition/fields_update_definition/fields_delete_definition- CRUD forgroups,post-types,taxonomies,options-pagesfields_sync_definition- Copy a JSON-sourced definition into the database
Order Fulfillment Module (8 tools) - Requires cvrt-order-fulfillment 0.2.0+
fulfillment_get_settings- Get the cvrt-order-fulfillment plugin settingsfulfillment_update_settings- Update cvrt-order-fulfillment settingsfulfillment_status- Pipeline health: which credentials are set, ClickUp list/assignee, when the print agent last polled, and print-queue countsfulfillment_queue- Print-queue state: status counts (pending/printing/printed/failed) and the recent jobs with their errorsfulfillment_reprint_job- Reset a print job to pending so the agent prints it againfulfillment_fulfill_order- Manually (force) run fulfillment for an order: renders the packing slip, creates the ClickUp task, notifies Slackfulfillment_update_check- Force an immediate plugin-update check (bypassing PUC's throttle) and report whether a newer version is available
Architecture
Fort Tools (Bearfort)
For sites hosted on Bearfort, fort_* tools reach the worker through the Bearfort API:
backups (fort_backup_create, fort_backup_list, fort_job_get), page-cache purge
(fort_cache_purge) and server logs (fort_logs_read: access, error, php, wp-cron, with
lines, grep, since). Set BEARFORT_API_KEY (admin key) and optionally
BEARFORT_API_URL; without the key these tools refuse to run. The fort is resolved from the
site URL. Restore is not exposed.
Stripe and Payments
stripe_* tools (cvrt-mcp-endpoints 1.17.0+) read the Stripe account behind the WooCommerce
Stripe Gateway through the site itself: the key never leaves WordPress and results are
whitelisted. Writes (stripe_recreate_webhook, stripe_set_payment_method) need
confirm: true and are audit-logged on the site. woo_gateway_status shows which gateways a
customer from a given country gets. Express checkout and where Stripe.js loads belong to
cvrt-woo-helper (woo_helper_*).
Secret Masking
Every tool result passes through src/mask.ts before it reaches the model. Values under
secret-looking keys (token, secret, password, api_key, whsec, signing_key, ...)
and credential-shaped values (sk_live_, whsec_, GitHub/Slack/AWS tokens, PEM blocks)
become [masked], recursively and inside JSON strings. Flag values (yes, 0, empty)
stay visible so "not set" is still readable. Writing a secret works; it is never read back.
The same rules run server-side in cvrt-mcp-endpoints 1.15.0+.
Multi-Site Support
One server instance manages all your sites via the WORDPRESS_SITES env var (see Configuration). Call list_sites to see configured ids, then pass site: "<id>" to any other tool:
License
MIT
來源:README.md,提交 7fe321c
工具
0版本歷史
1- v1.0.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分