@respira/wordpress-mcp-server 8.3.24 → 8.3.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +97 -20
  3. package/TOOL_CATALOG.md +445 -307
  4. package/dist/__tests__/0e6bd33c-redeem-preserves-per-site-settings.test.js +3 -2
  5. package/dist/__tests__/0e6bd33c-redeem-preserves-per-site-settings.test.js.map +1 -1
  6. package/dist/__tests__/81c478df-create-page-duplicate-id-aliases.test.d.ts +11 -0
  7. package/dist/__tests__/81c478df-create-page-duplicate-id-aliases.test.d.ts.map +1 -0
  8. package/dist/__tests__/81c478df-create-page-duplicate-id-aliases.test.js +80 -0
  9. package/dist/__tests__/81c478df-create-page-duplicate-id-aliases.test.js.map +1 -0
  10. package/dist/__tests__/plugin-slug-path-encoding.test.d.ts +2 -0
  11. package/dist/__tests__/plugin-slug-path-encoding.test.d.ts.map +1 -0
  12. package/dist/__tests__/plugin-slug-path-encoding.test.js +41 -0
  13. package/dist/__tests__/plugin-slug-path-encoding.test.js.map +1 -0
  14. package/dist/__tests__/release-9-surface.test.d.ts +2 -0
  15. package/dist/__tests__/release-9-surface.test.d.ts.map +1 -0
  16. package/dist/__tests__/release-9-surface.test.js +197 -0
  17. package/dist/__tests__/release-9-surface.test.js.map +1 -0
  18. package/dist/install-skills.d.ts +4 -5
  19. package/dist/install-skills.d.ts.map +1 -1
  20. package/dist/install-skills.js +4 -5
  21. package/dist/install-skills.js.map +1 -1
  22. package/dist/server.d.ts.map +1 -1
  23. package/dist/server.js +252 -73
  24. package/dist/server.js.map +1 -1
  25. package/dist/skill-prompts.d.ts +43 -0
  26. package/dist/skill-prompts.d.ts.map +1 -0
  27. package/dist/skill-prompts.js +135 -0
  28. package/dist/skill-prompts.js.map +1 -0
  29. package/dist/wordpress-client.d.ts +40 -11
  30. package/dist/wordpress-client.d.ts.map +1 -1
  31. package/dist/wordpress-client.js +74 -22
  32. package/dist/wordpress-client.js.map +1 -1
  33. package/package.json +2 -2
  34. package/skills/activity-report-composer/SKILL.md +17 -5
  35. package/skills/activity-report-composer/metadata.json +2 -2
  36. package/skills/art-direction/SKILL.md +9 -3
  37. package/skills/art-direction/metadata.json +7 -3
  38. package/skills/brand-voice-synthesizer/SKILL.md +36 -16
  39. package/skills/brand-voice-synthesizer/metadata.json +8 -4
  40. package/skills/build-oxygen6-page/SKILL.md +17 -2
  41. package/skills/conversion-audit/SKILL.md +12 -0
  42. package/skills/custom-post-type-architect/SKILL.md +12 -0
  43. package/skills/figma-to-bricks/SKILL.md +4 -2
  44. package/skills/figma-to-divi/SKILL.md +4 -2
  45. package/skills/figma-to-elementor/SKILL.md +8 -1
  46. package/skills/figma-to-gutenberg/SKILL.md +4 -2
  47. package/skills/html-to-breakdance/SKILL.md +7 -3
  48. package/skills/html-to-breakdance/metadata.json +7 -3
  49. package/skills/html-to-bricks/SKILL.md +7 -3
  50. package/skills/html-to-bricks/metadata.json +7 -3
  51. package/skills/internal-link-builder/SKILL.md +12 -0
  52. package/skills/migrate-beaver-builder-to-bricks/SKILL.md +19 -3
  53. package/skills/migrate-beaver-builder-to-gutenberg/SKILL.md +19 -3
  54. package/skills/migrate-brizy-to-gutenberg/SKILL.md +19 -3
  55. package/skills/migrate-divi-to-breakdance/SKILL.md +19 -3
  56. package/skills/migrate-divi-to-bricks/SKILL.md +19 -3
  57. package/skills/migrate-divi-to-gutenberg/SKILL.md +19 -3
  58. package/skills/migrate-elementor-to-breakdance/SKILL.md +20 -4
  59. package/skills/migrate-elementor-to-bricks/SKILL.md +20 -4
  60. package/skills/migrate-elementor-to-gutenberg/SKILL.md +20 -4
  61. package/skills/migrate-elementor-to-oxygen/SKILL.md +20 -4
  62. package/skills/migrate-oxygen-to-breakdance/SKILL.md +19 -3
  63. package/skills/migrate-oxygen-to-bricks/SKILL.md +19 -3
  64. package/skills/migrate-thrive-architect-to-gutenberg/SKILL.md +19 -3
  65. package/skills/migrate-visual-composer-to-gutenberg/SKILL.md +19 -3
  66. package/skills/migrate-wpbakery-to-bricks/SKILL.md +19 -3
  67. package/skills/migrate-wpbakery-to-gutenberg/SKILL.md +19 -3
  68. package/skills/mobile-experience-report/SKILL.md +12 -0
  69. package/skills/murmur-review-loop/SKILL.md +142 -0
  70. package/skills/page-template-library/SKILL.md +12 -0
  71. package/skills/respira-builder-edits/SKILL.md +1 -0
  72. package/skills/respira-setup-assistant/SKILL.md +12 -0
  73. package/skills/respira-site-audit/SKILL.md +18 -6
  74. package/skills/respira-woocommerce/SKILL.md +1 -0
  75. package/skills/seo-aeo-amplifier/SKILL.md +14 -2
  76. package/skills/seo-aeo-amplifier/metadata.json +2 -2
  77. package/skills/stale-content-detector/SKILL.md +12 -0
  78. package/skills/technical-debt-audit/SKILL.md +14 -2
  79. package/skills/woo-marketing-campaigns/SKILL.md +12 -9
  80. package/skills/woo-pricing-promotions/SKILL.md +9 -9
  81. package/skills/woocommerce-health-check/SKILL.md +22 -8
  82. package/skills/wordpress-ai-image-optimizer/SKILL.md +14 -2
  83. package/skills/wordpress-ai-image-optimizer/metadata.json +2 -2
  84. package/skills/wordpress-security-review/SKILL.md +154 -0
  85. package/skills/wordpress-site-dna/README.md +1 -1
  86. package/skills/wordpress-site-dna/SKILL.md +52 -19
  87. package/tool-capabilities.json +3171 -370
package/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to Respira WordPress MCP Server will be documented in this f
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [8.3.25] - 2026-09-14
9
+
10
+ ### Fixed
11
+
12
+ - **Duplicate Page understands the page ID names agents already use.** A call with
13
+ `page_id` or `post_id` built a request for an `undefined` page and failed. The tool now
14
+ accepts `original_id`, `page_id`, or `post_id`, and refuses a missing ID before it sends
15
+ anything to WordPress. No plugin update is required for this fix.
16
+ - **Plugin folder names with spaces stay one URL segment.** Activate, deactivate, update and
17
+ delete now encode the exact folder name before sending it to WordPress. This needs plugin
18
+ 9.0.0 or later for the matching route support.
19
+
8
20
  ## [8.3.24] - 2026-09-12
9
21
 
10
22
  Murmur: seven tools for the review links your clients talk back through.
package/README.md CHANGED
@@ -7,14 +7,14 @@
7
7
  <h1 align="center">Respira WordPress MCP Server</h1>
8
8
 
9
9
  <p align="center">
10
- <strong>228 MCP tools, 333 with the WooCommerce add-on. 17 page builders and the native Site Editor. MCP 2026-07-28 with legacy-client support.</strong><br>
10
+ <strong>230 MCP tools, 335 with the WooCommerce add-on. 17 page builders and the native Site Editor. MCP 2026-07-28 with legacy-client support.</strong><br>
11
11
  Element-level editing, full page creation, HTML-to-builder conversion with rendering fidelity validation, per-site tool governance, storefront design intelligence, stock images, bulk operations — all through one MCP server.
12
12
  </p>
13
13
 
14
14
  <p align="center">
15
15
  <a href="https://www.npmjs.com/package/@respira/wordpress-mcp-server"><img src="https://img.shields.io/npm/v/@respira/wordpress-mcp-server.svg?style=flat-square&color=10b981" alt="npm version"></a>
16
16
  <a href="https://www.npmjs.com/package/@respira/wordpress-mcp-server"><img src="https://img.shields.io/npm/dm/@respira/wordpress-mcp-server.svg?style=flat-square" alt="npm downloads"></a>
17
- <img src="https://img.shields.io/badge/tools-333-10b981?style=flat-square" alt="333 Tools with WooCommerce">
17
+ <img src="https://img.shields.io/badge/tools-335-10b981?style=flat-square" alt="335 Tools with WooCommerce">
18
18
  <img src="https://img.shields.io/badge/builders-17-10b981?style=flat-square" alt="17 Page Builders">
19
19
  <img src="https://img.shields.io/badge/TypeScript-100%25-blue?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript">
20
20
  </p>
@@ -247,7 +247,7 @@ Or run the interactive setup wizard: `npx @respira/wordpress-mcp-server --setup`
247
247
 
248
248
  ### Tool Limit? Use `enabledTools`
249
249
 
250
- Some MCP clients (Antigravity, etc.) have a hard limit on active tools (often 100). Respira can expose up to 333 tools when the WooCommerce add-on is active. To stay under the limit, add `enabledTools` to your config — only those tools will appear in the listing:
250
+ Some MCP clients (Antigravity, etc.) have a hard limit on active tools (often 100). Respira can expose up to 335 tools when the WooCommerce add-on is active, and up to 413 on a Bricks site that also runs ACF. To stay under the limit, add `enabledTools` to your config — only those tools will appear in the listing:
251
251
 
252
252
  ```json
253
253
  {
@@ -363,7 +363,7 @@ respira_add_image({ post_id: 42, image_url: "https://..." })
363
363
  | **Divi 4** | Full Intelligence | Tree utility | Yes | Static schemas |
364
364
  | **Flatsome** | Full Intelligence | Tree utility | Yes | Yes — 55-element intelligence |
365
365
  | **Beaver Builder** | Full Support | Tree utility | Yes | Static schemas |
366
- | **Bricks** | Full Intelligence | Native API | Yes | Yes 20 dedicated tools, ACSS integration |
366
+ | **Bricks** | Full Intelligence | Native API | Yes | Yes: 25 dedicated tools, ACSS integration |
367
367
  | **Gutenberg** | Full Support | Tree utility | Yes | Block registry |
368
368
  | **Oxygen** | Smart Defaults | Tree utility | Yes | Static schemas |
369
369
  | **WPBakery** | Smart Defaults | Tree utility | Yes | Static schemas |
@@ -381,6 +381,21 @@ respira_add_image({ post_id: 42, image_url: "https://..." })
381
381
 
382
382
  ## All Tools
383
383
 
384
+ ### Tools on one site
385
+
386
+ The server lists only what the connected site can use. Builder tools appear on the builder they serve, ACF tools where ACF is active, and WooCommerce tools where the add-on runs. Measured over stdio against stub sites:
387
+
388
+ | Site | Tools listed |
389
+ |---|---|
390
+ | Core site (Gutenberg, no WooCommerce or ACF) | 230 |
391
+ | Core site with ACF | 284 |
392
+ | WooCommerce add-on | 334 |
393
+ | WooCommerce and ACF on Elementor | 395 |
394
+ | WooCommerce and ACF on Bricks | 413, the most one site can see |
395
+ | Site context unreadable (everything is shown) | 262 |
396
+
397
+ A client with a tool cap can narrow this with `enabledTools` (see Quick Start).
398
+
384
399
  ### Native Site Editor structures (10 tools) — Shipped in v8.0
385
400
 
386
401
  These are Respira-native WordPress operations, not a copied generic tool catalog. User-owned structures use the same approval, revision, snapshot, no-op detection, read-back, and render-verification contract as template editing. Theme and plugin patterns are inspectable but remain owned by their source.
@@ -429,7 +444,9 @@ The design check closes the loop: `wordpress_check_design` runs deterministic sl
429
444
  | `wordpress_resolve_review_comment` | Mark a note resolved with what changed and the snapshot id |
430
445
  | `wordpress_get_design_apply_reports` | Read the stored per-builder apply reports for a direction: what apply actually wrote, straight from the site |
431
446
 
432
- ### Bricks Deep Intelligence (20 tools)
447
+ ### Bricks Deep Intelligence (25 tools)
448
+ Listed when Bricks is the active builder.
449
+
433
450
  | Tool | Description |
434
451
  |---|---|
435
452
  | `respira_list_bricks_global_classes` | List all global CSS classes with settings |
@@ -445,13 +462,49 @@ The design check closes the loop: `wordpress_check_design` runs deterministic sl
445
462
  | `respira_list_bricks_components` | List all Bricks templates/components |
446
463
  | `respira_get_bricks_component` | Get a component with full element structure |
447
464
  | `respira_apply_bricks_component` | Insert a component into a page with ID remapping |
448
- | `respira_search_bricks_elements` | **NEW** Search across all pages by element type, class, or setting |
449
- | `respira_bricks_health_check` | **NEW** Diagnostic: orphaned elements, duplicate IDs, broken refs |
450
- | `respira_bricks_detect_acss` | **NEW** Detect Automatic.css installation and design tokens |
451
- | `respira_bricks_import_acss` | **NEW** Import ACSS utility classes into Bricks global registry |
452
- | `respira_bricks_query_loops` | **NEW** Find all query loop elements, filter by post type |
453
- | `respira_bricks_style_profile` | **NEW** Analyze page design patterns (colors, spacing, typography) |
454
- | `respira_bricks_design_system` | **NEW** Single-call export of complete Bricks design system |
465
+ | `respira_search_bricks_elements` | Search across all pages by element type, class, or setting |
466
+ | `respira_bricks_health_check` | Diagnostic: orphaned elements, duplicate IDs, broken refs |
467
+ | `respira_bricks_detect_acss` | Detect Automatic.css installation and design tokens |
468
+ | `respira_bricks_import_acss` | Import ACSS utility classes into Bricks global registry |
469
+ | `respira_bricks_query_loops` | Find all query loop elements, filter by post type |
470
+ | `respira_bricks_style_profile` | Analyze page design patterns (colors, spacing, typography) |
471
+ | `respira_bricks_design_system` | Single-call export of complete Bricks design system |
472
+ | `respira_bricks_import_design_tokens` | Import a design-token file into the Bricks color palette and global CSS variables |
473
+ | `respira_bricks_list_section_presets` | List the curated section presets: hero, features, CTA, testimonials, pricing, stats, FAQ |
474
+ | `respira_bricks_insert_section_preset` | Insert a curated section preset into a page as a new section |
475
+ | `respira_bricks_scaffold_bem` | Scaffold a BEM block as Bricks global classes |
476
+ | `respira_bricks_lint_bem` | Audit the global-class registry against the BEM convention |
477
+
478
+ ### ACF (54 tools)
479
+ Listed when Advanced Custom Fields is active on the site. Repeaters, flexible content, galleries and options pages need ACF Pro; on a site without Pro those tools answer `PRO_FEATURE_REQUIRED`.
480
+
481
+ | Tool | Description |
482
+ |---|---|
483
+ | `respira_acf_get_field` / `respira_acf_get_fields` / `respira_acf_update_field` / `respira_acf_update_fields` / `respira_acf_delete_field` | Read, write and remove field values on a post; `update_fields` writes several in one snapshot |
484
+ | `respira_acf_bulk_get_fields` / `respira_acf_bulk_update_fields` / `respira_acf_compare_fields` / `respira_acf_clone_fields` | The same fields across many posts: read them, update up to 500 posts, diff two posts, copy values between posts |
485
+ | `respira_acf_list_field_groups` / `respira_acf_get_field_group` / `respira_acf_create_field_group` / `respira_acf_update_field_group` / `respira_acf_delete_field_group` | Field group CRUD with location rules |
486
+ | `respira_acf_export_field_group` / `respira_acf_import_field_group` / `respira_acf_clone_field_group` | Move a field group as JSON, or duplicate it under a new name |
487
+ | `respira_acf_get_field_object` / `respira_acf_search_fields` / `respira_acf_validate_field` | Inspect a field definition, search every definition, validate a value without writing |
488
+ | `respira_acf_get_repeater` / `respira_acf_get_repeater_row` / `respira_acf_add_repeater_row` / `respira_acf_update_repeater_row` / `respira_acf_delete_repeater_row` / `respira_acf_reorder_repeater` / `respira_acf_count_repeater_rows` | Repeater rows by zero-based index (ACF Pro) |
489
+ | `respira_acf_get_flexible_content` / `respira_acf_get_flexible_layout` / `respira_acf_add_flexible_layout` / `respira_acf_update_flexible_layout` / `respira_acf_delete_flexible_layout` / `respira_acf_reorder_flexible_layouts` | Flexible content layouts (ACF Pro) |
490
+ | `respira_acf_get_gallery` / `respira_acf_update_gallery` / `respira_acf_add_to_gallery` / `respira_acf_remove_from_gallery` / `respira_acf_reorder_gallery` | Gallery fields (ACF Pro) |
491
+ | `respira_acf_list_options_pages` / `respira_acf_create_options_page` / `respira_acf_get_option` / `respira_acf_get_options` / `respira_acf_update_option` / `respira_acf_update_options` / `respira_acf_delete_option` / `respira_acf_export_options` | Options pages and their values (ACF Pro) |
492
+ | `respira_acf_get_relationship` / `respira_acf_update_relationship` / `respira_acf_get_reverse_relationships` / `respira_acf_get_post_object` | Relationship and post object fields, including every post that points at a given post |
493
+ | `respira_acf_get_user_field` / `respira_acf_update_user_field` / `respira_acf_get_term_field` / `respira_acf_update_term_field` | Fields on user profiles and taxonomy terms |
494
+
495
+ ### Elementor (8 tools)
496
+ Seven are listed when Elementor is the active builder; `respira_add_stock_image` is listed on every builder.
497
+
498
+ | Tool | Description |
499
+ |---|---|
500
+ | `respira_list_elementor_widgets` | Every registered widget with name, title, icon, categories and keywords |
501
+ | `respira_get_elementor_widget_schema` | The full JSON Schema for one widget type: every control, with types, defaults and allowed values |
502
+ | `respira_elementor_design_system` | Export global colors and typography, system and custom |
503
+ | `respira_update_elementor_global_colors` | Add or update global colors in the active kit |
504
+ | `respira_update_elementor_global_typography` | Add or update global typography styles in the active kit |
505
+ | `respira_elementor_add_custom_js` | Add a script to a page as an HTML widget inside a container |
506
+ | `respira_add_stock_image` | Find a stock image, sideload it and place it as an image widget, in one call |
507
+ | `respira_validate_elementor_json` | Check Elementor JSON for rendering fidelity before writing it |
455
508
 
456
509
  ### Element Operations (7 tools)
457
510
  | Tool | Description |
@@ -512,12 +565,12 @@ Add any widget to a page in one call:
512
565
  | `respira_diff_snapshots` | Compare two snapshots |
513
566
  | `respira_restore_snapshot` | Restore a previous version |
514
567
 
515
- ### Analysis (13 tools)
568
+ ### Analysis, security and reports (16 tools)
516
569
  | Tool | Description |
517
570
  |---|---|
518
571
  | `respira_analyze_seo` | Full SEO audit with actionable recommendations |
519
572
  | `respira_analyze_performance` | Page speed and optimization |
520
- | `respira_get_core_web_vitals` | LCP, FID, CLS scores |
573
+ | `respira_get_core_web_vitals` | LCP, CLS and INP measured by PageSpeed Insights: real-user field data when Google has it, plus lab metrics |
521
574
  | `respira_analyze_aeo` | AI search engine optimization |
522
575
  | `respira_analyze_readability` | Flesch score, sentence analysis |
523
576
  | `respira_analyze_images` | Image optimization audit |
@@ -528,6 +581,9 @@ Add any widget to a page in one call:
528
581
  | `respira_list_accessibility_scans` | Previous scan history |
529
582
  | `respira_get_accessibility_scan` | Detailed scan results + violations |
530
583
  | `respira_apply_accessibility_fixes` | Auto-fix a11y violations |
584
+ | `respira_run_security_audit` | Versions, core checksums, administrators, plugins, themes, indicators and coverage, plus `known_vulnerabilities` on a licensed site. Reads only; the optional `probe_uploads_execution` writes and deletes one inert file |
585
+ | `respira_update_core_security` | Apply the WordPress core security release WordPress.org offers on the current branch, after backup confirmation and approval |
586
+ | `respira_generate_activity_report` | The client report for a period, from the site's activity log: what changed, examples, time saved. Reads only; administrator key |
531
587
 
532
588
  ### Menus (12 tools)
533
589
  | Tool | Description |
@@ -556,12 +612,14 @@ Add any widget to a page in one call:
556
612
  | `respira_list_terms` / `respira_get_term` / `respira_create_term` / `respira_update_term` / `respira_delete_term` | Term CRUD |
557
613
  | `respira_list_post_types` / `respira_get_post_type` | Post type info |
558
614
 
559
- ### Site & Plugins (15 tools)
615
+ ### Site & Plugins (17 tools)
560
616
  | Tool | Description |
561
617
  |---|---|
562
618
  | `respira_get_site_context` | WordPress version, theme, plugins, URL |
563
619
  | `respira_get_theme_docs` | Theme documentation and structure |
564
620
  | `respira_list_plugins` / `respira_install_plugin` / `respira_activate_plugin` / `respira_deactivate_plugin` / `respira_update_plugin` / `respira_delete_plugin` | Plugin management |
621
+ | `respira_update_theme` | Update a theme to the latest version offered to the site, approval-gated, with a health check of the site afterwards |
622
+ | `respira_revoke_application_password` | Revoke one application password by user id and uuid from the security audit, approval-gated |
565
623
  | `respira_list_options` / `respira_get_option` / `respira_update_option` / `respira_delete_option` | WordPress options |
566
624
  | `respira_purge_cache` | Purge page and object caches and report which caching layers were touched. Pass `post_id` for one page, omit it for the whole site. Every Respira write already purges what it changed; this is the manual lever for changes Respira did not make |
567
625
  | `respira_validate_security` | Security audit |
@@ -574,7 +632,18 @@ Add any widget to a page in one call:
574
632
  | `respira_switch_site` | Switch active site |
575
633
  | `respira_get_active_site` | Get current site info |
576
634
 
577
- ### WooCommerce Add-on (105 tools)
635
+ ### Native connector only (8 tools)
636
+ The plugin's own MCP endpoint (the Claude.ai and ChatGPT connectors, or any client pointed at the site's MCP URL) names tools in the `respira_wordpress_*` form. These eight exist only there; the npm server does not list them.
637
+
638
+ | Tool | Description |
639
+ |---|---|
640
+ | `respira_wordpress_read_debug_log` | Tail the site's debug log to diagnose PHP fatals, warnings and notices without SSH. Reads only; needs `edit_themes` and `WP_DEBUG_LOG` |
641
+ | `respira_wordpress_detect_page_builder` | Which page builder a specific page uses |
642
+ | `respira_wordpress_approve_duplicate` / `respira_wordpress_reject_duplicate` | Apply a reviewed duplicate live, or delete it. Administrators only |
643
+ | `respira_wordpress_detach_duplicate` | Keep a tracked duplicate as its own page, without deleting it or touching the original |
644
+ | `respira_wordpress_read_page_v2` / `respira_wordpress_read_post_v2` / `respira_wordpress_read_custom_post_v2` | Reads that return heavy fields only when asked for |
645
+
646
+ ### WooCommerce Add-on (104 tools)
578
647
  Available when the [WooCommerce add-on](https://respira.press/addons/woocommerce) is installed. Included free with Studio and Founder plans.
579
648
 
580
649
  | Category | Tools |
@@ -589,7 +658,7 @@ Available when the [WooCommerce add-on](https://respira.press/addons/woocommerce
589
658
  | **Inventory control** | `get_stock_status`, `update_stock` |
590
659
  | **Product categories** | `list_categories`, `get_category`, `create_category`, `update_category`, `delete_category` |
591
660
  | **Product tags** | `list_tags`, `get_tag`, `create_tag`, `update_tag`, `delete_tag` |
592
- | **Analytics** | `sales_report` (deprecated alias), `revenue_summary`, `sales_timeseries`, `top_products`, `orders_summary`, `customers_summary` |
661
+ | **Analytics** | `revenue_summary`, `sales_timeseries`, `top_products`, `orders_summary`, `customers_summary` |
593
662
  | **Store configuration** | `get_store_configuration`, `list_payment_gateways`, `list_shipping_zones`, `list_tax_rates` |
594
663
  | **Webhooks** | `list_webhooks`, `get_webhook`, `create_webhook`, `update_webhook`, `delete_webhook`, `test_webhook` |
595
664
 
@@ -610,6 +679,14 @@ Admins can enable/disable individual tools from the WordPress dashboard. Governa
610
679
 
611
680
  ---
612
681
 
682
+ ## Skills as prompts
683
+
684
+ The server offers every bundled Respira skill as an MCP prompt, named by its slug, for example `respira-site-audit` or `activity-report-composer`. Clients that show prompts as slash commands list them with no install step. Picking one sends the skill's instructions as the first message, with an optional `request` argument for the page, site or client it is for. Listing them needs no site connection.
685
+
686
+ `npx @respira/wordpress-mcp-server install-skills` still copies the same skills into `~/.claude/skills` for Claude Code.
687
+
688
+ ---
689
+
613
690
  ## Multi-Site Support
614
691
 
615
692
  Manage multiple WordPress sites from one config:
@@ -630,7 +707,7 @@ For agencies managing many sites, use the hosted setup at [respira.press/dashboa
630
707
 
631
708
  ## Tool Naming: `respira_*`
632
709
 
633
- All tools use `respira_*` names (e.g. `respira_update_page`, `respira_find_element`). The legacy `wordpress_*` aliases are deprecated and will be removed in a future release. Update any prompts or workflows that still reference `wordpress_*` tools.
710
+ All tools use `respira_*` names (e.g. `respira_update_page`, `respira_find_element`). Each one also answers to its legacy `wordpress_*` name: clients see `respira_generate_activity_report`, and a saved call to `wordpress_generate_activity_report` still reaches it. The legacy aliases are deprecated and will be removed in a future release. Update any prompts or workflows that still reference `wordpress_*` tools.
634
711
 
635
712
  ---
636
713
 
@@ -828,7 +905,7 @@ npm cache clean --force
828
905
 
829
906
  API key validation happens server-side in the WordPress plugin. The MCP server passes credentials but does not store or validate them.
830
907
 
831
- `wordpress_run_security_audit` performs bounded read-only evidence collection for reviewed advisories. `wordpress_update_core_security` installs only an exact, catalog-approved security patch after backup confirmation and explicit two-step approval, and returns post-update verification evidence.
908
+ `wordpress_run_security_audit` collects bounded security evidence and only reads, `deep_scan` included. The one exception is opt-in: `probe_uploads_execution` writes one inert PHP file into uploads, requests it to learn whether PHP runs there, and deletes it. On a licensed site the result includes `known_vulnerabilities`, with status `ok` or `unavailable`, and an unavailable match never reads as clean. `wordpress_update_core_security` installs only the security release WordPress.org offers on the site's current branch, after backup confirmation and explicit two-step approval, and returns post-update verification evidence.
832
909
 
833
910
  Report vulnerabilities to security@respira.press.
834
911
 
@@ -864,6 +941,6 @@ MIT © [Respira](https://respira.press)
864
941
  ---
865
942
 
866
943
  <p align="center">
867
- <strong>228 core tools, 333 with WooCommerce. 17 builders. The AI infrastructure layer for WordPress.</strong><br>
944
+ <strong>230 core tools, 335 with WooCommerce. 17 builders. The AI infrastructure layer for WordPress.</strong><br>
868
945
  <a href="https://respira.press">respira.press</a>
869
946
  </p>