WordPress Abilities API · Directory

Every WordPress plugin
your agent can talk to.

The WordPress Abilities API (introduced in WordPress 6.9 and shipped through the WordPress/mcp-adapter package) lets plugins register callable abilities that any MCP server can expose to AI agents. 19 plugins have adopted so far, reaching 30M+ active installs combined. Respira's Inhale gateway picks them up automatically and wraps each call with snapshot-before-write protection, structured errors, and one-click rollback.

Directory · 163 abilities

Every ability, in one searchable table.

Auto-extracted from each plugin's canonical source via the wp_register_ability calls themselves. Refreshed weekly. Each row links back to the line in the plugin's repo where the ability is registered so you can verify the contract yourself. Last refresh: 2026-05-22.

163 of 163
Ability Plugin Kind Input schema Quality (30d) Source
advanced-custom-fields/get-field-value
Get Field Value
Read the value of a custom field for a given post.
Custom Fields
read
post_idfield_name
idle view
advanced-custom-fields/list-field-groups
List Field Groups
Return all registered ACF field groups with their fields and metadata.
Custom Fields
read idle view
advanced-custom-fields/update-field-value
Update Field Value
Write a new value to a custom field on a post.
Custom Fields
write
post_idfield_namevalue
idle view
elementor/get-page
Get Page
Read the Elementor data tree for a given post id.
Page Builder
read
post_id
idle view
elementor/list-widgets
List Widgets
Return the catalogue of registered Elementor widgets including atomic v4 widgets.
Page Builder
read idle view
elementor/update-widget
Update Widget
Patch settings on a single Elementor widget.
Page Builder
write
post_idwidget_idsettings
idle view
jetpack/create-short-link
Create Short Link
Create a wp.me short link for a given URL.
Suite
write
url
idle view
jetpack-forms/list-responses
List Form Responses
Return submitted responses for a Jetpack form.
Forms
read
form_idpageper_page
idle view
respira/activate_plugin
wordpress_activate_plugin
Activate a plugin. Requires plugin management to be enabled in Respira settings. Monitor the site after activation.
Plugins
write
slug
idle view
respira/add_accordion
wordpress_add_accordion
Add an accordion widget to a page.
Core
write
post_iditems
idle view
respira/add_alert
wordpress_add_alert
Add an alert/notice widget to a page.
Core
write
post_idtitlecontentalert_type
idle view
respira/add_button
wordpress_add_button
Add a button widget to a page.
Core
write
post_idtexturlalignment
idle view
respira/add_counter
wordpress_add_counter
Add a counter/number widget to a page.
Core
write
post_idstarting_numberending_numbertitle
idle view
respira/add_divider
wordpress_add_divider
Add a divider/separator widget to a page.
Core
write
post_idstyle
idle view
respira/add_form
wordpress_add_form
Add a form widget to a page.
Core
write
post_idform_id
idle view
respira/add_gallery
wordpress_add_gallery
Add an image gallery widget to a page.
Core
write
post_idimagescolumns
idle view
respira/add_heading
wordpress_add_heading
Add a heading widget to a page.
Core
write
post_idtitletagalignment
idle view
respira/add_html
wordpress_add_html
Add a custom HTML widget to a page.
Core
write
post_idhtml
idle view
respira/add_icon
wordpress_add_icon
Add an icon widget to a page.
Core
write
post_idiconalignment
idle view
respira/add_icon_list
wordpress_add_icon_list
Add an icon list widget to a page.
Core
write
post_iditems
idle view
respira/add_image
wordpress_add_image
Add an image widget to a page.
Media
write
post_idimage_idimage_urlalt
idle view
respira/add_map
wordpress_add_map
Add a Google Maps widget to a page.
Core
write
post_idaddresszoom
idle view
respira/add_menu
wordpress_add_menu
Add a navigation menu widget to a page.
Menus
write
post_idmenu_id
idle view
respira/add_pricing_table
wordpress_add_pricing_table
Add a pricing table widget to a page.
Core
write
post_idtitlepricefeatures
idle view
respira/add_progress_bar
wordpress_add_progress_bar
Add a progress bar widget to a page.
Core
write
post_idtitlepercent
idle view
respira/add_search
wordpress_add_search
Add a search form widget to a page.
Core
write
post_idplaceholder
idle view
respira/add_section
wordpress_add_section
Add a new section container to a page.
Core
write
post_idlayoutcolumns
idle view
respira/add_sidebar
wordpress_add_sidebar
Add a sidebar widget to a page.
Core
write
post_idsidebar_id
idle view
respira/add_slider
wordpress_add_slider
Add a slider/carousel widget to a page.
Core
write
post_idslidesautoplay
idle view
respira/add_social_icons
wordpress_add_social_icons
Add social icons widget to a page.
Core
write
post_idicons
idle view
respira/add_spacer
wordpress_add_spacer
Add a spacer widget to a page.
Core
write
post_idheight
idle view
respira/add_tabs
wordpress_add_tabs
Add a tabs widget to a page.
Core
write
post_idtabs
idle view
respira/add_testimonial
wordpress_add_testimonial
Add a testimonial widget to a page.
Core
write
post_idcontentnametitle
idle view
respira/add_text
wordpress_add_text
Add a text editor widget to a page.
Core
write
post_idcontent
idle view
respira/add_toggle
wordpress_add_toggle
Add a toggle widget to a page.
Core
write
post_idtitlecontent
idle view
respira/add_video
wordpress_add_video
Add a video widget to a page.
Core
write
post_idvideo_urlvideo_type
idle view
respira/analyze_aeo
wordpress_analyze_aeo
Analyze content for AI Engine Optimization (optimizing for AI search engines like Perplexity, ChatGPT). Checks structured data, content clarity, semantic HTML, entities, content depth, and FAQ opportunities.
Analyzers
read
pageId
idle view
respira/analyze_images
wordpress_analyze_images
Analyze image optimization opportunities including missing alt text, large files, and unoptimized formats.
Media
read
pageId
idle view
respira/analyze_performance
wordpress_analyze_performance
Analyze page performance metrics including load time, image optimization, CSS/JS optimization, caching, and plugin performance impact.
Analyzers
read
pageId
idle view
respira/analyze_rankmath
wordpress_analyze_rankmath
Analyze a page using RankMath SEO metrics when RankMath is installed.
Core
read
pageId
idle view
respira/analyze_readability
wordpress_analyze_readability
Analyze content readability including Flesch Reading Ease score, sentence length, and paragraph structure.
Analyzers
read
pageId
idle view
respira/analyze_seo
wordpress_analyze_seo
Comprehensive SEO analysis including meta tags, heading structure, image alt text, internal linking, content quality, and schema markup.
SEO
read
pageId
idle view
respira/apply_builder_patch
wordpress_apply_builder_patch
Apply Respira v2 builder patch operations using id/path/type identifiers.
Page Builder
write
builderpostIdincludeoperations
idle view
respira/approve_duplicate
wordpress_approve_duplicate
Approve a Respira duplicate and apply it live. Admin-only.
Core
read
duplicate_idforce
idle view
respira/assign_menu_location
wordpress_assign_menu_location
Assign a menu to a theme location.
Menus
write
locationmenu_id
idle view
respira/batch_update
wordpress_batch_update
Apply multiple element operations atomically on a single page.
Core
write
post_idoperations
idle view
respira/build_page
wordpress_build_page
Create a new page with builder-specific declarative structure.
Content
write
titlestructurestatusbuilder
idle view
respira/bulk_pages_operation
wordpress_bulk_pages_operation
Apply operations across multiple pages with mandatory snapshots.
Content
write
page_idsoperationoptions
idle view
respira/check_seo_issues
wordpress_check_seo_issues
Check for common SEO issues and get quick recommendations.
SEO
read
pageId
idle view
respira/check_structured_data
wordpress_check_structured_data
Check schema markup and structured data (JSON-LD, microdata) for AI parsing.
Analyzers
read
pageId
idle view
respira/convert_html_to_builder
wordpress_convert_html_to_builder
Convert HTML into native builder page with fidelity report.
Page Builder
write
htmlbuilderoptions
idle view
respira/create_comment
wordpress_create_comment
Create a new comment.
Core
write
post_idauthorauthor_emailcontent +2
idle view
respira/create_custom_post
wordpress_create_custom_post
Create a new custom post.
Content
write
typetitlecontentstatus
idle view
respira/create_menu
wordpress_create_menu
Create a new navigation menu.
Menus
write
namedescription
idle view
respira/create_menu_item
wordpress_create_menu_item
Create a new menu item. Can link to pages, posts, custom URLs, or categories.
Menus
write
menu_idtitleurlobject_type +4
idle view
respira/create_page_duplicate
wordpress_create_page_duplicate
Create a duplicate of an existing page for safe editing. IMPORTANT: Always use this before making changes to an original page. After creating a duplicate, edit the duplicate using wordpress_update_page. The user can then review and approve the duplicate in WordPress admin (Respira → Changes) to apply changes live.
Content
write
originalIdsuffix
idle view
respira/create_post_duplicate
wordpress_create_post_duplicate
Create a duplicate of an existing post for safe editing. IMPORTANT: Always use this before making changes to an original post. After creating a duplicate, edit the duplicate using wordpress_update_post. The user can then review and approve the duplicate in WordPress admin (Respira → Changes) to apply changes live.
Content
write
originalIdsuffix
idle view
respira/create_term
wordpress_create_term
Create a new term.
Taxonomies
write
taxonomynameslugdescription +1
idle view
respira/create_user
wordpress_create_user
Create a new user.
Users
write
usernameemailpasswordrole
idle view
respira/deactivate_plugin
wordpress_deactivate_plugin
Deactivate a plugin. Requires plugin management to be enabled in Respira settings.
Plugins
write
slug
idle view
respira/delete_comment
wordpress_delete_comment
Delete a comment.
Core
write
id
idle view
respira/delete_custom_post
wordpress_delete_custom_post
Delete a custom post. Deleting originals requires force=true + confirmLiveEdit=true and "Allow Direct Editing" enabled.
Content
write
typeidforceconfirmLiveEdit
idle view
respira/delete_media
wordpress_delete_media
Delete a media file.
Media
write
id
idle view
respira/delete_menu
wordpress_delete_menu
Delete a navigation menu.
Menus
write
id
idle view
respira/delete_menu_item
wordpress_delete_menu_item
Delete a menu item.
Menus
write
item_id
idle view
respira/delete_option
wordpress_delete_option
Delete an option.
Core
write
option
idle view
respira/delete_page
wordpress_delete_page
Delete a page. IMPORTANT: By default, this only works on Respira-created duplicates. Deleting originals requires force=true + confirmLiveEdit=true and "Allow Direct Editing" enabled.
Content
write
idforceconfirmLiveEdit
idle view
respira/delete_plugin
wordpress_delete_plugin
Permanently delete a plugin. Requires plugin management to be enabled in Respira settings. The plugin must be deactivated first.
Plugins
write
slug
idle view
respira/delete_post
wordpress_delete_post
Delete a post. IMPORTANT: By default, this only works on Respira-created duplicates. Deleting originals requires force=true + confirmLiveEdit=true and "Allow Direct Editing" enabled.
Content
write
idforceconfirmLiveEdit
idle view
respira/delete_term
wordpress_delete_term
Delete a term.
Taxonomies
write
taxonomyid
idle view
respira/delete_user
wordpress_delete_user
Delete a user.
Users
write
idreassign
idle view
respira/detect_page_builder
wordpress_detect_page_builder
Detect which page builder a specific page is using.
Page Builder
read
id
idle view
respira/diff_snapshots
wordpress_diff_snapshots
Diff two snapshots by UUID and return fidelity hash deltas.
Snapshots
read
snapshot_uuid_asnapshot_uuid_b
idle view
respira/duplicate_element
wordpress_duplicate_element
Duplicate an element on a page.
Page Builder
write
post_ididentifier_typeidentifier_value
idle view
respira/extract_builder_content
wordpress_extract_builder_content
Extract structured content from a page builder (Divi, Elementor, etc.).
Page Builder
read
builderpageId
idle view
respira/find_builder_targets
wordpress_find_builder_targets
Find editable targets within a page's builder content by query.
Page Builder
read
builderpageIdquerylimit
idle view
respira/find_element
wordpress_find_element
Find an element within a page by ID, type, or admin label.
Page Builder
read
post_ididentifier_typeidentifier_valuematch_content
idle view
respira/get_builder_info
wordpress_get_builder_info
Get information about the active page builder including available modules/widgets.
Page Builder
read idle view
respira/get_comment
wordpress_get_comment
Get comment details by ID.
Core
read
id
idle view
respira/get_core_web_vitals
wordpress_get_core_web_vitals
Get Core Web Vitals metrics (LCP, FID, CLS) for a page.
Core
read
pageId
idle view
respira/get_custom_post
wordpress_get_custom_post
Get custom post details.
Content
read
typeid
idle view
respira/get_media
wordpress_get_media
Get single media item details.
Media
read
id
idle view
respira/get_menu
wordpress_get_menu
Get a navigation menu with all its items. Includes WPML translation info if available.
Menus
read
id
idle view
respira/get_menu_item
wordpress_get_menu_item
Get a single menu item by ID.
Menus
read
item_id
idle view
respira/get_option
wordpress_get_option
Get option value by name.
Core
read
option
idle view
respira/get_post_type
wordpress_get_post_type
Get post type details.
Content
read
type
idle view
respira/get_server_compatibility
wordpress_get_server_compatibility
Check plugin/MCP server version compatibility.
Core
read idle view
respira/get_site_context
wordpress_get_site_context
Get comprehensive information about the WordPress site including version, theme, plugins, custom post types, and page builder.
Core
read idle view
respira/get_snapshot
wordpress_get_snapshot
Get a snapshot by snapshot UUID.
Snapshots
read
snapshot_uuid
idle view
respira/get_taxonomy
wordpress_get_taxonomy
Get taxonomy details.
Taxonomies
read
taxonomy
idle view
respira/get_term
wordpress_get_term
Get term details.
Taxonomies
read
taxonomyid
idle view
respira/get_theme_docs
wordpress_get_theme_docs
Get theme documentation and available template files.
Core
read idle view
respira/get_user
wordpress_get_user
Get user details by ID.
Users
read
id
idle view
respira/inject_builder_content
wordpress_inject_builder_content
Inject structured content into a page builder. For Divi, diviVersion confirmation is required on every inject call ("4" or "5").
Page Builder
write
builderpageIdcontentdiviVersion
idle view
respira/install_plugin
wordpress_install_plugin
Install a plugin from WordPress.org or a ZIP URL. Requires plugin management to be enabled in Respira settings. Use with caution.
Plugins
write
slugOrUrlsource
idle view
respira/list_comments
wordpress_list_comments
List all comments with optional filtering.
Core
read
statuspost_idpageperPage
idle view
respira/list_custom_posts
wordpress_list_custom_posts
List posts of a custom post type.
Content
read
typestatussearchpage +1
idle view
respira/list_media
wordpress_list_media
List all media files (images, videos, etc.).
Media
read
searchpageperPage
idle view
respira/list_menu_items
wordpress_list_menu_items
List all items in a menu with their hierarchy.
Menus
read
menu_id
idle view
respira/list_menu_locations
wordpress_list_menu_locations
List all registered menu locations and their assigned menus.
Menus
read idle view
respira/list_menus
wordpress_list_menus
List all navigation menus. Includes WPML translation info if available.
Menus
read idle view
respira/list_options
wordpress_list_options
List WordPress options (with optional search filter).
Core
read
search
idle view
respira/list_pages
wordpress_list_pages
List all pages with optional filtering.
Content
read
statussearchpageperPage
idle view
respira/list_plugins
wordpress_list_plugins
List all installed plugins with their status, version, and update availability. Requires plugin management to be enabled in Respira settings.
Plugins
read idle view
respira/list_post_types
wordpress_list_post_types
List all registered post types.
Content
read idle view
respira/list_posts
wordpress_list_posts
List all blog posts with optional filtering.
Content
read
statussearchpageperPage
idle view
respira/list_snapshots
wordpress_list_snapshots
List v2 snapshots by post/post type/kind with cursor pagination.
Snapshots
read
post_idpost_typekindlimit +1
idle view
respira/list_taxonomies
wordpress_list_taxonomies
List all registered taxonomies.
Core
read idle view
respira/list_terms
wordpress_list_terms
List terms in a taxonomy.
Taxonomies
read
taxonomysearchpageperPage
idle view
respira/list_users
wordpress_list_users
List all users with optional filtering by search term.
Users
read
searchpageperPage
idle view
respira/move_element
wordpress_move_element
Move an element to a different container or position on a page.
Page Builder
write
post_idelement_id_typeelement_id_valuetarget_container_path +1
idle view
respira/read_custom_post_v2
wordpress_read_custom_post_v2
Read a custom post type entry using Respira v2 include-gated fidelity contract.
Content
read
typeidinclude
idle view
respira/read_page
wordpress_read_page
Get full content of a specific page including meta data and builder information.
Content
read
id
idle view
respira/read_page_v2
wordpress_read_page_v2
Read a page using Respira v2 include-gated fidelity contract.
Content
read
idinclude
idle view
respira/read_post
wordpress_read_post
Get full content of a specific post.
Content
read
id
idle view
respira/read_post_v2
wordpress_read_post_v2
Read a post using Respira v2 include-gated fidelity contract.
Content
read
idinclude
idle view
respira/reject_duplicate
wordpress_reject_duplicate
Reject and permanently delete a Respira duplicate. Admin-only.
Core
read
duplicate_id
idle view
respira/remove_element
wordpress_remove_element
Remove an element from a page.
Page Builder
write
post_ididentifier_typeidentifier_value
idle view
respira/reorder_elements
wordpress_reorder_elements
Reorder children within a container element.
Page Builder
write
post_idcontainer_pathnew_order
idle view
respira/restore_snapshot
wordpress_restore_snapshot
Restore post content/meta from a specific snapshot UUID.
Snapshots
write
snapshot_uuid
idle view
respira/search_stock_images
wordpress_search_stock_images
Search Openverse for free stock images.
Media
read
querylicense_typesourceaspect_ratio +2
idle view
respira/sideload_image
wordpress_sideload_image
Download a stock image and add it to the WordPress Media Library.
Media
write
urltitlealtauthor +2
idle view
respira/switch_site
wordpress_switch_site
Switch to a different WordPress site (for multi-site setups).
Core
read
siteId
idle view
respira/update_comment
wordpress_update_comment
Update a comment.
Core
write
idcontentstatus
idle view
respira/update_custom_post
wordpress_update_custom_post
Update a custom post. Uses duplicate-first safety by default. Direct live edits require force=true + confirmLiveEdit=true and "Allow Direct Editing" enabled. Supports meta fields and custom CSS for Divi/Elementor builders.
Content
write
typeidtitlecontent +4
idle view
respira/update_element
wordpress_update_element
Update settings/content of a specific element on a page.
Page Builder
write
post_ididentifier_typeidentifier_valueupdates
idle view
respira/update_media
wordpress_update_media
Update media metadata (title, alt text, caption).
Media
write
idtitlealtcaption
idle view
respira/update_menu
wordpress_update_menu
Update a navigation menu.
Menus
write
idnamedescription
idle view
respira/update_menu_item
wordpress_update_menu_item
Update a menu item.
Menus
write
item_idtitleurlparent +4
idle view
respira/update_module
wordpress_update_module
Update a specific module within a page builder page. Supports finding modules by admin_label, path, or type. Only updates the specified module while preserving all other content.
Page Builder
write
builderpageIdmoduleIdentifierupdates
idle view
respira/update_option
wordpress_update_option
Update an option value.
Core
write
optionvalue
idle view
respira/update_page
wordpress_update_page
Update a page. ⚠️ SAFETY: Respira ALWAYS creates duplicates automatically before editing live pages. If you try to edit an original page, Respira will automatically create a duplicate and edit that instead. After editing, the user must approve the duplicate in WordPress admin (Respira → Approve Edits) to apply changes live. Direct live edits require force=true AND confirmLiveEdit=true, and only work if "Allow Direct Editing" is enabled.
Content
write
idtitlecontentstatus +4
idle view
respira/update_plugin
wordpress_update_plugin
Update a plugin to the latest version. Requires plugin management to be enabled in Respira settings. Make sure you have backups before updating.
Plugins
write
slug
idle view
respira/update_post
wordpress_update_post
Update a post. ⚠️ SAFETY: Respira ALWAYS creates duplicates automatically before editing live posts. If you try to edit an original post, Respira will automatically create a duplicate and edit that instead. After editing, the user must approve the duplicate in WordPress admin (Respira → Approve Edits) to apply changes live. Direct live edits require force=true AND confirmLiveEdit=true, and only work if "Allow Direct Editing" is enabled.
Content
write
idtitlecontentstatus +4
idle view
respira/update_term
wordpress_update_term
Update a term.
Taxonomies
write
taxonomyidnameslug +2
idle view
respira/update_user
wordpress_update_user
Update user information.
Users
write
idemaildisplay_namepassword +1
idle view
respira/upload_media
wordpress_upload_media
Upload a media file (image, document, video) to WordPress. Supports base64 encoded files, file URLs, or file paths.
Media
write
filefilenamemimeTypetitle +2
idle view
respira/validate_security
wordpress_validate_security
Validate content for security issues before saving.
Core
read
content
idle view
respira/woocommerce_create_category
woocommerce_create_category
Create a WooCommerce product category.
E-commerce
read
nameslugdescriptionparent
idle view
respira/woocommerce_create_product
woocommerce_create_product
Create a WooCommerce product.
E-commerce
read
nametyperegular_pricestatus +2
idle view
respira/woocommerce_create_tag
woocommerce_create_tag
Create a WooCommerce product tag.
E-commerce
read
nameslugdescription
idle view
respira/woocommerce_delete_category
woocommerce_delete_category
Delete a WooCommerce product category.
E-commerce
read
id
idle view
respira/woocommerce_delete_tag
woocommerce_delete_tag
Delete a WooCommerce product tag.
E-commerce
read
id
idle view
respira/woocommerce_duplicate_product
woocommerce_duplicate_product
Duplicate a WooCommerce product to a draft copy.
E-commerce
read
id
idle view
respira/woocommerce_get_category
woocommerce_get_category
Get detailed information for a single WooCommerce product category.
E-commerce
read
id
idle view
respira/woocommerce_get_order
woocommerce_get_order
Get detailed information for a single WooCommerce order.
E-commerce
read
id
idle view
respira/woocommerce_get_product
woocommerce_get_product
Get detailed information for a single WooCommerce product.
E-commerce
read
id
idle view
respira/woocommerce_get_stock_status
woocommerce_get_stock_status
Get inventory overview with low-stock and out-of-stock counts.
E-commerce
read idle view
respira/woocommerce_get_tag
woocommerce_get_tag
Get detailed information for a single WooCommerce product tag.
E-commerce
read
id
idle view
respira/woocommerce_list_categories
woocommerce_list_categories
List WooCommerce product categories.
E-commerce
read
searchparenthide_emptyper_page +1
idle view
respira/woocommerce_list_orders
woocommerce_list_orders
List WooCommerce orders.
E-commerce
read
statusper_pagepage
idle view
respira/woocommerce_list_products
woocommerce_list_products
List WooCommerce products with status/search/pagination filters.
E-commerce
read
statussearchper_pagepage
idle view
respira/woocommerce_list_tags
woocommerce_list_tags
List WooCommerce product tags.
E-commerce
read
searchhide_emptyper_pagepage
idle view
respira/woocommerce_sales_report
woocommerce_sales_report
Get WooCommerce sales report for week/month/year/custom range.
E-commerce
read
perioddate_mindate_max
idle view
respira/woocommerce_update_category
woocommerce_update_category
Update a WooCommerce product category.
E-commerce
read
idnameslugdescription +1
idle view
respira/woocommerce_update_order_status
woocommerce_update_order_status
Update WooCommerce order status.
E-commerce
read
idstatus
idle view
respira/woocommerce_update_product
woocommerce_update_product
Update an existing WooCommerce product.
E-commerce
read
idnameregular_pricesale_price +4
idle view
respira/woocommerce_update_stock
woocommerce_update_stock
Update stock quantity or stock status for a product.
E-commerce
read
idstock_quantitystock_status
idle view
respira/woocommerce_update_tag
woocommerce_update_tag
Update a WooCommerce product tag.
E-commerce
read
idnameslugdescription
idle view
woocommerce/list-products
List Products
Return WooCommerce products with pagination and filters.
E-commerce
read
statuspageper_pagesearch
idle view
woocommerce/update-product
Update Product
Patch a WooCommerce product's price, stock, status or content.
E-commerce
write
product_idpricestock_quantitystatus +1
idle view
wordpress-seo/analyze-post
Analyze Post
Run Yoast's SEO and readability analysis on a post and return scores and recommendations.
SEO
read
post_id
idle view
wordpress-seo/update-meta
Update SEO Meta
Patch SEO meta title, description, focus keyphrase for a post.
SEO
write
post_idmeta_titlemeta_descriptionfocus_keyphrase
idle view

Quality columns reflect 30-day metrics from Respira's MCP telemetry. Rows that show idle haven't accumulated enough calls for a stable signal yet. Data is sampled across all sites running Respira; no per-user data is exposed.

Adopters · May 2026

19 plugins with abilities registered

Sorted by active install count. Each row links to the plugin's own canonical source so you can verify the wp_register_ability call yourself. Categories are curated. Adoption is moving fast; this list refreshes manually as new releases land.

Elementor

10M+

Page Builder

Elementor ships an MCP module that exposes editor + widget operations. Respira layers snapshot-before-write protection on top via the Inhale gateway.

Yoast SEO

10M+

SEO

Yoast SEO registers abilities for content analysis and SEO suggestions through wp_register_ability.

WooCommerce

7M+

E-commerce

WooCommerce exposes a store/product/order ability registry. Respira also ships a dedicated WooCommerce add-on with snapshot-aware product writes.

Akismet Anti-Spam

6M+

Security

Akismet registers a spam-check ability that lets agents validate content before publishing.

Jetpack

3M+

Suite

Jetpack ships abilities for Shortlinks and Jetpack Forms. Respira treats each as a callable MCP tool through the Inhale gateway.

Advanced Custom Fields

2M+

Custom Fields

ACF exposes field group read + edit abilities. Respira ships a dedicated ACF integration that builds on top.

Joinchat (WhatsApp)

700k+

Conversational

Joinchat registers abilities for WhatsApp button configuration.

Burst Statistics

200k+

Analytics

Burst exposes analytics query abilities for privacy-first traffic reporting.

LatePoint

100k+

Bookings

LatePoint exposes appointment and booking abilities.

The Plus Addons for Elementor

100k+

Page Builder · Elementor

Per-widget abilities for the Plus Addons widget suite (featured image, etc.).

Cookiebot

100k+

Compliance

Cookiebot exposes consent + scanner abilities.

Amelia Booking

90k+

Bookings

Amelia exposes appointment / service abilities through the mcp-adapter package.

Secure Custom Fields

70k+

Custom Fields

SCF (the ACF community fork) exposes field operations.

LearnPress

70k+

LMS

LearnPress exposes course, lesson, and quiz abilities.

Shield Security

40k+

Security

Shield exposes scan + firewall abilities.

MainWP

20k+

Multi-site

MainWP exposes multi-site dashboard operations.

Nexter Blocks

10k+

Block Library

Per-block abilities for the Nexter block suite.

Better Click To Tweet

7k+

Social

Tweet box settings exposed via wp_register_ability.

For agents · For users teaching agents

Your agent can search this directory directly.

The directory itself is open to any agent today via a CORS-open JSON endpoint. Respira's v7.1 release adds an MCP-native search tool on top that knows whether each ability is installed and inhaled on the agent's current site, so the agent can call it directly with one tool. Both paths cover the same 163 abilities.

Option 1 · Pure HTTP, works today

Any agent can fetch the directory directly

The directory ships as a CORS-open JSON endpoint. Any agent on any platform can read it without parsing HTML, without auth, without MCP.

GET https://www.respira.press/abilities/data.json
Content-Type: application/json
Access-Control-Allow-Origin: *

Also discoverable via /llms.txt

Option 2 · MCP-native · Coming in Respira v7.1

A search tool with per-site context

When Respira v7.1 ships, every agent connected to Respira gets a tool called wordpress_search_abilities that searches the same directory and enriches each result with per-site flags: is the plugin installed, is the ability inhaled, what is the install URL if not. The agent then calls the ability via wordpress_invoke_ability with Respira's snapshot-before-write safety wrap layered on top.

Install Respira · v7.1 release notes

Option 3 · Drop into your agent's system prompt

Paste this block into Claude / Cursor / Codex / etc.

Tells your agent to fetch the directory directly. Works today against any agent that can make HTTP requests, regardless of whether you have Respira installed.

You have access to the WordPress Abilities API directory at:
  https://www.respira.press/abilities/data.json

Fetch this JSON whenever the user asks "is there a WordPress ability / plugin that does X"
or "how do i automate Y on WordPress". The directory enumerates 163 abilities
across Elementor, Yoast SEO, WooCommerce, Jetpack, ACF, Akismet, and 150+ Respira tools.

Each result includes:
- ability_name, plugin_name, plugin_slug, category, label, description
- is_write (whether it mutates the site)
- input_schema_keys (the args the ability accepts)
- is_installed (is the plugin active on the current site)
- is_inhaled (has the admin opted the ability into Respira's MCP surface)
- install_url (wp.org page when not installed)
- inhale_admin_url (Respira admin tab when installed but not inhaled)
- how_to_invoke (the exact next tool call when ready)

Reading the directory tells you which plugins expose which abilities. You then guide the user
to install or activate the plugin they need, or to use a tool they already have.

If the user has Respira v7.1 installed, an MCP-native search tool will be available with
per-site context (is_installed, is_inhaled, install_url, inhale_admin_url, how_to_invoke).
Until then, the JSON above is the canonical source.

For plugin developers

How to expose your plugin's abilities

You don't need a custom MCP integration. The WordPress Abilities API is the canonical surface; once your plugin registers an ability, every MCP-aware site (including every site running Respira) can call it.

1

Install the mcp-adapter package

The WordPress/mcp-adapter package is the active implementation of the Abilities API. There's also a packaged plugin at wordpress.org/plugins/mcp-adapter for sites that want it as a standalone install. WordPress 6.9+ ships the function wp_register_ability in core.

2

Register an ability

Call wp_register_ability with a namespace, an ability name, a description, an args schema, and an execute callback. Weston Ruter's April 2026 walkthrough remains the cleanest reference implementation.

add_action( 'wp_abilities_api_init', function () {
  wp_register_ability( 'my-plugin/get-thing', array(
    'label'       => 'Get Thing',
    'description' => 'Returns the current value of Thing.',
    'input_schema'  => array( /* JSON Schema */ ),
    'output_schema' => array( /* JSON Schema */ ),
    'execute_callback' => function ( $args ) {
      return array( 'thing' => get_option( 'my_plugin_thing' ) );
    },
  ) );
} );

3

Test it through Respira's Inhale gateway

Install Respira on a test site, open Respira › MCP Abilities, and toggle your ability on. Connect Claude Code or any MCP-capable agent. The ability is now a callable tool with snapshot-before-write protection layered on top — the ability's own behaviour is unchanged.

Optional · For Respira add-ons

A faster path: the Respira Add-on SDK

The Respira Add-on SDK is a thin wrapper over wp_register_ability that handles the boilerplate (validation, error envelopes, per-tool risk_level) and adds Respira-specific conveniences (governance gate, first-class audit log integration, the approval queue for risky writes). You write a ToolDescriptor; the SDK calls wp_register_ability for you. Same underlying standard, less boilerplate.

Inhale · The Respira gateway

One toggle. Any plugin. Snapshot-safe.

Inhale is the small surface inside Respira that lets admins opt third-party abilities into the MCP server's public catalogue. Every inhaled ability runs through Respira's safety wrapper: snapshot before any write, structured error envelopes on failure, audit-log entry for every call, per-tool wall-clock budget, and a one-click rollback URL in the response when a snapshot was captured.

That's the unique sell of running Respira's MCP server in front of the Abilities API: you get every plugin's abilities plus the safety net Respira built for its own tools. The cap on inhaled abilities (default 30) keeps the agent context window tight enough that tool selection stays accurate.

New in 7.1 · Connect by link

Reach these abilities from anywhere

The abilities your site exposes can now be reached by a remote web client over a link. Connect Claude or ChatGPT to the abilities your site exposes with a link and a key, nothing to install. It works from the web or your phone, and every call still runs through the same Inhale safety wrapper: snapshot before any write, structured errors, and an audit-log entry.

For maintainers

Your plugin not on this list?

If you've shipped wp_register_ability in your canonical source and aren't listed here, that's a curation gap, not a rejection. The list is hand-audited from GitHub code search every few weeks. Open an issue on the Respira Add-on SDK repo with the source link and we'll add you on the next pass. If you'd like to discuss your design before publishing, questions there are also welcome.