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.
WordPress Abilities API · Directory
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 can pick them up, wrapping qualifying writes with a snapshot-before-write recovery point, structured errors, and a one-click rollback link.
Directory · 154 Respira abilities + 331 third-party
Respira's own 154 abilities, plus the 331 third-party plugin abilities integrated so far (from ACF, Elementor, Jetpack, WooCommerce and Yoast). Each row links to where the ability is registered, so you can verify it yourself. Refreshed weekly. Last refresh: 2026-06-14.
| Ability | Plugin | Kind | Input schema | Quality (30d) | Source |
|---|---|---|---|---|---|
advanced-custom-fields/get-field-valueGet 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-groupsList Field Groups Return all registered ACF field groups with their fields and metadata. | Custom Fields | read | — | idle | view |
advanced-custom-fields/update-field-valueUpdate Field Value Write a new value to a custom field on a post. | Custom Fields | write | post_idfield_namevalue | idle | view |
amelia/add-customerAdd Customer Use when the user wants to register, add, or create a new customer/client. ALWAYS confirm first name, last name, and email with the user before calling this ability. | amelia-write | read | firstNamelastNameemailphone | idle | view |
amelia/add-serviceAdd Service Use when the user wants to add, create, or set up a new bookable service. ALWAYS confirm the service name, duration, price, and assigned employees with the user before calling this ability. | amelia-write | read | namecategoryIddurationprice +3 | idle | view |
amelia/book-eventBook Event Use when the user wants to register or enroll a customer in an event, class, or group session. ALWAYS confirm the event and customer with the user before calling. Use amelia/list-events for eventId and amelia/list-customers or amelia/add-customer for customerId. | amelia-write | read | eventIdcustomerIdpersons | idle | view |
amelia/cancel-bookingCancel Booking Use when the user wants to cancel, remove, or undo a booking. ALWAYS ask the user explicitly to confirm before calling: "Are you sure you want to cancel booking ID {bookingId}? This cannot be undone." | amelia-write | read | bookingIdtype | idle | view |
amelia/check-availabilityCheck Availability Use when the user asks when they can book, what slots are free, or what times are available for a service. Returns available datetimes grouped by date. Requires serviceId from amelia/list-services. | amelia-read | read | serviceIdpersonsstartDateTimeendDateTime +4 | idle | view |
amelia/create-appointmentCreate Appointment Use when the user wants to book, schedule, or reserve an appointment for a customer. ALWAYS confirm service, employee, customer, and date/time with the user before calling. Use amelia/list-services, amelia/list-employees, amelia/list-customers, and amelia/check-availability first. | amelia-write | read | serviceIdproviderIdcustomerIdbookingStart +1 | idle | view |
amelia/create-eventCreate Event Use when the user wants to create, add, or set up a new event, class, or group session. ALWAYS confirm name, start/end date-time, price, and capacity with the user before calling this ability. | amelia-write | read | nameperiodStartperiodEndprice +4 | idle | view |
amelia/list-appointmentsList Appointments Use when the user asks about existing appointments, upcoming bookings, or wants to find a specific appointment to reschedule or cancel. Returns appointments with IDs, dates, service, provider, customer, and status. Supports filtering by date range, provider, service, customer, and status. | amelia-read | read | datesprovidersservicescustomers +3 | idle | view |
amelia/list-customersList Customers Use when the user asks to look up a customer, find a client, or before booking on behalf of an existing person. Returns customer IDs required by amelia/create-appointment and amelia/book-event. | amelia-read | read | limitsearchpage | idle | view |
amelia/list-employeesList Employees Use when the user asks about staff, employees, therapists, or who performs a service. Returns provider IDs required by amelia/create-appointment and amelia/check-availability. | amelia-read | read | search | idle | view |
amelia/list-eventsList Events Use when the user asks about events, classes, workshops, or group sessions. Returns event IDs, periods, capacity, and availability. Call this before amelia/book-event. | amelia-read | read | limitsearchpagedates | idle | view |
amelia/list-servicesList Services Use when the user asks what services are available, what can be booked, appointment types, or pricing. Returns all bookable services with IDs, durations, and prices. Call this first before amelia/check-availability or amelia/create-appointment. | amelia-read | read | limitsearch | idle | view |
mcp-adapter/discover-abilitiesDiscover Abilities Discover all available WordPress abilities in the system. Returns a list of all registered abilities with their basic information. | mcp-adapter | read | — | idle | view |
mcp-adapter/execute-abilityExecute Ability Execute a WordPress ability with the provided parameters. This is the primary execution layer that can run any registered ability. | mcp-adapter | read | ability_nameparameters | idle | view |
mcp-adapter/get-ability-infoGet Ability Info Get detailed information about a specific WordPress ability including its input/output schema, description, and usage examples. | mcp-adapter | read | ability_name | idle | view |
bctt/insert-click-to-tweetInsert Click to Tweet Appends a Better Click To Share block to the end of a post. Use this after you have the exact tweet text to show (e.g. from suggest-tweetables). | content | read | post_idtweetusernamevia +2 | idle | view |
bctt/suggest-tweetablesSuggest Tweetables Returns suggested tweet-length snippets from a post or raw content. Use these with insert-click-to-tweet. No AI; uses sentence boundaries and length filter. | content | read | post_idcontentmax_suggestionsmax_length +1 | idle | view |
cookiebot/get-compliance-summaryGet Compliance Summary Returns the privacy regulations covered by Cookiebot CMP on this site, plus the current scan status and plan type. | cookiebot | read | — | idle | view |
cookiebot/get-statusGet Cookiebot Status Returns the current Cookiebot CMP plugin configuration: whether a Domain Group ID is set, GCM v2 status, cookie blocking mode, banner state, and plugin version. | cookiebot | read | — | idle | view |
cookiebot/install-ppgInstall Privacy Policy Generator Installs and activates the Privacy Policy Generator plugin (privacy-policy-usercentrics). Idempotent — returns immediately if already active. After install, direct the user to admin_url to complete policy setup. | cookiebot | read | — | idle | view |
cookiebot/set-cbidSet Domain Group ID Sets the Domain Group ID (CBID). For Cookiebot accounts this is a UUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) found under Implementation in the Cookiebot Admin. For Usercentrics accounts this is a Settings ID (9 or 14 characters) found in the Usercentrics Admin. Changes take effect immediately. | cookiebot | read | cbid | idle | view |
cookiebot/toggle-gcmToggle Google Consent Mode v2 Enables or disables Google Consent Mode v2. GCM v2 is required for Google Ads and Analytics in the EU/EEA and is enabled by default. Only disable if explicitly requested by the user. | cookiebot | read | enabled | idle | view |
cookiebot/verify-setupVerify Cookiebot Setup Checks that the Domain Group ID is configured, Google Consent Mode v2 is enabled, and cookie blocking mode is set to auto. Returns an issues[] list — empty means all checks passed. | cookiebot | read | — | idle | view |
elementor/get-pageGet Page Read the Elementor data tree for a given post id. | Page Builder | read | post_id | idle | view |
elementor/list-widgetsList Widgets Return the catalogue of registered Elementor widgets including atomic v4 widgets. | Page Builder | read | — | idle | view |
elementor/update-widgetUpdate Widget Patch settings on a single Elementor widget. | Page Builder | write | post_idwidget_idsettings | idle | view |
jetpack/create-short-linkCreate Short Link Create a wp.me short link for a given URL. | Suite | write | url | idle | view |
jetpack-forms/list-responsesList Form Responses Return submitted responses for a Jetpack form. | Forms | read | form_idpageper_page | idle | view |
joinchat/get-phoneGet WhatsApp contact Phone Get the configured WhatsApp phone number for current context | whatsapp-contact | read | post_idterm_id | idle | view |
joinchat/get-whatsapp-urlGenerate WhatsApp URL Generate WhatsApp "click to chat" URL with phone and pre-filled message | whatsapp-contact | read | phonemessage | idle | view |
joinchat/set-ctaSet Call to Action Set the call to action text for the Joinchat chat window globally or for current context | whatsapp-contact | read | ctapost_idterm_id | idle | view |
joinchat/set-messageSet WhatsApp pre-filled Message Set the pre-filled WhatsApp first message globally or for current context | whatsapp-contact | read | messagepost_idterm_id | idle | view |
joinchat/set-phoneSet WhatsApp contact Phone Set the WhatsApp phone number globally or for current context | whatsapp-contact | read | phonepost_idterm_id | idle | view |
mainwp/activate-site-plugins-v1Activate Site Plugins Activate plugins on a MainWP child site. | mainwp-sites | read | site_id_or_domainplugins | idle | view |
mainwp/activate-site-theme-v1Activate Site Theme Activate a theme on a MainWP child site. | mainwp-sites | read | site_id_or_domaintheme | idle | view |
mainwp/add-client-v1Add MainWP Client Create a new MainWP client. Possible errors: mainwp_invalid_input, ability_invalid_permissions | mainwp-clients | read | nameclient_emailclient_phoneaddress_1 +4 | idle | view |
mainwp/add-site-v1Add MainWP Site Add a new MainWP child site. | mainwp-sites | read | urlnameadmin_usernameverify_certificate +4 | idle | view |
mainwp/add-tag-v1Add MainWP Tag Create a new MainWP tag. | mainwp-tags | read | namecolor | idle | view |
mainwp/check-site-v1Check MainWP Site Check connectivity status of a MainWP child site. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/check-sites-v1Check MainWP Sites Check connectivity status of multiple MainWP child sites. Operations with >200 sites are automatically queued. | mainwp-sites | read | site_ids_or_domains | idle | view |
mainwp/count-client-sites-v1Count Client Sites Count sites associated with a MainWP client. Possible errors: mainwp_client_not_found, ability_invalid_permissions | mainwp-clients | read | client_id_or_email | idle | view |
mainwp/count-clients-v1Count MainWP Clients Count total number of MainWP clients. Possible errors: ability_invalid_permissions | mainwp-clients | read | — | idle | view |
mainwp/count-sites-v1Count MainWP Sites Count total MainWP child sites with optional filtering. | mainwp-sites | read | statustag_idsclient_id | idle | view |
mainwp/deactivate-site-plugins-v1Deactivate Site Plugins Deactivate plugins on a MainWP child site. | mainwp-sites | read | site_id_or_domainplugins | idle | view |
mainwp/delete-client-v1Delete MainWP Client Delete a MainWP client. Requires confirm: true or dry_run: true. Possible errors: mainwp_client_not_found, mainwp_confirmation_required, mainwp_invalid_input, ability_invalid_permissions | mainwp-clients | read | client_id_or_emailconfirmdry_run | idle | view |
mainwp/delete-site-plugins-v1Delete Site Plugins Delete plugins from a MainWP child site. Requires confirmation. Supports dry-run mode. | mainwp-sites | read | site_id_or_domainpluginsconfirmdry_run | idle | view |
mainwp/delete-site-themes-v1Delete Site Themes Delete themes from a MainWP child site. Requires confirmation. Supports dry-run mode. | mainwp-sites | read | site_id_or_domainthemesconfirmdry_run | idle | view |
mainwp/delete-site-v1Delete MainWP Site Delete a MainWP child site. Requires confirmation. Supports dry-run mode. | mainwp-sites | read | site_id_or_domainconfirmdry_run | idle | view |
mainwp/delete-tag-v1Delete MainWP Tag Delete a MainWP tag. Requires confirmation or supports dry-run mode. | mainwp-tags | read | tag_idconfirmdry_run | idle | view |
mainwp/disconnect-site-v1Disconnect MainWP Site Disconnect a MainWP child site. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/disconnect-sites-v1Disconnect MainWP Sites Disconnect multiple MainWP child sites. Operations with >200 sites are automatically queued. | mainwp-sites | read | site_ids_or_domains | idle | view |
mainwp/get-abandoned-plugins-v1Get Abandoned Plugins Get list of abandoned plugins on a child site. Returns plugins detected during last sync. Data freshness depends on sync frequency. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/get-abandoned-themes-v1Get Abandoned Themes Get list of abandoned themes on a child site. Returns themes detected during last sync. Data freshness depends on sync frequency. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/get-batch-job-status-v1Get Batch Job Status Retrieve status of a queued batch operation (sync, update, reconnect, disconnect, check, suspend). Returns progress, results, and errors. Possible errors: mainwp_job_not_found. | mainwp-batch | read | job_id | idle | view |
mainwp/get-client-costs-v1Get Client Costs Get cost tracker entries for a MainWP client. Requires Cost Tracker module. Possible errors: mainwp_client_not_found, mainwp_module_not_available, ability_invalid_permissions | mainwp-clients | read | client_id_or_email | idle | view |
mainwp/get-client-sites-v1Get Client Sites Get sites associated with a MainWP client. Possible errors: mainwp_client_not_found, ability_invalid_permissions | mainwp-clients | read | client_id_or_email | idle | view |
mainwp/get-client-v1Get MainWP Client Get detailed information about a single MainWP client. Possible errors: mainwp_client_not_found, ability_invalid_permissions | mainwp-clients | read | client_id_or_email | idle | view |
mainwp/get-site-changes-v1Get Site Changes Get non-MainWP changes detected on a child site. Requires Logs module. | mainwp-sites | read | site_id_or_domainpageper_pagetype | idle | view |
mainwp/get-site-client-v1Get Site Client Get client assigned to a MainWP child site. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/get-site-costs-v1Get Site Costs Get costs associated with a MainWP child site. Requires Cost Tracker module to be active. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/get-site-plugins-v1Get Site Plugins Get list of plugins installed on a child site. | mainwp-sites | read | site_id_or_domainstatushas_update | idle | view |
mainwp/get-site-security-v1Get Site Security Get security status for a MainWP child site including vulnerability counts, security issues, and issue categories detected during last sync. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/get-site-themes-v1Get Site Themes Get list of themes installed on a child site. | mainwp-sites | read | site_id_or_domainstatushas_update | idle | view |
mainwp/get-site-updates-v1Get Site Updates Get available updates for a single site with optional filtering by update type. | mainwp-updates | read | site_id_or_domaintypes | idle | view |
mainwp/get-site-v1Get MainWP Site Get detailed information about a single MainWP child site. | mainwp-sites | read | site_id_or_domaininclude_stats | idle | view |
mainwp/get-sites-basic-v1Get Sites Basic Get basic site info (id, url, name only) for fast bulk retrieval. Use list_sites_v1 for full details with filtering, or get_site_v1 for complete single-site information. | mainwp-sites | read | pageper_pagestatustag_ids +1 | idle | view |
mainwp/get-tag-clients-v1Get Tag Clients Get list of clients associated with a tag. | mainwp-tags | read | tag_idpageper_page | idle | view |
mainwp/get-tag-sites-v1Get Tag Sites Get list of sites associated with a tag. | mainwp-tags | read | tag_idpageper_page | idle | view |
mainwp/get-tag-v1Get MainWP Tag Get detailed information about a single MainWP tag. | mainwp-tags | read | tag_id | idle | view |
mainwp/ignore-site-core-v1Ignore Site Core Add or remove WordPress core from the ignored updates list for a single site. | mainwp-updates | read | site_id_or_domainaction | idle | view |
mainwp/ignore-site-plugins-v1Ignore Site Plugins Add or remove plugins from the ignored updates list for a single site. | mainwp-updates | read | site_id_or_domainslugsaction | idle | view |
mainwp/ignore-site-themes-v1Ignore Site Themes Add or remove themes from the ignored updates list for a single site. | mainwp-updates | read | site_id_or_domainslugsaction | idle | view |
mainwp/list-clients-v1List MainWP Clients List MainWP clients with pagination and filtering. Possible errors: mainwp_invalid_input, ability_invalid_permissions | mainwp-clients | read | pageper_pagestatussearch +2 | idle | view |
mainwp/list-ignored-updates-v1List Ignored Updates List updates that have been marked as ignored. | mainwp-updates | read | site_ids_or_domainstypes | idle | view |
mainwp/list-sites-v1List MainWP Sites List MainWP child sites with pagination and filtering. Returns basic site information including ID, URL, name, and connection status. | mainwp-sites | read | pageper_pagestatussearch +2 | idle | view |
mainwp/list-tags-v1List MainWP Tags List MainWP tags with pagination and filtering. Returns tag information including ID, name, color, and sites count. | mainwp-tags | read | pageper_pagesearchinclude +1 | idle | view |
mainwp/list-updates-v1List Available Updates List available updates across MainWP child sites with filtering and pagination. | mainwp-updates | read | site_ids_or_domainstypespageper_page | idle | view |
mainwp/reconnect-site-v1Reconnect MainWP Site Reconnect a disconnected MainWP child site. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/reconnect-sites-v1Reconnect MainWP Sites Reconnect multiple MainWP child sites. Operations with >200 sites are automatically queued. | mainwp-sites | read | site_ids_or_domains | idle | view |
mainwp/run-updates-v1Run Updates Execute updates on one or more MainWP child sites. Operations with >200 sites are automatically queued for background processing. | mainwp-updates | read | site_ids_or_domainstypesspecific_items | idle | view |
mainwp/set-ignored-updates-v1Set Ignored Updates Add or remove items from the ignored updates list for a site. | mainwp-updates | read | actionsite_id_or_domaintypeslug | idle | view |
mainwp/suspend-client-v1Suspend MainWP Client Suspend a MainWP client. Possible errors: mainwp_client_not_found, ability_invalid_permissions | mainwp-clients | read | client_id_or_email | idle | view |
mainwp/suspend-site-v1Suspend MainWP Site Suspend a MainWP child site. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/suspend-sites-v1Suspend MainWP Sites Suspend multiple MainWP child sites. Operations with >200 sites are automatically queued. | mainwp-sites | read | site_ids_or_domains | idle | view |
mainwp/sync-sites-v1Sync MainWP Sites Trigger synchronization for one or more child sites. Operations with >200 sites are automatically queued for background processing. | mainwp-sites | read | site_ids_or_domainssite_idsexclude_ids | idle | view |
mainwp/unsuspend-client-v1Unsuspend MainWP Client Unsuspend a MainWP client. Possible errors: mainwp_client_not_found, ability_invalid_permissions | mainwp-clients | read | client_id_or_email | idle | view |
mainwp/unsuspend-site-v1Unsuspend MainWP Site Unsuspend a MainWP child site. | mainwp-sites | read | site_id_or_domain | idle | view |
mainwp/update-all-v1Update All Execute ALL available updates (core, plugins, themes, translations) across all sites or specified sites. WARNING: This is a broad operation. For targeted updates, use run_updates_v1 with specific types[] and site_ids_or_domains[]. Operations with >200 sites are queued. | mainwp-updates | read | site_ids_or_domainstypes | idle | view |
mainwp/update-client-v1Update MainWP Client Update an existing MainWP client. Possible errors: mainwp_client_not_found, mainwp_invalid_input, ability_invalid_permissions | mainwp-clients | read | client_id_or_emailnameclient_emailclient_phone +4 | idle | view |
mainwp/update-site-core-v1Update Site Core Update WordPress core for a single site. | mainwp-updates | read | site_id_or_domain | idle | view |
mainwp/update-site-plugins-v1Update Site Plugins Update plugins for a single site. Optionally specify slugs to update only specific plugins. | mainwp-updates | read | site_id_or_domainslugs | idle | view |
mainwp/update-site-themes-v1Update Site Themes Update themes for a single site. Optionally specify slugs to update only specific themes. | mainwp-updates | read | site_id_or_domainslugs | idle | view |
mainwp/update-site-translations-v1Update Site Translations Update translations for a single site. Optionally specify slugs to update only specific translations. | mainwp-updates | read | site_id_or_domainslugs | idle | view |
mainwp/update-site-v1Update MainWP Site Update settings for a MainWP child site. | mainwp-sites | read | site_id_or_domainnameurladmin_username +4 | idle | view |
mainwp/update-tag-v1Update MainWP Tag Update an existing MainWP tag. | mainwp-tags | read | tag_idnamecolor | idle | view |
masteriyo/course-builder-getGet Course Builder Retrieve the full course structure tree: all sections with their lessons and quizzes in order. | masteriyo-lms | read | id | idle | view |
masteriyo/course-builder-saveSave Course Builder Atomically save the entire course structure (sections, lessons, quizzes). Replaces the existing structure — provide the full desired tree. | masteriyo-lms | read | idcontentssectionssection_order +1 | idle | view |
masteriyo/course-category-createCreate Course Category Create a new course category. Requires name. Optionally accepts slug, description, and parent (ID of a parent category for hierarchical nesting). Returns the created category with its ID and course count. | masteriyo-lms | read | nameslugparent_iddescription +2 | idle | view |
masteriyo/course-category-deleteDelete Course Category Permanently delete a course category. Requires id (category ID). Taxonomy terms have no trash state — deletion is immediate and irreversible. Returns the deleted category object. | masteriyo-lms | read | idforce | idle | view |
masteriyo/course-category-getGet Course Category Retrieve a single course category by its ID. Requires id (category ID). Returns the category object including name, slug, description, parent ID, and course count. | masteriyo-lms | read | id | idle | view |
masteriyo/course-category-listList Course Categories Retrieve a paginated list of course categories. Optionally filter by search term or parent ID. Returns data array with name, slug, description, parent, and course count per category, plus pagination metadata. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/course-category-updateUpdate Course Category Update an existing course category. Requires id (category ID). Optionally accepts name, slug, description, or parent. Returns the updated category object. | masteriyo-lms | read | idnameslugparent_id +3 | idle | view |
masteriyo/course-children-getGet Course Children Retrieve all content items (sections, lessons, quizzes) belonging to a course. | masteriyo-lms | read | idcontextpageper_page +4 | idle | view |
masteriyo/course-createCreate Course Create a new course with title, description, pricing, access mode, and category assignments. | masteriyo-lms | read | course_coming_soonnameslugdate_created +4 | idle | view |
masteriyo/course-deleteDelete Course Move a course to trash. Use force=true to permanently delete. | masteriyo-lms | read | idforce | idle | view |
masteriyo/course-difficulty-createCreate Course Difficulty Create a new course difficulty level (e.g. Beginner, Intermediate, Advanced). Requires name. Optionally accepts slug and description. Returns the created difficulty object with its ID. | masteriyo-lms | read | nameslugdescriptionterm_order +1 | idle | view |
masteriyo/course-difficulty-deleteDelete Course Difficulty Permanently delete a course difficulty level. Requires id (difficulty ID). Deletion is immediate and irreversible. Returns the deleted difficulty object. | masteriyo-lms | read | idforce | idle | view |
masteriyo/course-difficulty-getGet Course Difficulty Retrieve a single course difficulty level by its ID. Requires id (difficulty ID). Returns the difficulty object including name, slug, description, and course count. | masteriyo-lms | read | id | idle | view |
masteriyo/course-difficulty-listList Course Difficulties Retrieve a paginated list of course difficulty levels. Optionally filter by search term. Returns data array with name, slug, description, and course count per difficulty, plus pagination metadata. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/course-difficulty-updateUpdate Course Difficulty Update an existing course difficulty level. Requires id (difficulty ID). Optionally accepts name, slug, or description. Returns the updated difficulty object. | masteriyo-lms | read | idnameslugdescription +2 | idle | view |
masteriyo/course-getGet Course Retrieve a single course by ID, including all its metadata and settings. | masteriyo-lms | read | id | idle | view |
masteriyo/course-listList Courses Retrieve a paginated list of courses. Supports filtering by status, category, instructor, and search term. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/course-qa-createCreate Course Q&A Post a new question or answer in a course Q&A thread. Requires course_id and content. Omit parent to create a top-level question; set parent to a question ID to post an answer. Returns the created entry with its ID and status. | masteriyo-lms | read | course_idnameemailurl +4 | idle | view |
masteriyo/course-qa-deleteDelete Course Q&A Move a course Q&A entry to trash. Requires id (Q&A entry ID). Trashed entries can be recovered with masteriyo/course-qa-restore. Use force=true to permanently delete. Returns the deleted entry. | masteriyo-lms | read | idforce | idle | view |
masteriyo/course-qa-getGet Course Q&A Retrieve a single course Q&A entry by its ID. Requires id (Q&A entry ID). Returns the entry including content, author, status, course_id, and parent (set when the entry is an answer to another question). | masteriyo-lms | read | id | idle | view |
masteriyo/course-qa-listList Course Q&As Retrieve a paginated list of course Q&A entries. Optionally filter by course_id or status (approved, hold, spam). Returns data array of Q&A entries with content, author, and course context, plus pagination metadata. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/course-qa-restoreRestore Course Q&A Restore a trashed course Q&A entry to its previous status. Requires id (Q&A entry ID). Only applies to entries currently in the trash. Returns the restored entry object. | masteriyo-lms | read | id | idle | view |
masteriyo/course-qa-updateUpdate Course Q&A Update an existing Q&A entry content. | masteriyo-lms | read | idcourse_idnameemail +4 | idle | view |
masteriyo/course-restoreRestore Course Restore a trashed course back to its previous published or draft state. | masteriyo-lms | read | id | idle | view |
masteriyo/course-review-createCreate Course Review Submit a new course review with rating and comment. | masteriyo-lms | read | course_idnameemailurl +4 | idle | view |
masteriyo/course-review-deleteDelete Course Review Delete a course review permanently. | masteriyo-lms | read | idforce | idle | view |
masteriyo/course-review-getGet Course Review Retrieve a single course review by its ID. Requires id (review ID). Returns the review including reviewer name, rating (1–5), comment body, status (approved, hold, spam), and course_id. | masteriyo-lms | read | id | idle | view |
masteriyo/course-review-listList Course Reviews Retrieve a paginated list of course reviews, optionally filtered by course or status. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/course-review-updateUpdate Course Review Update an existing course review (approve, reject, or edit content). | masteriyo-lms | read | idcourse_idnameemail +4 | idle | view |
masteriyo/course-tag-createCreate Course Tag Create a new course tag. Tags are flat (no hierarchy). Requires name. Optionally accepts slug and description. Returns the created tag object with its ID. | masteriyo-lms | read | nameslugdescriptionterm_order | idle | view |
masteriyo/course-tag-deleteDelete Course Tag Permanently delete a course tag. Requires id (tag ID). Deletion is immediate and irreversible. Returns the deleted tag object. | masteriyo-lms | read | idforce | idle | view |
masteriyo/course-tag-getGet Course Tag Retrieve a single course tag by its ID. Requires id (tag ID). Returns the tag object including name, slug, description, and course count. | masteriyo-lms | read | id | idle | view |
masteriyo/course-tag-listList Course Tags Retrieve a paginated list of course tags. Optionally filter by search term. Returns data array with name, slug, description, and course count per tag, plus pagination metadata. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/course-tag-updateUpdate Course Tag Update an existing course tag. Requires id (tag ID). Optionally accepts name, slug, or description. Returns the updated tag object. | masteriyo-lms | read | idnameslugdescription +1 | idle | view |
masteriyo/course-updateUpdate Course Update an existing course. Supply only the fields to change; others remain unchanged. | masteriyo-lms | read | idcourse_coming_soonnameslug +4 | idle | view |
masteriyo/enrollment-createCreate Enrollment Enroll a student in a course. Requires course_id and user_id. Optionally accepts status (active, inactive). Returns the created enrollment object with its ID. | masteriyo-lms | read | user_idcourse_idtypestatus +2 | idle | view |
masteriyo/enrollment-deleteDelete Enrollment Unenroll a student from a course. Requires id (enrollment ID). Optionally accepts force (boolean, permanently removes the record when true). Returns the deleted enrollment object. | masteriyo-lms | read | id | idle | view |
masteriyo/enrollment-getGet Enrollment Retrieve a single course enrollment record by its ID. Requires id (enrollment ID). Returns the enrollment object including user_id, course_id, status, and date_start. | masteriyo-lms | read | id | idle | view |
masteriyo/enrollment-listList Enrollments Retrieve a paginated list of course enrollments. Optionally filter by course_id, user_id, or status. Returns data array and pagination metadata (total, total_pages, page, per_page). | masteriyo-lms | read | pageper_pageuser_idstatus +4 | idle | view |
masteriyo/enrollment-updateUpdate Enrollment Update an existing course enrollment. Requires id (enrollment ID). Optionally accepts status (active, inactive). Returns the updated enrollment object. | masteriyo-lms | read | iduser_idcourse_idtype +3 | idle | view |
masteriyo/lesson-cloneClone Lesson Duplicate a lesson, including its content, into the same section. | masteriyo-lms | read | id | idle | view |
masteriyo/lesson-createCreate Lesson Create a new lesson inside a section. | masteriyo-lms | read | nameslugdate_createddate_created_gmt +4 | idle | view |
masteriyo/lesson-deleteDelete Lesson Move a lesson to trash (use force=true to permanently delete). | masteriyo-lms | read | idforce | idle | view |
masteriyo/lesson-getGet Lesson Retrieve a single lesson by ID including content and video settings. | masteriyo-lms | read | id | idle | view |
masteriyo/lesson-listList Lessons Retrieve a paginated list of lessons, optionally filtered by course or section. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/lesson-restoreRestore Lesson Restore a trashed lesson back to draft state. Requires id (lesson ID). Only applies to lessons currently in the trash. Returns the restored lesson object. | masteriyo-lms | read | id | idle | view |
masteriyo/lesson-updateUpdate Lesson Update an existing lesson content, title, or video URL. | masteriyo-lms | read | idnameslugdate_created +4 | idle | view |
masteriyo/order-createCreate Order Create a new course purchase order. Requires customer_id and course_ids (array of course IDs). Optionally accepts payment_method and coupon_code. Returns the created order object with its ID and total. | masteriyo-lms | read | statuscurrencycustomer_idpayment_method +4 | idle | view |
masteriyo/order-deleteDelete Order Delete an order. Requires id (order ID). Optionally accepts force (boolean, permanently removes the order when true). Returns the deleted order object. | masteriyo-lms | read | id | idle | view |
masteriyo/order-getGet Order Retrieve a single order by its ID. Requires id (order ID). Returns the full order object including status, total, customer details, and line items. | masteriyo-lms | read | id | idle | view |
masteriyo/order-listList Orders Retrieve a paginated list of course orders. Optionally filter by status, customer_id, or date range. Returns data array and pagination metadata (total, total_pages, page, per_page). | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/order-updateUpdate Order Update an existing order. Requires id (order ID). Optionally accepts status (pending, completed, cancelled, refunded). Returns the updated order object. | masteriyo-lms | read | idstatuscurrencycustomer_id +4 | idle | view |
masteriyo/progress-getGet Course Progress Retrieve a course progress record by its ID. Requires id (progress ID). Returns the progress object including user_id, course_id, status (started, progress, completed), and completion percentage. | masteriyo-lms | read | id | idle | view |
masteriyo/progress-updateUpdate Course Progress Update a student's course progress record. Requires id (progress ID). Accepts status (started, progress, completed). Returns the updated progress object. | masteriyo-lms | read | iduser_idcourse_idstatus +3 | idle | view |
masteriyo/question-createCreate Question Create a new question for a quiz with type, answers, and correct answer settings. | masteriyo-lms | read | nameslugdate_createddate_created_gmt +4 | idle | view |
masteriyo/question-deleteDelete Question Permanently delete a question from a quiz. | masteriyo-lms | read | idforce | idle | view |
masteriyo/question-getGet Question Retrieve a single question by ID including answer choices. | masteriyo-lms | read | id | idle | view |
masteriyo/question-listList Questions Retrieve a paginated list of questions, optionally filtered by quiz. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/question-updateUpdate Question Update an existing question text, type, or answer choices. | masteriyo-lms | read | idnameslugdate_created +4 | idle | view |
masteriyo/quiz-builder-getGet Quiz Builder Retrieve the full question list for a quiz in builder format. | masteriyo-lms | read | id | idle | view |
masteriyo/quiz-builder-saveSave Quiz Builder Save the ordered list of questions for a quiz. Provide the complete desired question structure. | masteriyo-lms | read | idquestionsconfirm_published_overwrite | idle | view |
masteriyo/quiz-cloneClone Quiz Duplicate a quiz including its questions into the same section. | masteriyo-lms | read | id | idle | view |
masteriyo/quiz-createCreate Quiz Create a new quiz inside a section. | masteriyo-lms | read | nameslugparent_idcourse_id +4 | idle | view |
masteriyo/quiz-deleteDelete Quiz Move a quiz to trash (use force=true to permanently delete). | masteriyo-lms | read | idforce | idle | view |
masteriyo/quiz-getGet Quiz Retrieve a single quiz by ID including pass mark and time limit settings. | masteriyo-lms | read | id | idle | view |
masteriyo/quiz-listList Quizzes Retrieve a paginated list of quizzes, optionally filtered by course or section. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/quiz-updateUpdate Quiz Update an existing quiz settings, title, or pass mark. | masteriyo-lms | read | idnameslugparent_id +4 | idle | view |
masteriyo/section-children-getGet Section Children Retrieve all lessons and quizzes belonging to a section. | masteriyo-lms | read | idcontextpageper_page +4 | idle | view |
masteriyo/section-createCreate Section Create a new section inside a course. | masteriyo-lms | read | namedate_createddate_created_gmtdescription +4 | idle | view |
masteriyo/section-deleteDelete Section Move a section to trash (use force=true to permanently delete). | masteriyo-lms | read | idforce | idle | view |
masteriyo/section-getGet Section Retrieve a single section by ID. | masteriyo-lms | read | id | idle | view |
masteriyo/section-listList Sections Retrieve a paginated list of sections, optionally filtered by course. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/section-updateUpdate Section Update an existing section title or order. | masteriyo-lms | read | idnamedate_createddate_created_gmt +4 | idle | view |
masteriyo/settings-getGet Settings Read all Masteriyo LMS settings. Accepts no required input. Returns the full settings object including general, payments, emails, course, quiz, and advanced configuration groups. | masteriyo-lms | read | contextname | idle | view |
masteriyo/settings-update-generalUpdate General Settings Write Masteriyo general settings (styling, pages, course listing options). Accepts a partial general settings object; only provided keys are updated. | masteriyo-lms | read | general | idle | view |
masteriyo/settings-update-quizUpdate Quiz Settings Write Masteriyo quiz settings (questions per page, passing grade, attempt limits, review visibility). Accepts a partial quiz settings object; only provided keys are updated. | masteriyo-lms | read | quiz | idle | view |
masteriyo/user-createCreate User Register a new user account. Requires username, email, and password. Optionally accepts display_name and roles. Returns the created user object with its ID. | masteriyo-lms | read | usernameold_passwordpasswordnicename +4 | idle | view |
masteriyo/user-deleteDelete User Delete a user account from the LMS. Requires id (user ID). Optionally accepts force (boolean). Returns the deleted user object. | masteriyo-lms | read | id | idle | view |
masteriyo/user-getGet User Retrieve a single user profile by their ID. Requires id (user ID). Returns the user object including display_name, email, roles, and profile metadata. | masteriyo-lms | read | id | idle | view |
masteriyo/user-listList Users Retrieve a paginated list of Masteriyo users (students and instructors). Optionally filter by role, search term, or enrollment status. Returns data array and pagination metadata. | masteriyo-lms | read | contextpageper_pagesearch +4 | idle | view |
masteriyo/user-updateUpdate User Update an existing user's profile. Requires id (user ID). Optionally accepts display_name, email, or profile fields. Returns the updated user object. | masteriyo-lms | read | idusernameold_passwordpassword +4 | idle | view |
nexter-blocks/add-tpgb-accordionAdd Nexter Blocks Accordion Adds the Nexter Blocks Accordion block (tpgb/tp-accordion) with full support for all style, layout, animation, transform, and advanced settings. | nexter-blocks | read | post_idpositionparent_block_idaccordion_items +4 | idle | view |
nexter-blocks/add-tpgb-blockquoteAdd Nexter Blocks Blockquote Adds the Nexter Blocks Blockquote block (tpgb/tp-blockquote) with full support for all style, typography, spacing, border, background, shadow, animation, transform, and advanced settings.
BEHAVIOR WHEN USER REQUESTS ALL SETTINGS:
When the user says "apply all settings", "all available settings", "with all options", or similar — you MUST actively populate EVERY parameter with contextually appropriate values. Do not leave any field empty or at its default. Invent values that make visual sense for the content topic:
- Choose colors that complement the quote content and topic
- For transforms: use subtle but visible values that suit the mood (slight rotation, gentle scale, small offset, mild skew)
- For animation: pick an entrance animation fitting the content tone
- For spacing: use consistent, balanced padding and margin
- For borders and shadows: choose styles that frame the quote elegantly
- For typography: enable it and choose a preset or size that fits the quote importance
- Always populate: textNormalColor, textHoverColor, authorNormalColor, authorHoverColor, quoteColor, quoteIcon, style, contentAlignment, enableTypography, catBgColor, catBgHoverColor, enableCatShadow, enableCatShadowHover, borderNormal, borderHover, borderRadius, HvrborderRadius, boxPadding, boxMargin, scrollAnimation, animDuration, animDelay, animEasing, globalBgColor, globalBgHoverColor, globalBorder, globalBorderHover, globalBRadius, globalBRadiusHover, globalBShadow, globalBShadowHover, globalMargin, globalPadding, globalPosition, globalClasses, globalId, globalZindex, transitionDuration, transitionFunction, transitionOrigin, rotateDeg, rotateDegHover, offsetX, offsetXHover, scaleValue, scaleValueHover, skewX, skewXHover, flipHorizontal, flipVertical, flipHorizontalHover, flipVerticalHover | nexter-blocks | read | post_idpositionparent_block_idcontent +4 | idle | view |
nexter-blocks/add-tpgb-breadcrumbsAdd Nexter Blocks Breadcrumbs Adds the Nexter Blocks Breadcrumbs block (tpgb/tp-breadcrumbs) with full support for style presets, home icon, separator icon, visibility toggles, taxonomy terms, text styling, spacing, backgrounds, borders, shadows, schema markup, animations, transforms, and advanced settings. This is a dynamic block — breadcrumb links are generated automatically based on the current page context. | nexter-blocks | read | post_idpositionparent_block_idstyle +4 | idle | view |
nexter-blocks/add-tpgb-buttonAdd Nexter Blocks Button Adds the Nexter Blocks Button block (tpgb/tp-button) with 23 style presets, icon support, hover effects, typography, colours, backgrounds, borders, shadows, shake animation, content hover effects, modal popup, animations, transforms, and advanced settings. Typography is set via top-level params (enableTypography, fontFamily, fontType, fontWeight, textDecoration, typoSize) — pass them directly here, do not route them through settings.texTyp. This is a dynamic block — HTML is rendered server-side. | nexter-blocks | read | post_idpositionparent_block_idstyleType +4 | idle | view |
nexter-blocks/add-tpgb-button-coreAdd Nexter Blocks Core Button Adds the Nexter Blocks Core Button block (tpgb/tp-button-core). A streamlined, modern button block with icon support (Font Awesome or image), typography, text shadow, colour, background (solid/gradient), border, border radius, box shadow, padding, alignment, animations, transforms, and advanced settings. This is the simplified counterpart to tpgb/tp-button — use this for clean, modern buttons. | nexter-blocks | read | post_idpositionparent_block_idbtnText +4 | idle | view |
nexter-blocks/add-tpgb-code-highlighterAdd Nexter Blocks Code Highlighter Adds the Nexter Blocks Code Highlighter block (tpgb/tp-code-highlighter) with PrismJS syntax highlighting, 40+ languages, 8 themes, copy/download buttons, line numbers, line highlighting, scrollbar customisation, and full style/animation/transform controls. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idlanguageType +4 | idle | view |
nexter-blocks/add-tpgb-containerAdd Nexter Blocks Container Adds the Nexter Blocks Container block (tpgb/tp-container) — a layout container that segments pages into rows. Supports flex and grid layouts, content width (wide/full), min-height, gutter spacing, flex direction/align/justify/wrap, background, border, box shadow, shape dividers, wrapper link, margin, padding, z-index, overflow, custom tag, responsive visibility, and custom CSS. This is a dynamic block that accepts inner blocks (nested content). | nexter-blocks | read | post_idpositionparent_block_idcontentWidth +4 | idle | view |
nexter-blocks/add-tpgb-container-innerAdd Nexter Blocks Inner Container Adds the Nexter Blocks Inner Container block (tpgb/tp-container-inner) — a column wrapper used inside tp-container. Supports width, min-height, flex layout, background, border, box shadow, margin, padding, wrapper link, responsive visibility, and custom CSS. This block accepts inner blocks (nested content). | nexter-blocks | read | post_idpositionparent_block_idwidth +4 | idle | view |
nexter-blocks/add-tpgb-countdownAdd Nexter Blocks Countdown Adds the Nexter Blocks Countdown block (tpgb/tp-countdown) with 3 style presets (Simple, Flipdown, Progressbar), target date/time, expiry actions, custom labels, per-unit colours/backgrounds/borders, counter/label typography, progress bar stroke/trail settings, and full animation/transform/advanced controls. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idstyle +4 | idle | view |
nexter-blocks/add-tpgb-creative-imageAdd Nexter Blocks Creative Image Adds the Nexter Blocks Creative Image block (tpgb/tp-creative-image) with image selection by URL or media ID, alignment, width control, float alignment, image size, caption toggle, scroll reveal animation, scrolling image effect, mask image shape, scroll parallax, lightbox popup, link wrapper, CSS filters (normal/hover), border, border radius, box shadow, and full animation/transform/advanced controls. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idimageUrl +4 | idle | view |
nexter-blocks/add-tpgb-dark-modeAdd Nexter Blocks Dark Mode Adds the Nexter Blocks Dark Mode block (tpgb/tp-dark-mode) — a light/dark theme toggle switcher with 3 style presets, icon customisation (light/dark icons), cookie persistence, OS theme matching, position control (relative/absolute/fixed), and full styling controls for switch track, dot, and before/after text labels. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idstyle +4 | idle | view |
nexter-blocks/add-tpgb-data-tableAdd Nexter Blocks Data Table Adds the Nexter Blocks Data Table block (tpgb/tp-data-table) — a feature-rich table with custom headers and body rows, search, sort, filter, mobile responsive modes, alignment per cell, stripe effect, per-state colours (normal/row-hover/cell-hover) for both header and body, borders, button cells, icon/image cells, and full styling controls. This is a dynamic block.
IMPORTANT: Pass `headers` as a simple array of column header strings and `rows` as a 2D array where each inner array is a row of cell values. The ability will automatically build the required internal structure with row/cell markers. | nexter-blocks | read | post_idpositionparent_block_idcontentType +4 | idle | view |
nexter-blocks/add-tpgb-draw-svgAdd Nexter Blocks Draw SVG Adds the Nexter Blocks Draw SVG block (tpgb/tp-draw-svg) — an animated SVG drawing block with pre-built icons or custom SVG upload, stroke/fill colour control, draw animation types (delayed, sync, oneByOne), duration, hover/scroll triggers, alignment, max width, and link wrapper. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idsvgSource +4 | idle | view |
nexter-blocks/add-tpgb-flipboxAdd Nexter Blocks Flipbox Adds the Nexter Blocks Flipbox block (tpgb/tp-flipbox) — a card that flips horizontally or vertically on hover to reveal back content. Supports icon/image/SVG front display, title with custom tag, description, back-side button with link, carousel back content, comprehensive styling for front/back states (typography, colours, backgrounds, borders, shadows, overlays), icon styling (size, colours, shadows), and full animation/transform/advanced controls. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idlayoutType +4 | idle | view |
nexter-blocks/add-tpgb-form-blockAdd Nexter Blocks Form Block Adds the Nexter Blocks Form Block (tpgb/tp-form-block) — a contact/lead form container. Supports layout styles, email actions (To/CC/BCC/Subject), auto-response message, redirect on submit, meta data collection, comprehensive styling for labels, inputs, placeholders, buttons, checkboxes/radios, select dropdowns, success/error messages, loader, form alignment, row/column gaps, and full animation/transform/advanced controls. This is a dynamic block that accepts form field inner blocks (name, email, textarea, checkbox, radio, select, submit button, etc.). | nexter-blocks | read | post_idpositionparent_block_idlayoutType +4 | idle | view |
nexter-blocks/add-tpgb-form-checkbox-buttonAdd Form Checkbox Group Adds a checkbox group field inside a Nexter Form Block. Must be placed inside tpgb/tp-form-block using parent_block_id. | nexter-blocks | read | post_idpositionparent_block_idlabel +4 | idle | view |
nexter-blocks/add-tpgb-form-email-fieldAdd Form Email Field Adds an email input field inside a Nexter Form Block. Must be placed inside tpgb/tp-form-block using parent_block_id. | nexter-blocks | read | post_idpositionparent_block_idlabel +4 | idle | view |
nexter-blocks/add-tpgb-form-hidden-fieldAdd Form Hidden Field Adds a hidden input field inside a Nexter Form Block. Useful for passing context values with submissions. Must be placed inside tpgb/tp-form-block using parent_block_id. | nexter-blocks | read | post_idpositionparent_block_idfieldName +1 | idle | view |
nexter-blocks/add-tpgb-form-message-fieldAdd Form Message Field Adds a multi-line textarea field inside a Nexter Form Block. Must be placed inside tpgb/tp-form-block using parent_block_id. | nexter-blocks | read | post_idpositionparent_block_idlabel +4 | idle | view |
nexter-blocks/add-tpgb-form-name-fieldAdd Form Name Field Adds a text input field for names inside a Nexter Form Block. Must be placed inside tpgb/tp-form-block using parent_block_id. | nexter-blocks | read | post_idpositionparent_block_idlabel +4 | idle | view |
nexter-blocks/add-tpgb-form-number-fieldAdd Form Number Field Adds a number input field inside a Nexter Form Block. Must be placed inside tpgb/tp-form-block using parent_block_id. | nexter-blocks | read | post_idpositionparent_block_idlabel +4 | idle | view |
nexter-blocks/add-tpgb-form-option-fieldAdd Form Select Dropdown Adds a select dropdown field inside a Nexter Form Block with custom options. Must be placed inside tpgb/tp-form-block using parent_block_id. | nexter-blocks | read | post_idpositionparent_block_idlabel +4 | idle | view |
nexter-blocks/add-tpgb-form-radio-buttonAdd Form Radio Group Adds a radio button group field inside a Nexter Form Block. Must be placed inside tpgb/tp-form-block using parent_block_id. | nexter-blocks | read | post_idpositionparent_block_idlabel +4 | idle | view |
nexter-blocks/add-tpgb-form-submit-buttonAdd Form Submit Button Adds the submit button inside a Nexter Form Block. Every form needs exactly one submit button. Must be placed inside tpgb/tp-form-block using parent_block_id. | nexter-blocks | read | post_idpositionparent_block_idlabel +4 | idle | view |
nexter-blocks/add-tpgb-google-mapAdd Nexter Blocks Google Map Adds the Nexter Blocks Google Map block (tpgb/tp-google-map) — an interactive Google Map with multiple location pins, map type (roadmap/satellite/hybrid/terrain), zoom level, map controls (zoom/pan/fullscreen/street view/scale/map type), scroll wheel/drag behaviour, custom map styles, and full styling controls. Supports lat/long coordinates or address-based location pins with custom pin icons. This is a dynamic block.
NOTE: Requires a Google Maps API key to be configured in Nexter settings. | nexter-blocks | read | post_idpositionparent_block_idlocations +4 | idle | view |
nexter-blocks/add-tpgb-headingAdd Nexter Blocks Heading Adds a NEXTER BLOCKS Heading block (tpgb/tp-heading). Use this — NOT the WordPress core heading block — whenever the user asks to add a heading on a Nexter Blocks site. Typography is set via top-level params (enableTypography, fontFamily, fontType, fontWeight, textDecoration, lineHeight, letterSpacing, typoSize) — pass them directly here, do not route them through settings.tTypo. Also supports colours, stroke, shadow, blend mode, animations, transforms, spacing, background, border, and advanced position/visibility controls. | nexter-blocks | read | post_idpositionparent_block_idtitle +4 | idle | view |
nexter-blocks/add-tpgb-heading-titleAdd Nexter Blocks Heading Title Adds the Nexter Blocks Heading Title block (tpgb/tp-heading-title) — a COMPOSITE heading that combines a main title, optional sub-title, and extra title (pre-title) with separators, animations (letter/word split), and rich styling. Different from tpgb/tp-heading which is a simple single heading. Use this for hero section titles, section headers with sub-text, decorative headings with icon separators, or animated text reveals.
Supports 15+ style variants, character/word limits with ellipsis, split-text animations (words/chars/lines), separator customisation (line/icon/image), per-element typography & colours (title/subTitle/extraTitle), gradient text, text stroke, backgrounds, borders, shadows, and full animation/transform/advanced controls. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idtitle +4 | idle | view |
nexter-blocks/add-tpgb-hovercardAdd Nexter Blocks Hover Card Adds the Nexter Blocks Hover Card block (tpgb/tp-hovercard) — a flexible HTML structure builder that creates hoverable card layouts by composing nested HTML tags (div, a, span, p, h1-h6) with content types (text, image, custom HTML, or container-only). Each card is built from a list of "items" where each item is either an open tag, close tag, or content element. Supports per-element positioning, typography, shadows, backgrounds, borders, and link wrappers. This is a dynamic block.
USAGE: Pass a "cards" array of item objects. Each item represents one HTML element:
- { openTag: "div", content: "none" } → starts a div container
- { openTag: "a", aLink: {url: "..."}, content: "none" } → starts an anchor
- { openTag: "h3", content: "text", cntText: "Title" } → opens h3 with text
- { content: "text", cntText: "Some text" } → standalone text
- { content: "img", imageUrl: "..." } → an image element
- { closeTag: "close" } → closes the most recent open tag
IMPORTANT: Every openTag must have a matching closeTag in the correct order (nested properly). | nexter-blocks | read | post_idpositionparent_block_idcards +4 | idle | view |
nexter-blocks/add-tpgb-icon-boxAdd Nexter Blocks Icon Box Adds the Nexter Blocks Icon Box block (tpgb/tp-icon-box) — a decorative icon display block supporting Font Awesome icons or SVG icons with view styles (default/stacked/framed), link wrapper, colour/size/rotation/padding/border controls, and full animation/transform/advanced settings. Lighter-weight than tpgb/tp-flipbox — for simple decorative icon placements. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idiconType +4 | idle | view |
nexter-blocks/add-tpgb-imageAdd Nexter Blocks Image Adds the Nexter Blocks Image block (tpgb/tp-image) — a standard image display block with caption support (default or custom), link wrapper, size/width/height control, object-fit, opacity, CSS filters (normal + hover), border, border radius, box shadow, caption typography/colour/background/alignment, lazy-load toggle, and position controls. Lighter and simpler than tpgb/tp-creative-image — use this for straightforward image placements. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idimageUrl +4 | idle | view |
nexter-blocks/add-tpgb-infoboxAdd Nexter Blocks Info Box Adds the Nexter Blocks Info Box block (tpgb/tp-infobox) — a versatile feature/service card with icon/image/SVG/text icon, title, description, pin badge, optional CTA button, link wrapper, and extensive styling. Supports 10+ style variants (style-1 through style-10+), listing/carousel layouts, icon display styles (none/stacked/framed), gradient text/icons, overlays, separator lines, full colour/typography/spacing/border/shadow control for all elements, and full animation/transform/advanced settings. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idlayoutType +4 | idle | view |
nexter-blocks/add-tpgb-interactive-circle-infoAdd Nexter Blocks Interactive Circle Info Adds the Nexter Blocks Interactive Circle Info block (tpgb/tp-interactive-circle-info) — an interactive circular display where items arranged around a circle reveal associated content on hover/click. Supports 5+ style presets, multiple items with icon/image, title, description, CTA button, auto-rotation, continuous rotation, entry/exit animations, full styling for normal/hover/active states for circles, icons, content panel, button, and indicator line. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idstyle +4 | idle | view |
nexter-blocks/add-tpgb-messageboxAdd Nexter Blocks Message Box Adds the Nexter Blocks Message Box block (tpgb/tp-messagebox) — an alert/notification/callout box with title, optional description, optional icon (prefix/suffix), dismiss button, arrow pointer, and comprehensive styling for icon, dismiss button, title/description, and box. Use for alerts, warnings, success messages, info callouts, or announcements. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idtitle +4 | idle | view |
nexter-blocks/add-tpgb-navigation-builderAdd Nexter Blocks Navigation Builder Adds the Nexter Blocks Navigation Builder block (tpgb/tp-navigation-builder) — a complete menu builder with horizontal/vertical/side layouts, multi-level menu items (with submenu depth), icons per item, hover/click activation, sticky menu, responsive hamburger/dropdown, custom toggle styles, and comprehensive styling for menu items (normal/hover/active), submenus, and responsive views. Can pull from existing WordPress menu by name or build a custom menu via items array. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idmenuSource +4 | idle | view |
nexter-blocks/add-tpgb-number-counterAdd Nexter Blocks Number Counter Adds the Nexter Blocks Number Counter block (tpgb/tp-number-counter) — an animated counter that counts up from a start value to a target value when scrolled into view. Perfect for showcasing statistics, achievements, or metrics. Supports 2 style presets (icon+counter side-by-side), numeration format, pre/post symbols (like $ or %), icon/image/SVG, link wrapper, and comprehensive styling. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idstyle +4 | idle | view |
nexter-blocks/add-tpgb-post-authorAdd Nexter Blocks Post Author Adds the Nexter Blocks Post Author block (tpgb/tp-post-author) — automatically displays the current post's author details including name, role, bio, avatar, and social links. Ideal for blog post bylines or author bio sections at the end of articles. Supports 3+ style presets, show/hide each element, and comprehensive styling. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idstyle +4 | idle | view |
nexter-blocks/add-tpgb-post-commentAdd Nexter Blocks Post Comment Adds the Nexter Blocks Post Comment block (tpgb/tp-post-comment) — displays the WordPress comments list with nested replies AND a comment submission form. Automatically pulls comments for the current post. Supports custom labels, comprehensive styling for user avatars, names, metadata (date), reply buttons, input fields, and submit button. Use at the bottom of blog posts. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idcommentTitle +4 | idle | view |
nexter-blocks/add-tpgb-post-contentAdd Nexter Blocks Post Content Adds the Nexter Blocks Post Content block (tpgb/tp-post-content) — displays the current post's content, excerpt, or archive term description. Supports character/word limits with ellipsis, comprehensive text/container styling. Ideal for dynamic post templates where the content area auto-populates based on the current post. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idsourceType +4 | idle | view |
nexter-blocks/add-tpgb-post-imageAdd Nexter Blocks Post Image Adds the Nexter Blocks Post Image block (tpgb/tp-post-image) — automatically displays the current post's featured image in default mode (inline image) or background mode (applies to section/body/container). Supports image size, alignment, max width, background positioning, border/shadow styling, lightbox popup. Use in post templates. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idimageMode +4 | idle | view |
nexter-blocks/add-tpgb-post-listingAdd Nexter Blocks Post Listing Adds the Nexter Blocks Post Listing block (tpgb/tp-post-listing) — a powerful post grid/list/metro with filters, pagination, excerpt, meta info (author/date/category), featured image with hover effects, and read more button. Supports multiple layouts (grid/list/metro), custom post types, taxonomy filters, order/offset, category filter UI, and extensive styling for every element. Use for blog listings, portfolios, product grids. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idsourceMode +4 | idle | view |
nexter-blocks/add-tpgb-post-metaAdd Nexter Blocks Post Meta Adds the Nexter Blocks Post Meta block (tpgb/tp-post-meta) — displays post metadata: date, category, author, comments count, and reading time. Each element can be individually toggled, styled (colours, icons, prefixes), and customised with separators. Ideal for blog post info bars below titles. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idmetaLayout +4 | idle | view |
nexter-blocks/add-tpgb-post-titleAdd Nexter Blocks Post Title Adds the Nexter Blocks Post Title block (tpgb/tp-post-title) — displays the current post title with optional prefix/suffix, link wrapper, custom HTML tag, character/word limit, and comprehensive styling for title and prefix/suffix text. Use in post templates or at the top of articles. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idsourceType +4 | idle | view |
nexter-blocks/add-tpgb-pricing-listAdd Nexter Blocks Pricing List Adds the Nexter Blocks Pricing List block (tpgb/tp-pricing-list) — a single pricing row/menu item with title, description, price tag, feature tags (size/options), and optional image. Ideal for menus (food/drink), service lists, product catalogs. Supports 3 style presets, dotted line between title and price, multiple hover effects, image shapes/masks, and comprehensive styling. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idstyle +4 | idle | view |
nexter-blocks/add-tpgb-pricing-tableAdd Nexter Blocks Pricing Table Adds the Nexter Blocks Pricing Table block (tpgb/tp-pricing-table) — a full pricing plan card with title/subtitle, icon, price with pre/post text, strike-through previous price, features list (WYSIWYG content or stylish list), CTA button, ribbon/badge, and extensive styling for each element. Use for SaaS pricing, membership plans, service packages. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idstyle +4 | idle | view |
nexter-blocks/add-tpgb-pro-paragraphAdd Nexter Blocks Pro Paragraph Adds the Nexter Blocks Pro Paragraph block (tpgb/tp-pro-paragraph) — an advanced text/paragraph block with optional title, multi-column text, drop cap styling (letter-style or boxed), link colours, text shadows, typography controls, and custom HTML tags. Use for magazine-style articles, blog intros, or rich text sections. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idshowTitle +4 | idle | view |
nexter-blocks/add-tpgb-progress-barAdd Nexter Blocks Progress Bar Adds the Nexter Blocks Progress Bar block (tpgb/tp-progress-bar) — an animated skill/progress indicator with 3 layout types: horizontal progress bar, circle/pie chart, and radial progress. Supports title, subtitle, number display, icon/image, customizable colours (fill/empty/separator), height variants, and full animation/transform/advanced settings. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idlayoutType +4 | idle | view |
nexter-blocks/add-tpgb-progress-trackerAdd Nexter Blocks Progress Tracker Adds the Nexter Blocks Progress Tracker block (tpgb/tp-progress-tracker) — a scroll-based progress indicator showing how much of the page/content has been viewed. Supports 3 display types (horizontal bar at top/bottom, vertical bar on left/right, circular indicator in corner), optional pin points for chapter/section markers, percentage text, and comprehensive styling. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idprogressType +4 | idle | view |
nexter-blocks/add-tpgb-search-barAdd Nexter Blocks Search Bar Adds the Nexter Blocks Search Bar block (tpgb/tp-search-bar) — a powerful AJAX-powered search form with live suggestions, filters, result preview cards, taxonomy filters, pagination/load-more, custom post types, and extensive styling for input field, select dropdowns, submit button, and results area. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idsearchLabel +4 | idle | view |
nexter-blocks/add-tpgb-site-logoAdd Nexter Blocks Site Logo Adds the Nexter Blocks Site Logo block (tpgb/tp-site-logo) — dynamic site-wide logo with single or double (normal + hover) display modes, image or SVG source, sticky-header logo variant, width control per breakpoint, alignment, link target (home/custom/none), schema markup, and ARIA label. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_iddisplayMode +4 | idle | view |
nexter-blocks/add-tpgb-smooth-scrollAdd Nexter Blocks Smooth Scroll Adds the Nexter Blocks Smooth Scroll block (tpgb/tp-smooth-scroll) — a site-wide smooth-scrolling effect controller with configurable animation time, step size, time multiplier, wheel normalisation, easing curve, infinite scroll, smooth navigation, custom cubic-bezier easing, and viewport selector. This block has no visible output — it just applies the scroll effect to the page. | nexter-blocks | read | post_idpositionparent_block_idanimationTime +4 | idle | view |
nexter-blocks/add-tpgb-social-embedAdd Nexter Blocks Social Embed Adds the Nexter Blocks Social Embed block (tpgb/tp-social-embed) — embeds posts/videos/pages/buttons from Facebook (posts/videos/comments/like-button/page/share-button), Twitter (timeline/tweet/buttons/collection/list), Instagram (posts/profile), YouTube (single video/playlist/username), Vimeo (video), and Google Maps (place/directions/streetview/search/view). Each network has its own dedicated parameter set; only fill in the ones for the chosen embedType. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idembedType +4 | idle | view |
nexter-blocks/add-tpgb-social-iconsAdd Nexter Blocks Social Icons Adds the Nexter Blocks Social Icons block (tpgb/tp-social-icons) — a list of social-media icons with 16 visual styles, per-icon network/icon/image/URL/title/colors/tooltip, hover-style presets (faded/etc), alignment, gap, padding, sizing, border, radius, shadow, title typography, and Tippy tooltip controls. Provide an array of `socialIcons` to fully control each item; otherwise the default Facebook/YouTube/Twitter set is used. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idstyle +4 | idle | view |
nexter-blocks/add-tpgb-stylist-listAdd Nexter Blocks Stylish List Adds the Nexter Blocks Stylish List block (tpgb/tp-stylist-list) — bullet/icon list with per-item icon (FA, image, SVG), URL, hint/pin badge, and tooltip; supports vertical/horizontal layout, read-more toggle (collapse N items + show-all/less), separator, advanced icon styling (size/border/radius/bg/shadow normal+hover), text styling (typo, padding, border/radius/bg/shadow normal+hover), pin/hint badge styling (placement, typo, bg, padding, dimensions), Tippy tooltip controls, hover-inverse fade effect. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_iditems +4 | idle | view |
nexter-blocks/add-tpgb-switcherAdd Nexter Blocks Switcher Adds the Nexter Blocks Switcher block (tpgb/tp-switcher) — a 2-state toggle that swaps between two content panels. Each panel can be plain text/HTML (`source = content`) or a saved Gutenberg template (`source = editor`). Comes with 2 visual styles, optional FA icons on each label, alignment, label spacing, toggle size, switch-track and indicator colours (active/inactive), label typography & colours per state, description typography & colours per state, and shadow on the indicator. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idtitle1 +4 | idle | view |
nexter-blocks/add-tpgb-tabs-toursAdd Nexter Blocks Tabs Tours Adds the Nexter Blocks Tabs Tours block (tpgb/tp-tabs-tours) — multi-tab/tour navigation panel where each tab has a title, optional inline content or saved Gutenberg template, optional inner & outer FA icon (or image). Supports horizontal/vertical layout, nav position (top/bottom/left/right), swiper effect, equal-width navs, columned vertical nav, mobile-accordion fallback, active-tab default, full styling for nav buttons (normal+active), nav bar wrapper (normal+hover), tab content area, underline indicator, and per-icon controls. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idtabs +4 | idle | view |
nexter-blocks/add-tpgb-team-listingAdd Nexter Blocks Team Member Adds the Nexter Blocks Team Member block (tpgb/tp-team-listing) — grid/carousel team showcase. Each member has photo, name, designation, category, custom URL, and 7 social channels (website, FB, IG, Twitter, LinkedIn, Mail, Phone). Supports grid/messy/slider layouts, columns per breakpoint, alignment, title tag, name typography & colors (normal+hover), designation typography & colors, social icon size/bg-size/colors (normal+hover), image margin/padding/radius/bg/filter/shadow (normal+hover), card box padding/border/radius/bg/shadow (normal+hover), content padding. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idmembers +4 | idle | view |
nexter-blocks/add-tpgb-testimonialsAdd Nexter Blocks Testimonials Adds the Nexter Blocks Testimonials block (tpgb/tp-testimonials) — grid or carousel of customer testimonials. Each item has author name, designation, content/quote, author title overlay, and avatar image. Supports 3 visual styles, columns per breakpoint, content height limit (with hover/always scrollbars or read-more truncation), full styling for box (margin/padding/border/radius/bg/shadow normal+hover), title/author/designation/content typography & colors (normal+hover), avatar max-width/radius/shadow (normal+hover), Read-more button styling, scroll bar styling, and carousel pagination dots colour controls. This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_iditems +4 | idle | view |
nexter-blocks/add-tpgb-videoAdd Nexter Blocks Video Adds the Nexter Blocks Video block (tpgb/tp-video) — embeds a YouTube, Vimeo, or self-hosted MP4 video with custom thumbnail/banner mode, optional popup (lightbox) playback, custom play-icon image, video title & description overlay (with typography & colour), continuous animations (pulse/rotate/drop_waves) for the play icon, video container border/radius/shadow + hover, transform, schema markup, and provider-specific options (autoplay, mute, loop, controls, modest branding, privacy mode, Vimeo title/portrait/byline, etc.). This is a dynamic block. | nexter-blocks | read | post_idpositionparent_block_idvideoType +4 | idle | view |
nexter-blocks/create-tpgb-button-presetCreate Nexter Blocks Button Preset Creates a new button preset in the global preset store. The preset becomes immediately available in the inspector picker on every button block (tp-button-core, tp-button, tp-post-comment, etc.) and the plus-button-presets.css :root variables refresh on the next page load. | nexter-blocks | read | nametextColortextHoverColorborderHoverColor +4 | idle | view |
nexter-blocks/delete-tpgb-button-presetDelete Nexter Blocks Button Preset Removes a button preset from the global preset store. Existing button blocks that referenced this preset will keep their stamped var() refs in the post HTML — those refs simply stop resolving, so the block falls back to its default values until edited. | nexter-blocks | read | preset_key | idle | view |
nexter-blocks/get-doc-creator-skillGet Nexter Doc Post Creator Skill Guide Returns a procedural guide for creating a structured Nexter Blocks documentation post in WordPress. Call this whenever the user asks to create, write, build, or publish documentation / a tutorial / a how-to post for an existing Nexter Blocks feature or block — e.g. "create a doc post for [block name]", "write a Nexter doc page", "build a documentation post", "make a tutorial post for [block]". The returned guide enforces the canonical section order (Breadcrumb → Key Takeaways → TOC → Intro → CTA → Required Setup → Video → Activation → Key Features → Dynamic Sections → Styling), uses only Nexter Blocks widgets (never Elementor), leaves image placeholders for manual screenshot upload, and skips optional sections cleanly when their inputs are absent. Skipping this step leads to inconsistent doc structure, missing sections, and accidental use of non-Nexter blocks. | nexter-blocks | read | — | idle | view |
nexter-blocks/get-image-to-page-skillGet Image-to-Page Skill Guide Returns a procedural guide for converting a layout image into a Nexter Blocks Gutenberg page. Call this whenever the user provides a screenshot, mockup, or design image and asks to recreate, build, match, convert, or "make this" as a WordPress page using nexter-blocks/* abilities — but only AFTER nexter-blocks/get-performance-skill has been called for the session, so the build respects the performance budget. The returned guide instructs how to analyze the image (palette, typography, spacing), plan the block tree, build in the correct outer-to-inner order, and verify the result. Skipping this step typically reduces visual fidelity to under 60%. | nexter-blocks | read | — | idle | view |
nexter-blocks/get-performance-skillGet Performance Skill Guide Returns a procedural guide that enforces performance-conscious rules for every Nexter Blocks page build. CALL THIS FIRST — before nexter-blocks/get-image-to-page-skill, nexter-blocks/inspect-page, or any nexter-blocks/add-tpgb-* ability — at the very start of every session that will create, edit, or recreate a Gutenberg page with Nexter Blocks. The guide enforces an image-weight budget, a Google-Fonts cap, animation/effect limits, correct lazy-loading defaults, and Core Web Vitals (LCP, CLS, INP) checks. Skipping this step is the leading cause of slow pages: heavy hero images, four font families, and four blocks with scroll animations on the same screen. | nexter-blocks | read | — | idle | view |
nexter-blocks/get-tpgb-button-presetGet Nexter Blocks Button Preset Returns the full attribute object for one button preset, identified by its preset_key (e.g. "btnpreset_12345678"). | nexter-blocks | read | preset_key | idle | view |
nexter-blocks/get-typography-skillGet Typography Skill Guide Returns the authoritative recipe for applying fontWeight and textDecoration on any Nexter Blocks typographic block. CALL THIS RIGHT AFTER nexter-blocks/get-performance-skill — before nexter-blocks/inspect-page or any nexter-blocks/add-tpgb-* ability — whenever the build involves a non-default font weight, any text decoration, or any typography setting beyond plain fontFamily. Every typography-bearing add-tpgb-* ability now accepts fontWeight ("100"…"900") and textDecoration (none / underline / overline / line-through) as proper TOP-LEVEL parameters — pass them directly. For multi-typo-group blocks (infobox, pricing-table, accordion, etc.) the top-level values apply uniformly to every typography group on the block. Use the settings raw override (camelCase keys are preserved) or sprout/update-element only when different groups must have different settings. The guide also pins the exact tTypo JSON shape — fontWeight nested inside fontFamily, textDecoration sibling of fontFamily — and lists the AI mistakes (weight outside fontFamily, font-weight key, partial typo objects) to avoid. | nexter-blocks | read | — | idle | view |
nexter-blocks/inspect-pageInspect Page (URL → typography & palette) Fetches a public URL and returns the typography (Google Fonts families, weights), inline-style colors, page title, OG metadata, and every asset URL found in the HTML — images (including srcset variants), CSS background-images, <video>/<source> URLs, and YouTube/Vimeo iframe embeds. CALL THIS FIRST whenever the user provides a URL and asks to recreate the page or match its style — the returned data is concrete CSS, not a guess from pixels, and dramatically improves font/color/asset fidelity. Pair with nexter-blocks/get-image-to-page-skill (or nexter-blocks-pro/get-image-to-page-skill). | nexter-blocks | read | urlmaxImages | idle | view |
nexter-blocks/list-tpgb-button-presetsList Nexter Blocks Button Presets Lists every saved button preset in the active store. Returns the preset key, human name, and a small visual summary (text colour, background colour, border radius) for each entry. | nexter-blocks | read | — | idle | view |
nexter-blocks/update-tpgb-button-presetUpdate Nexter Blocks Button Preset Updates an existing button preset. Only the fields you pass are changed — anything you omit is preserved. Pass `name` to rename. Pass any visual-style field (bgColor, padding, …) to overwrite that one attribute on the preset. | nexter-blocks | read | preset_keynametextColortextHoverColor +4 | idle | view |
ninjaforms/add-actionAdd Action Adds an action to a form (email, redirect, success message, etc.). Each action executes after form submission. SAVE ACTIONS: Save actions (type: "save") work correctly when created via this ability - they properly save form submissions to the database. You do not need to set any special parameters for save actions beyond type and label. The system automatically handles all required configuration including parent_id association. CRITICAL ACTION FIELD NAMES: Different action types use different field names for their content: "email" actions use "message" or "email_message", but "successmessage" actions use "success_msg" (NOT "message"). Using the wrong field name will cause the action to fail silently. CRITICAL MERGE TAG FORMATTING: When using merge tags like {field:key} or {calc:name} in email messages (message/email_message parameters) or success messages (success_msg parameter), always add a space before { and after }. Example: "Dear {field:name} ," not "Dear {field:name},". Merge tags that touch other characters will fail to render. EMAIL NOTIFICATIONS: Admin email notification is automatically included in default actions. For user confirmation emails, add an additional email action with "to":"{field:email_field_key}" and customize the subject and message. SUCCESS MESSAGES: Customize success messages in successmessage action type using the success_msg parameter. Default message is "Your form has been successfully submitted." - customize to match your form's purpose. FIELD KEY CONSISTENCY: When using merge tags like {field:key}, use the EXACT field key from the form. If you don't know the field keys, use ninjaforms/get-form first to retrieve all field information. Field keys typically follow the pattern "descriptive_name_1234567890123" with a 13-digit timestamp. Incorrect field keys will cause merge tags to fail silently. | forms | read | form_idtypelabelactive +4 | idle | view |
ninjaforms/add-calculationAdd Calculation Adds a calculation to a form. Calculations can be used in calc fields and conditional logic. Each calculation requires "name" (unique identifier used in {calc:name} merge tags), "formula" (equation using {field:key} references and operators +, -, *, /, ()), and optionally "decimal_places" for result precision. Equation syntax: {field:field_key} for field values, {calc:name} for other calculation results, standard math operators. Note: Merge tags inside formulas do NOT need spacing (parsed differently than text content). Display calculation results using HTML fields with properly spaced merge tags: {"type":"html","default":"<h3>Result: $ {calc:total} </h3>"}. Store results in hidden fields if needed for submission records. FIELD KEY CONSISTENCY: When creating calculation formulas with {field:key} references, use the EXACT field keys from the form. If you don't know the field keys, use ninjaforms/get-form first to retrieve all field information. Field keys typically follow the pattern "descriptive_name_1234567890123" with a 13-digit timestamp. Incorrect field keys will cause calculations to fail or return zero. | forms | read | form_idnameformuladecimal_places +2 | idle | view |
ninjaforms/add-fieldAdd Field Adds a field to an existing Ninja Forms form. Use the form_id returned by ninjaforms/create-form to add fields. Call this ability multiple times to add multiple fields to a form. CRITICAL MERGE TAG FORMATTING: When adding HTML fields (type: html) that display calculations or field values using merge tags like {field:key} or {calc:name}, always add a space before { and after }. Example: "<h3>Total: $ {calc:total} </h3>" not "<h3>Total: ${calc:total}</h3>". Merge tags that touch other characters will fail to render. CRITICAL CALCULATION DISPLAY: For calculator forms, use HTML field type (NOT textbox) to display calculation results for real-time updates. Use ONE merge tag per HTML field. Example: Add separate fields like {"type":"html","label":"Monthly Payment","default":"<h3>$ {calc:monthly} </h3>"} and {"type":"html","label":"Total Cost","default":"<p>$ {calc:total} </p>"} rather than combining multiple calculations in one field. Keep HTML simple with basic tags (h3, p, strong). Complex nested structures with multiple merge tags will not update in real-time. PERSONALLY IDENTIFIABLE FIELDS: Email, phone, and address field types MUST include "personally_identifiable":true in field settings for GDPR compliance. SPAM PROTECTION: hCaptcha and reCAPTCHA fields must have "label_pos":"hidden" (the widget itself is sufficient) and should NOT be marked as required (set "required":false) - spam protection fields should never display required asterisks. Place spam protection fields before the submit button. REQUIRED FIELDS: Set "required":true for required fields, "required":false for optional fields. Default is false if not specified. FORM ORGANIZATION: Use HTML fields with bold text for section headers: {"type":"html","default":"<p><b>Section Name</b></p>"}. Use HR (divider) fields between major sections. Group related fields together. TWO-COLUMN LAYOUTS: First field in two-column set: "container_class":"one-half first". Second field: "container_class":"one-half". After the pair, return to full width or start another two-column set. PLACEHOLDER POLICY: Default to empty placeholder ("placeholder":""). Only add placeholder text when the field purpose is ambiguous or users need format examples. DO NOT add placeholders for standard fields like Name, Email, Phone, Number, or Address where the label is self-explanatory. FIELD-TYPE-SPECIFIC SETTINGS: Star rating fields (type: "starrating") require the "number_of_stars" setting (typically set to "5"). Without this setting, the stars will not render on the form. Example: {"type":"starrating","label":"Overall Satisfaction","required":true,"number_of_stars":"5"}. | forms | read | form_idtypelabelrequired +3 | idle | view |
ninjaforms/create-formCreate Form Creates a new Ninja Forms form with specified settings. Optionally include fields array to create a complete form in one call. Returns a form_id that can be used with ninjaforms/add-field to add more fields later. Automatically adds a submit button and default actions (Success Message, Admin Email, Record Submission) unless custom actions are specified. DEFAULT SAVE ACTION: The default "Record Submission" save action is automatically created and configured correctly - form submissions will be saved to the database. No workarounds or manual fixes are needed. The save action is properly initialized with all required settings including parent_id association. CRITICAL MERGE TAG FORMATTING: When using merge tags like {field:key} or {calc:name} in success_message or any text content, always add a space before { and after }. Example: "Thank you, {field:name} !" not "Thank you, {field:name}!". Merge tags that touch other characters will fail to render. CRITICAL CALCULATION DISPLAY: For calculator forms, use HTML field type (NOT textbox) to display calculation results. Use ONE merge tag per HTML field for real-time updates. Example: {"type":"html","default":"<h3>Total: $ {calc:total} </h3>"} not multiple calculations in one field. Keep HTML simple with basic tags (h3, p, strong). Avoid complex nested divs with multiple merge tags as they will not update in real-time. CALCULATION STRUCTURE: For calculator forms, define all calculations in the calculations array. Each calculation must have: "name" (string identifier), "eq" (equation using merge tags), and optionally "dec" (decimal places). Equation syntax: use {field:field_key} for field references, {calc:name} for calculation references, and operators +, -, *, /, (). Note: Merge tags inside equations do NOT need spacing (they are parsed differently than text content). Display results using HTML fields with properly spaced merge tags. Store calculation results in hidden fields if needed for submission records. FIELD KEY CONSISTENCY: When creating forms with fields, calculations, and actions in one call, ensure field keys match exactly across all components. If you specify "key":"email_1234567890123" in the fields array, use that exact key in calculations {"eq":"{field:email_1234567890123}"} and actions/success_message merge tags {field:email_1234567890123}. Field keys typically follow the pattern "descriptive_name_1234567890123" with a 13-digit timestamp. Inconsistent keys will cause merge tags and calculations to fail silently. | forms | read | titlefieldsactionsshow_title +4 | idle | view |
ninjaforms/delete-actionDelete Action REQUIRED PARAMETERS: This ability requires BOTH form_id and action_id - you cannot delete an action by providing only the action_id. If you don't know the form_id or action_id, use ninjaforms/list-actions first. Permanently deletes an action from a form. This action cannot be undone. CRITICAL: Before executing this ability, you MUST ask the user for explicit confirmation and WAIT for their positive response. Do not proceed with deletion unless the user explicitly confirms. If the user wants to temporarily disable an action instead of permanently deleting it, use ninjaforms/update-action with active: 0. IMPORTANT: If the user is attempting to delete a "save" type action (Record Submission), you MUST warn them: "With this action removed, submissions of this form will no longer be saved to the WordPress database or available under Ninja Forms > Submissions. Are you sure you want to proceed?" Wait for explicit confirmation before proceeding. | forms | read | form_idaction_id | idle | view |
ninjaforms/delete-calculationDelete Calculation Permanently deletes a calculation from a form. This action cannot be undone. CRITICAL: Before executing this ability, you MUST ask the user for explicit confirmation and WAIT for their positive response. Do not proceed with deletion unless the user explicitly confirms. | forms | read | form_idname | idle | view |
ninjaforms/delete-formDelete Form Permanently deletes a form and all associated data including fields, actions, submissions, and metadata. This action cannot be undone. CRITICAL: Before executing this ability, you MUST ask the user for explicit confirmation and WAIT for their positive response. Do not proceed with deletion unless the user explicitly confirms. | forms | read | form_id | idle | view |
ninjaforms/delete-submissionDelete Submission Deletes a submission. By default moves to trash; use permanent=true for hard delete. IMPORTANT: Trashed submissions are stored for 30 days before being permanently deleted by WordPress. During this 30-day window, there is no UI method available to restore trashed submissions - recovery requires using the AI Assistant or programmatic database access. After 30 days, trashed submissions are permanently deleted and cannot be recovered. CRITICAL: Before executing this ability, you MUST ask the user for explicit confirmation and WAIT for their positive response. Do not proceed with deletion unless the user explicitly confirms. | forms | read | submission_idpermanent | idle | view |
ninjaforms/duplicate-formDuplicate Form Creates an exact copy of a form including all fields, actions, and calculations. The duplicated form will have " (Copy)" appended to its title. | forms | read | form_idnew_title | idle | view |
ninjaforms/embed-formEmbed Form Embed a form in a post or page. This is a TWO-STEP process: STEP 1 (Discovery): Call with form_id and optionally post_title or post_id. If page exists, returns content for you to show user. Ask user which embed method (shortcode/block/metabox) and where to place it. If page not found, ask user to confirm creation. STEP 2 (Execution): Call with embed_method and placement details. For shortcode/block: parse returned content_blocks, present to user, ask for placement (before/after block X, at beginning/end). For metabox: no placement needed. The ability handles page search/creation automatically - you just guide the user through method and placement choices. | forms | read | form_idpost_idpost_titlepost_content +4 | idle | view |
ninjaforms/export-form-definitionExport Form Definition Export a form to a .nff file (Ninja Forms export format containing form settings, fields, and actions). CRITICAL: You MUST write the returned content to a local file with .nff extension - do NOT just return the JSON to the user. After calling this ability: (1) Ask the user where to save the file (e.g., Downloads folder, Desktop), (2) Use your file writing tool to save the content to that location with a .nff extension using the suggested filename from the response, (3) Confirm to the user that the .nff file has been saved. The user expects a downloadable .nff file, not raw JSON text. | forms | read | form_id | idle | view |
ninjaforms/export-submissionsExport Submissions Exports submissions to a CSV file. Always use CSV format for end users (JSON is only for advanced technical use cases). CRITICAL: You MUST write the returned content to a local file - do NOT just return the CSV text to the user. After calling this ability: (1) Ask the user where to save the file (e.g., Downloads folder, Desktop), (2) Use your file writing tool to save the CSV content to that location with an appropriate .csv filename (e.g., contact-form-submissions.csv), (3) Confirm to the user that the CSV file has been saved. The user expects a downloadable .csv file, not raw text. | forms | read | form_idformatsubmission_ids | idle | view |
ninjaforms/get-formGet Form Retrieves complete form configuration including all settings, fields, actions, and calculations. Returns full form data that can be used to understand the form structure or prepare for updates. | forms | read | form_idinclude_fieldsinclude_actionsinclude_calculations | idle | view |
ninjaforms/get-plugin-settingsGet Plugin Settings Retrieve global Ninja Forms plugin settings including date format, currency, reCAPTCHA keys, and advanced options. IMPORTANT: You MUST present the actual VALUES of the settings to the user in a readable format organized by settings category. Use the "settings_by_group" field from the response which dynamically organizes settings by their actual category headers in the Ninja Forms Settings UI (e.g., "General Settings", "reCaptcha Settings", "hCaptcha Settings", "Turnstile Settings", "Advanced Settings"). Present each category as a header followed by its settings. CRITICAL: Do NOT present the "Other" category or any settings within it - skip this category entirely when displaying settings to users. For each setting, show the setting name and its current value. CRITICAL: Use these display labels when presenting settings (never use the database field names): "allow_tracking" must be displayed as "Allow Telemetry", "load_legacy_submissions" must be displayed as "Show Legacy Submissions Page". For API keys (reCAPTCHA, hCaptcha, Turnstile), clearly indicate if they are configured (e.g., "hCaptcha Site Key: [configured]" or "hCaptcha Site Key: [not set]"). For boolean/checkbox settings, present as "Checked" or "Unchecked" based on the value (1/true = Checked, 0/false = Unchecked) - do not interpret the semantic meaning as this can vary by setting. For settings with value "[Action Available]", present them using the format "[Action Available] - {descriptive text}" with the following descriptions: delete_on_uninstall: "Delete all Ninja Forms data when plugin is uninstalled", allow_tracking: "Allow anonymous telemetry to help improve Ninja Forms", trash_expired_submissions: "Automatically move expired form submissions to trash", remove_maintenance_mode: "Use if any of your forms are still in 'Maintenance Mode' after performing any required updates". CRITICAL: If the user attempts to interact with the "Delete All Data" action (delete_on_uninstall), you MUST stop immediately, present this warning: "ALL Ninja Forms data will be removed from the database and the Ninja Forms plug-in will be deactivated. All form and submission data will be unrecoverable." Then wait for explicit user confirmation before proceeding with any deletion-related actions. | forms | read | keys | idle | view |
ninjaforms/get-public-linkGet Public Link Enable or disable public link for a form and return the URL. Public links allow anonymous access to the form without embedding. PRETTY URL FORMAT: This ability generates public links using the modern pretty URL format: /ninja-forms/{slug} where {slug} is a randomly generated 6-character alphanumeric code (lowercase letters and numbers). Example: /ninja-forms/k3caev. This matches the UI behavior and uses WordPress rewrite rules for clean, shareable URLs. The ability automatically generates both the short slug (public_link_key) and stores the full URL (public_link). IMPORTANT: After enabling the public link, you MUST provide the public_link URL from the response to the user so they can share it. Present the URL clearly and explain that they can share this link directly (via email, social media, etc.) and anyone can access the form without needing to visit a specific page on their website. | forms | read | form_idenable | idle | view |
ninjaforms/get-submissionGet Submission Retrieves detailed data for a single submission including all field values. | forms | read | submission_id | idle | view |
ninjaforms/get-submission-fieldsGet Submission Fields Retrieves field values for a submission. Optionally includes field labels and types. | forms | read | submission_idinclude_labels | idle | view |
ninjaforms/get-submissionsGet Submissions Retrieves all submissions for a form with optional filtering. | forms | read | form_idwheresubmission_ids | idle | view |
ninjaforms/import-formImport Form Import a form from .nff file content. Accepts JSON string or array containing form settings, fields, and actions. | forms | read | file_contentdecode_utf8 | idle | view |
ninjaforms/list-actionsList Actions Lists all actions configured for a form. | forms | read | form_id | idle | view |
ninjaforms/list-calculationsList Calculations Lists all calculations configured for a form. | forms | read | form_id | idle | view |
ninjaforms/list-field-typesList Field Types Returns all available Ninja Forms field types with their basic information. Useful for discovering what field types can be added to forms. | forms | read | format | idle | view |
ninjaforms/list-formsList Forms Retrieves a list of all Ninja Forms forms with their metadata. Optionally filter by title and include field/action details. | forms | read | titleinclude_fieldsinclude_actionslimit | idle | view |
ninjaforms/process-submissionProcess Submission Manually trigger action processing for an existing submission. Currently only supports email actions. | forms | read | submission_idaction_typeaction_settings | idle | view |
ninjaforms/remove-fieldRemove Field Removes a field from a form with mandatory data protection workflow. CRITICAL: This ability can ONLY process ONE field at a time. Even if the user requests removing multiple fields, you must process them individually with full confirmation workflow for each. REQUIRED WORKFLOW (MUST FOLLOW EXACTLY): STEP 1 - Check for Submission Data: When this ability is called, it automatically checks if the field has submission data. STEP 2 - Stop and Inform User: If the field has submission data, the ability will NOT proceed with removal. Instead, it returns field name, number of submissions with data, WARNING about permanent deletion, and request for user confirmation to proceed. Do NOT proceed until user explicitly confirms. STEP 3 - Export Data Automatically: Once user confirms, call this ability again. It will automatically export all field data to CSV and return export file location, sample data preview, and required confirmation phrase. STEP 4 - Require Typed Confirmation: User must type EXACTLY: "DELETE [FIELD_NAME] DATA FROM [COUNT] SUBMISSIONS". Do NOT accept "yes", "ok", "confirmed", or any variation. STEP 5 - Execute After Valid Confirmation: Call this ability a third time with the exact confirmation phrase. Only then will the field be removed. HANDLING BULK REQUESTS: If user requests removing multiple fields (e.g., "Remove all unused fields"): identify all fields, tell user you will process each individually, process FIRST field through complete workflow (Steps 1-5), after completion move to second field, repeat full workflow for each field, NEVER batch process. NEVER: process multiple fields in one call, skip warnings and confirmation, proceed without export, accept vague confirmations, or assume user intent. This ability prevents accidental data loss. Follow the workflow exactly, even if it seems repetitive. | forms | read | form_idfield_idexport_completeduser_confirmation_phrase | idle | view |
ninjaforms/reorder-fieldsReorder Fields Changes the order of fields in a form. Accepts an array of field_id => order mappings or a simple array of field IDs in the desired order. | forms | read | form_idfield_order | idle | view |
ninjaforms/update-actionUpdate Action REQUIRED PARAMETERS: This ability requires BOTH form_id and action_id - you cannot update an action by providing only the action_id. If you don't know the form_id or action_id, use ninjaforms/list-actions first. PARAMETER FORMAT: Provide settings as top-level parameters, NOT nested in a 'settings' object. Correct: {"form_id": 70, "action_id": 229, "to": "test@example.com", "subject": "New Subject"}. Incorrect: {"form_id": 70, "action_id": 229, "settings": {"to": "test@example.com"}} - this will report 'Updated 0 setting(s)' even though the action saves. Updates an existing action's settings. Use the "active" parameter to enable (active: 1) or disable (active: 0) an action without deleting it. When a user asks to "turn off", "disable", or "deactivate" an action, use this ability with active: 0 instead of deleting the action. Only use delete-action when the user explicitly requests permanent removal. IMPORTANT: If the user is attempting to disable (active: 0) a "save" type action (Record Submission), you MUST warn them: "With this action disabled, submissions of this form will no longer be saved to the WordPress database or available under Ninja Forms > Submissions. Are you sure you want to proceed?" Wait for explicit confirmation before proceeding. CRITICAL ACTION FIELD NAMES: Different action types use different field names for their content: "email" actions use "message" or "email_message", but "successmessage" actions use "success_msg" (NOT "message"). Using the wrong field name will cause the action to fail silently. CRITICAL MERGE TAG FORMATTING: When updating email messages (message/email_message parameters) or success messages (success_msg parameter) with merge tags like {field:key} or {calc:name}, always add a space before { and after }. Example: "Total: $ {calc:price} " not "Total: ${calc:price}". Merge tags that touch other characters will fail to render. FIELD KEY CONSISTENCY: When using merge tags like {field:key}, use the EXACT field key from the form. If you don't know the field keys, use ninjaforms/get-form first to retrieve all field information. Field keys typically follow the pattern "descriptive_name_1234567890123" with a 13-digit timestamp. Incorrect field keys will cause merge tags to fail silently. | forms | read | form_idaction_idlabelactive +4 | idle | view |
ninjaforms/update-calculationUpdate Calculation Updates an existing calculation's settings. Modify the calculation "formula" (equation using {field:key} references and operators +, -, *, /, ()), "decimal_places" for result precision, or formatting options. Equation syntax: {field:field_key} for field values, {calc:name} for other calculation results, standard math operators. Note: Merge tags inside formulas do NOT need spacing (parsed differently than text content). After updating, ensure calculation results are displayed using HTML fields with properly spaced merge tags: {"type":"html","default":"<h3>Result: $ {calc:total} </h3>"}. Store results in hidden fields if needed for submission records. FIELD KEY CONSISTENCY: When updating calculation formulas with {field:key} references, use the EXACT field keys from the form. If you don't know the field keys, use ninjaforms/get-form first to retrieve all field information. Field keys typically follow the pattern "descriptive_name_1234567890123" with a 13-digit timestamp. Incorrect field keys will cause calculations to fail or return zero. | forms | read | form_idnameformuladecimal_places +2 | idle | view |
ninjaforms/update-fieldUpdate Field REQUIRED PARAMETERS: This ability requires BOTH form_id and field_id - you cannot update a field by providing only the field_id. If you don't know the form_id, use ninjaforms/list-forms or ninjaforms/get-form first to identify it. Updates an existing field's settings. Only provided settings will be updated, all others remain unchanged. Supports all field configuration options available in the Ninja Forms dashboard. CRITICAL CALCULATION DISPLAY: When updating HTML fields that display calculations, use ONE merge tag per field for real-time updates. Example: {"default":"<h3>Total: $ {calc:total} </h3>"} works in real-time. Avoid multiple merge tags in one HTML field like "<div><p>{calc:a}</p><p>{calc:b}</p></div>" as this will not update in real-time. Keep HTML simple with basic tags (h3, p, strong). TWO-COLUMN LAYOUTS: First field in two-column set: "container_class":"one-half first". Second field: "container_class":"one-half". After the pair, return to full width or start another two-column set. PLACEHOLDER POLICY: Default to empty placeholder. Only add placeholder text when field purpose is ambiguous or users need format examples. DO NOT add for standard fields (Name, Email, Phone, Number, Address) where label is self-explanatory. | forms | read | form_idfield_idlabelkey +4 | idle | view |
ninjaforms/update-formUpdate Form Updates an existing form's settings. Only provided settings will be updated, all others remain unchanged. Supports all form configuration options available in the Ninja Forms dashboard. | forms | read | form_idtitleshow_titleform_title_heading_level +4 | idle | view |
ninjaforms/update-plugin-settingsUpdate Plugin Settings Update one or more global Ninja Forms plugin settings. Supports all settings including date format, currency, spam protection keys, and advanced options. | forms | read | settings | idle | view |
ninjaforms/update-submissionUpdate Submission Updates field values in an existing submission. Does not trigger actions. | forms | read | submission_idfield_values | idle | view |
respira/activate_pluginwordpress_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_accordionwordpress_add_accordion Add an accordion widget to a page. | Core | write | post_iditems | idle | view |
respira/add_alertwordpress_add_alert Add an alert/notice widget to a page. | Core | write | post_idtitlecontentalert_type | idle | view |
respira/add_buttonwordpress_add_button Add a button widget to a page. | Core | write | post_idtexturlalignment | idle | view |
respira/add_counterwordpress_add_counter Add a counter/number widget to a page. | Core | write | post_idstarting_numberending_numbertitle | idle | view |
respira/add_dividerwordpress_add_divider Add a divider/separator widget to a page. | Core | write | post_idstyle | idle | view |
respira/add_formwordpress_add_form Add a form widget to a page. | Core | write | post_idform_id | idle | view |
respira/add_gallerywordpress_add_gallery Add an image gallery widget to a page. | Core | write | post_idimagescolumns | idle | view |
respira/add_headingwordpress_add_heading Add a heading widget to a page. | Core | write | post_idtitletagalignment | idle | view |
respira/add_htmlwordpress_add_html Add a custom HTML widget to a page. | Core | write | post_idhtml | idle | view |
respira/add_iconwordpress_add_icon Add an icon widget to a page. | Core | write | post_idiconalignment | idle | view |
respira/add_icon_listwordpress_add_icon_list Add an icon list widget to a page. | Core | write | post_iditems | idle | view |
respira/add_imagewordpress_add_image Add an image widget to a page. | Media | write | post_idimage_idimage_urlalt | idle | view |
respira/add_mapwordpress_add_map Add a Google Maps widget to a page. | Core | write | post_idaddresszoom | idle | view |
respira/add_menuwordpress_add_menu Add a navigation menu widget to a page. | Menus | write | post_idmenu_id | idle | view |
respira/add_pricing_tablewordpress_add_pricing_table Add a pricing table widget to a page. | Core | write | post_idtitlepricefeatures | idle | view |
respira/add_progress_barwordpress_add_progress_bar Add a progress bar widget to a page. | Core | write | post_idtitlepercent | idle | view |
respira/add_searchwordpress_add_search Add a search form widget to a page. | Core | write | post_idplaceholder | idle | view |
respira/add_sectionwordpress_add_section Add a new section container to a page. | Core | write | post_idlayoutcolumns | idle | view |
respira/add_sidebarwordpress_add_sidebar Add a sidebar widget to a page. | Core | write | post_idsidebar_id | idle | view |
respira/add_sliderwordpress_add_slider Add a slider/carousel widget to a page. | Core | write | post_idslidesautoplay | idle | view |
respira/add_social_iconswordpress_add_social_icons Add social icons widget to a page. | Core | write | post_idicons | idle | view |
respira/add_spacerwordpress_add_spacer Add a spacer widget to a page. | Core | write | post_idheight | idle | view |
respira/add_tabswordpress_add_tabs Add a tabs widget to a page. | Core | write | post_idtabs | idle | view |
respira/add_testimonialwordpress_add_testimonial Add a testimonial widget to a page. | Core | write | post_idcontentnametitle | idle | view |
respira/add_textwordpress_add_text Add a text editor widget to a page. | Core | write | post_idcontent | idle | view |
respira/add_togglewordpress_add_toggle Add a toggle widget to a page. | Core | write | post_idtitlecontent | idle | view |
respira/add_videowordpress_add_video Add a video widget to a page. | Core | write | post_idvideo_urlvideo_type | idle | view |
respira/analyze_aeowordpress_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_imageswordpress_analyze_images Analyze image optimization opportunities including missing alt text, large files, and unoptimized formats. | Media | read | pageId | idle | view |
respira/analyze_performancewordpress_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_rankmathwordpress_analyze_rankmath Analyze a page using RankMath SEO metrics when RankMath is installed. | Core | read | pageId | idle | view |
respira/analyze_readabilitywordpress_analyze_readability Analyze content readability including Flesch Reading Ease score, sentence length, and paragraph structure. | Analyzers | read | pageId | idle | view |
respira/analyze_seowordpress_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_patchwordpress_apply_builder_patch Apply Respira v2 builder patch operations using id/path/type identifiers. | Page Builder | write | builderpostIdincludeoperations | idle | view |
respira/approve_duplicatewordpress_approve_duplicate Approve a Respira duplicate and apply it live. Admin-only. | Core | read | duplicate_idforce | idle | view |
respira/assign_menu_locationwordpress_assign_menu_location Assign a menu to a theme location. | Menus | write | locationmenu_id | idle | view |
respira/batch_updatewordpress_batch_update Apply multiple element operations atomically on a single page. | Core | write | post_idoperations | idle | view |
respira/build_pagewordpress_build_page Create a new page with builder-specific declarative structure. | Content | write | titlestructurestatusbuilder | idle | view |
respira/bulk_pages_operationwordpress_bulk_pages_operation Apply operations across multiple pages with mandatory snapshots. | Content | write | page_idsoperationoptions | idle | view |
respira/check_seo_issueswordpress_check_seo_issues Check for common SEO issues and get quick recommendations. | SEO | read | pageId | idle | view |
respira/check_structured_datawordpress_check_structured_data Check schema markup and structured data (JSON-LD, microdata) for AI parsing. | Analyzers | read | pageId | idle | view |
respira/convert_html_to_builderwordpress_convert_html_to_builder Convert HTML into native builder page with fidelity report. | Page Builder | write | htmlbuilderoptions | idle | view |
respira/create_commentwordpress_create_comment Create a new comment. | Core | write | post_idauthorauthor_emailcontent +2 | idle | view |
respira/create_custom_postwordpress_create_custom_post Create a new custom post. | Content | write | typetitlecontentstatus | idle | view |
respira/create_menuwordpress_create_menu Create a new navigation menu. | Menus | write | namedescription | idle | view |
respira/create_menu_itemwordpress_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_duplicatewordpress_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_playbookcreate_playbook Save a reusable playbook on this site from a sequence of Respira tool calls, so the workflow can be run again later as a single ability (respira-playbooks/<id>). Use it when the user says "turn this into a playbook", "save this workflow", or "make this reusable". Required: id (lowercase slug starting with a letter; letters, numbers, hyphens), label (human name), steps (an ordered array of steps, each naming a Respira ability and its arguments; later steps may reference earlier outputs). Optional: description, input_schema (JSON Schema of the inputs the playbook accepts), returns. The server validates the structure and rejects cycles or unknown abilities with a specific error. The playbook is callable on the next request. | Core | write | idlabeldescriptioninput_schema +2 | idle | view |
respira/create_post_duplicatewordpress_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_termwordpress_create_term Create a new term. | Taxonomies | write | taxonomynameslugdescription +1 | idle | view |
respira/create_userwordpress_create_user Create a new user. | Users | write | usernameemailpasswordrole | idle | view |
respira/deactivate_pluginwordpress_deactivate_plugin Deactivate a plugin. Requires plugin management to be enabled in Respira settings. | Plugins | write | slug | idle | view |
respira/delete_commentwordpress_delete_comment Delete a comment. | Core | write | id | idle | view |
respira/delete_custom_postwordpress_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_mediawordpress_delete_media Delete a media file. | Media | write | id | idle | view |
respira/delete_menuwordpress_delete_menu Delete a navigation menu. | Menus | write | id | idle | view |
respira/delete_menu_itemwordpress_delete_menu_item Delete a menu item. | Menus | write | item_id | idle | view |
respira/delete_optionwordpress_delete_option Delete an option. | Core | write | option | idle | view |
respira/delete_pagewordpress_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_pluginwordpress_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_postwordpress_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_termwordpress_delete_term Delete a term. | Taxonomies | write | taxonomyid | idle | view |
respira/delete_userwordpress_delete_user Delete a user. | Users | write | idreassign | idle | view |
respira/detect_page_builderwordpress_detect_page_builder Detect which page builder a specific page is using. | Page Builder | read | id | idle | view |
respira/diff_snapshotswordpress_diff_snapshots Diff two snapshots by UUID and return fidelity hash deltas. | Snapshots | read | snapshot_uuid_asnapshot_uuid_b | idle | view |
respira/duplicate_elementwordpress_duplicate_element Duplicate an element on a page. | Page Builder | write | post_ididentifier_typeidentifier_value | idle | view |
respira/extract_builder_contentwordpress_extract_builder_content Extract structured content from a page builder (Divi, Elementor, etc.). | Page Builder | read | builderpageId | idle | view |
respira/find_builder_targetswordpress_find_builder_targets Find editable targets within a page's builder content by query. | Page Builder | read | builderpageIdquerylimit | idle | view |
respira/find_elementwordpress_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_infowordpress_get_builder_info Get information about the active page builder including available modules/widgets. | Page Builder | read | — | idle | view |
respira/get_commentwordpress_get_comment Get comment details by ID. | Core | read | id | idle | view |
respira/get_core_web_vitalswordpress_get_core_web_vitals Get Core Web Vitals metrics (LCP, FID, CLS) for a page. | Core | read | pageId | idle | view |
respira/get_custom_postwordpress_get_custom_post Get custom post details. | Content | read | typeid | idle | view |
respira/get_mediawordpress_get_media Get single media item details. | Media | read | id | idle | view |
respira/get_menuwordpress_get_menu Get a navigation menu with all its items. Includes WPML translation info if available. | Menus | read | id | idle | view |
respira/get_menu_itemwordpress_get_menu_item Get a single menu item by ID. | Menus | read | item_id | idle | view |
respira/get_optionwordpress_get_option Get option value by name. | Core | read | option | idle | view |
respira/get_post_typewordpress_get_post_type Get post type details. | Content | read | type | idle | view |
respira/get_server_compatibilitywordpress_get_server_compatibility Check plugin/MCP server version compatibility. | Core | read | — | idle | view |
respira/get_site_contextwordpress_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_snapshotwordpress_get_snapshot Get a snapshot by snapshot UUID. | Snapshots | read | snapshot_uuid | idle | view |
respira/get_taxonomywordpress_get_taxonomy Get taxonomy details. | Taxonomies | read | taxonomy | idle | view |
respira/get_termwordpress_get_term Get term details. | Taxonomies | read | taxonomyid | idle | view |
respira/get_theme_docswordpress_get_theme_docs Get theme documentation and available template files. | Core | read | — | idle | view |
respira/get_userwordpress_get_user Get user details by ID. | Users | read | id | idle | view |
respira/inject_builder_contentwordpress_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_pluginwordpress_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_commentswordpress_list_comments List all comments with optional filtering. | Core | read | statuspost_idpageperPage | idle | view |
respira/list_custom_postswordpress_list_custom_posts List posts of a custom post type. | Content | read | typestatussearchpage +1 | idle | view |
respira/list_mediawordpress_list_media List all media files (images, videos, etc.). | Media | read | searchpageperPage | idle | view |
respira/list_menu_itemswordpress_list_menu_items List all items in a menu with their hierarchy. | Menus | read | menu_id | idle | view |
respira/list_menu_locationswordpress_list_menu_locations List all registered menu locations and their assigned menus. | Menus | read | — | idle | view |
respira/list_menuswordpress_list_menus List all navigation menus. Includes WPML translation info if available. | Menus | read | — | idle | view |
respira/list_optionswordpress_list_options List WordPress options (with optional search filter). | Core | read | search | idle | view |
respira/list_pageswordpress_list_pages List all pages with optional filtering. | Content | read | statussearchpageperPage | idle | view |
respira/list_playbookslist_playbooks List the reusable playbooks saved on this site. A playbook is a saved, named workflow (an ordered sequence of Respira tool calls) that can be run again later as a single ability. Returns each playbook's id, label, description, and run count. | Core | read | — | idle | view |
respira/list_pluginswordpress_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_typeswordpress_list_post_types List all registered post types. | Content | read | — | idle | view |
respira/list_postswordpress_list_posts List all blog posts with optional filtering. | Content | read | statussearchpageperPage | idle | view |
respira/list_snapshotswordpress_list_snapshots List v2 snapshots by post/post type/kind with cursor pagination. | Snapshots | read | post_idpost_typekindlimit +1 | idle | view |
respira/list_taxonomieswordpress_list_taxonomies List all registered taxonomies. | Core | read | — | idle | view |
respira/list_termswordpress_list_terms List terms in a taxonomy. | Taxonomies | read | taxonomysearchpageperPage | idle | view |
respira/list_userswordpress_list_users List all users with optional filtering by search term. | Users | read | searchpageperPage | idle | view |
respira/move_elementwordpress_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_v2wordpress_read_custom_post_v2 Read a custom post type entry using Respira v2 include-gated fidelity contract. | Content | read | typeidinclude | idle | view |
respira/read_pagewordpress_read_page Get full content of a specific page including meta data and builder information. | Content | read | id | idle | view |
respira/read_page_v2wordpress_read_page_v2 Read a page using Respira v2 include-gated fidelity contract. | Content | read | idinclude | idle | view |
respira/read_postwordpress_read_post Get full content of a specific post. | Content | read | id | idle | view |
respira/read_post_v2wordpress_read_post_v2 Read a post using Respira v2 include-gated fidelity contract. | Content | read | idinclude | idle | view |
respira/reject_duplicatewordpress_reject_duplicate Reject and permanently delete a Respira duplicate. Admin-only. | Core | read | duplicate_id | idle | view |
respira/remove_elementwordpress_remove_element Remove an element from a page. | Page Builder | write | post_ididentifier_typeidentifier_value | idle | view |
respira/reorder_elementswordpress_reorder_elements Reorder children within a container element. | Page Builder | write | post_idcontainer_pathnew_order | idle | view |
respira/report_issuereport_issue File a structured bug report or feedback to the Respira maintainer from inside the chat, with this site's context attached. Use it when a tool failed, an edit produced the wrong output, a step timed out, or behaviour differed from the docs. Required: title (8-120 chars), brief (one paragraph, 20-280 chars), steps_to_reproduce (the exact steps or tool calls, 12+ chars). Optional: severity (blocker, major, minor, cosmetic), expected, actual, error_messages (verbatim), last_tool, contact_email. It never sends prompts, tool arguments, or page content. Only the fields you pass plus the site URL, builder, and plugin version. | Core | read | titlebriefsteps_to_reproduceseverity +4 | idle | view |
respira/restore_snapshotwordpress_restore_snapshot Restore post content/meta from a specific snapshot UUID. | Snapshots | write | snapshot_uuid | idle | view |
respira/search_stock_imageswordpress_search_stock_images Search Openverse for free stock images. | Media | read | querylicense_typesourceaspect_ratio +2 | idle | view |
respira/sideload_imagewordpress_sideload_image Download a stock image and add it to the WordPress Media Library. | Media | write | urltitlealtauthor +2 | idle | view |
respira/switch_sitewordpress_switch_site Switch to a different WordPress site (for multi-site setups). | Core | read | siteId | idle | view |
respira/update_commentwordpress_update_comment Update a comment. | Core | write | idcontentstatus | idle | view |
respira/update_custom_postwordpress_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_elementwordpress_update_element Update settings/content of a specific element on a page. | Page Builder | write | post_ididentifier_typeidentifier_valueupdates | idle | view |
respira/update_mediawordpress_update_media Update media metadata (title, alt text, caption). | Media | write | idtitlealtcaption | idle | view |
respira/update_menuwordpress_update_menu Update a navigation menu. | Menus | write | idnamedescription | idle | view |
respira/update_menu_itemwordpress_update_menu_item Update a menu item. | Menus | write | item_idtitleurlparent +4 | idle | view |
respira/update_modulewordpress_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_optionwordpress_update_option Update an option value. | Core | write | optionvalue | idle | view |
respira/update_pagewordpress_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_pluginwordpress_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_postwordpress_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_termwordpress_update_term Update a term. | Taxonomies | write | taxonomyidnameslug +2 | idle | view |
respira/update_userwordpress_update_user Update user information. | Users | write | idemaildisplay_namepassword +1 | idle | view |
respira/upload_mediawordpress_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_securitywordpress_validate_security Validate content for security issues before saving. | Core | read | content | idle | view |
respira/woocommerce_create_categorywoocommerce_create_category Create a WooCommerce product category. | E-commerce | read | nameslugdescriptionparent | idle | view |
respira/woocommerce_create_productwoocommerce_create_product Create a WooCommerce product. | E-commerce | read | nametyperegular_pricestatus +2 | idle | view |
respira/woocommerce_create_tagwoocommerce_create_tag Create a WooCommerce product tag. | E-commerce | read | nameslugdescription | idle | view |
respira/woocommerce_delete_categorywoocommerce_delete_category Delete a WooCommerce product category. | E-commerce | read | id | idle | view |
respira/woocommerce_delete_tagwoocommerce_delete_tag Delete a WooCommerce product tag. | E-commerce | read | id | idle | view |
respira/woocommerce_duplicate_productwoocommerce_duplicate_product Duplicate a WooCommerce product to a draft copy. | E-commerce | read | id | idle | view |
respira/woocommerce_get_categorywoocommerce_get_category Get detailed information for a single WooCommerce product category. | E-commerce | read | id | idle | view |
respira/woocommerce_get_orderwoocommerce_get_order Get detailed information for a single WooCommerce order. | E-commerce | read | id | idle | view |
respira/woocommerce_get_productwoocommerce_get_product Get detailed information for a single WooCommerce product. | E-commerce | read | id | idle | view |
respira/woocommerce_get_stock_statuswoocommerce_get_stock_status Get inventory overview with low-stock and out-of-stock counts. | E-commerce | read | — | idle | view |
respira/woocommerce_get_tagwoocommerce_get_tag Get detailed information for a single WooCommerce product tag. | E-commerce | read | id | idle | view |
respira/woocommerce_list_categorieswoocommerce_list_categories List WooCommerce product categories. | E-commerce | read | searchparenthide_emptyper_page +1 | idle | view |
respira/woocommerce_list_orderswoocommerce_list_orders List WooCommerce orders. | E-commerce | read | statusper_pagepage | idle | view |
respira/woocommerce_list_productswoocommerce_list_products List WooCommerce products with status/search/pagination filters. | E-commerce | read | statussearchper_pagepage | idle | view |
respira/woocommerce_list_tagswoocommerce_list_tags List WooCommerce product tags. | E-commerce | read | searchhide_emptyper_pagepage | idle | view |
respira/woocommerce_sales_reportwoocommerce_sales_report Get WooCommerce sales report for week/month/year/custom range. | E-commerce | read | perioddate_mindate_max | idle | view |
respira/woocommerce_update_categorywoocommerce_update_category Update a WooCommerce product category. | E-commerce | read | idnameslugdescription +1 | idle | view |
respira/woocommerce_update_order_statuswoocommerce_update_order_status Update WooCommerce order status. | E-commerce | read | idstatus | idle | view |
respira/woocommerce_update_productwoocommerce_update_product Update an existing WooCommerce product. | E-commerce | read | idnameregular_pricesale_price +4 | idle | view |
respira/woocommerce_update_stockwoocommerce_update_stock Update stock quantity or stock status for a product. | E-commerce | read | idstock_quantitystock_status | idle | view |
respira/woocommerce_update_tagwoocommerce_update_tag Update a WooCommerce product tag. | E-commerce | read | idnameslugdescription | idle | view |
scf/create-fieldCreate Field Creates a new SCF field with provided configuration. Requires parent (field group ID). | scf-fields | read | — | idle | view |
scf/create-field-groupCreate Field Group Creates a new instance of SCF field group with provided configuration. Omitted optional fields use schema defaults. | scf-field-groups | read | keytitlefieldsmenu_order +4 | idle | view |
scf/create-post-typeCreate Post Type Creates a new instance of SCF post type with provided configuration. Omitted optional fields use schema defaults. | scf-post-types | read | keytitlepost_typemenu_order +4 | idle | view |
scf/create-taxonomyCreate Taxonomy Creates a new instance of SCF taxonomy with provided configuration. Omitted optional fields use schema defaults. | scf-taxonomies | read | keytitletaxonomymenu_order +4 | idle | view |
scf/create-ui-options-pageCreate Ui Options Page Creates a new instance of SCF ui options page with provided configuration. Omitted optional fields use schema defaults. | scf-ui-options-pages | read | keytitlemenu_slugmenu_order +4 | idle | view |
scf/delete-fieldDelete Field Permanently deletes an SCF field. | scf-fields | read | identifier | idle | view |
scf/delete-field-groupDelete Field Group Permanently deletes an instance of SCF field group. This action cannot be undone. | scf-field-groups | read | identifier | idle | view |
scf/delete-post-typeDelete Post Type Permanently deletes an instance of SCF post type. This action cannot be undone. | scf-post-types | read | identifier | idle | view |
scf/delete-taxonomyDelete Taxonomy Permanently deletes an instance of SCF taxonomy. This action cannot be undone. | scf-taxonomies | read | identifier | idle | view |
scf/delete-ui-options-pageDelete Ui Options Page Permanently deletes an instance of SCF ui options page. This action cannot be undone. | scf-ui-options-pages | read | identifier | idle | view |
scf/duplicate-fieldDuplicate Field Creates a copy of an SCF field with a new unique key. Optionally specify a new parent field group. | scf-fields | read | identifiernew_parent_id | idle | view |
scf/duplicate-field-groupDuplicate Field Group Creates a copy of SCF field group with a new ID and unique key. Title gets (copy) appended. Active status is inherited from source. | scf-field-groups | read | identifiernew_post_id | idle | view |
scf/duplicate-post-typeDuplicate Post Type Creates a copy of SCF post type with a new ID and unique key. Title gets (copy) appended. Active status is inherited from source. | scf-post-types | read | identifiernew_post_id | idle | view |
scf/duplicate-taxonomyDuplicate Taxonomy Creates a copy of SCF taxonomy with a new ID and unique key. Title gets (copy) appended. Active status is inherited from source. | scf-taxonomies | read | identifiernew_post_id | idle | view |
scf/duplicate-ui-options-pageDuplicate Ui Options Page Creates a copy of SCF ui options page with a new ID and unique key. Title gets (copy) appended. Active status is inherited from source. | scf-ui-options-pages | read | identifiernew_post_id | idle | view |
scf/export-fieldExport Field Exports an SCF field as JSON for backup or transfer. Internal fields (ID, local, _valid) are stripped. | scf-fields | read | identifier | idle | view |
scf/export-field-groupExport Field Group Exports an instance of SCF field group as JSON for backup or transfer. Internal fields (ID, local, _valid) are stripped. | scf-field-groups | read | identifier | idle | view |
scf/export-post-typeExport Post Type Exports an instance of SCF post type as JSON for backup or transfer. Internal fields (ID, local, _valid) are stripped. | scf-post-types | read | identifier | idle | view |
scf/export-taxonomyExport Taxonomy Exports an instance of SCF taxonomy as JSON for backup or transfer. Internal fields (ID, local, _valid) are stripped. | scf-taxonomies | read | identifier | idle | view |
scf/export-ui-options-pageExport Ui Options Page Exports an instance of SCF ui options page as JSON for backup or transfer. Internal fields (ID, local, _valid) are stripped. | scf-ui-options-pages | read | identifier | idle | view |
scf/get-fieldGet Field Retrieves a single SCF field by key or ID. | scf-fields | read | identifier | idle | view |
scf/get-field-groupGet Field Group Retrieves SCF field group configuration by ID or key. | scf-field-groups | read | identifier | idle | view |
scf/get-post-typeGet Post Type Retrieves SCF post type configuration by ID or key. | scf-post-types | read | identifier | idle | view |
scf/get-taxonomyGet Taxonomy Retrieves SCF taxonomy configuration by ID or key. | scf-taxonomies | read | identifier | idle | view |
scf/get-ui-options-pageGet Ui Options Page Retrieves SCF ui options page configuration by ID or key. | scf-ui-options-pages | read | identifier | idle | view |
scf/import-fieldImport Field Imports an SCF field from JSON data. If key exists, updates existing; otherwise creates new. | scf-fields | read | — | idle | view |
scf/import-field-groupImport Field Group Imports an instance of SCF field group from JSON data. If ID is provided, updates existing; otherwise creates new with schema defaults for omitted fields. | scf-field-groups | read | keytitlefieldsmenu_order +4 | idle | view |
scf/import-post-typeImport Post Type Imports an instance of SCF post type from JSON data. If ID is provided, updates existing; otherwise creates new with schema defaults for omitted fields. | scf-post-types | read | keytitlepost_typemenu_order +4 | idle | view |
scf/import-taxonomyImport Taxonomy Imports an instance of SCF taxonomy from JSON data. If ID is provided, updates existing; otherwise creates new with schema defaults for omitted fields. | scf-taxonomies | read | keytitletaxonomymenu_order +4 | idle | view |
scf/import-ui-options-pageImport Ui Options Page Imports an instance of SCF ui options page from JSON data. If ID is provided, updates existing; otherwise creates new with schema defaults for omitted fields. | scf-ui-options-pages | read | keytitlemenu_slugmenu_order +4 | idle | view |
scf/list-field-groupsList Field Groups Retrieves a list of SCF field groups. Returns all if no filter provided. | scf-field-groups | read | filter | idle | view |
scf/list-fieldsList Fields Retrieves a list of SCF fields. Returns all if no filter provided. Can filter by parent (field group), type, or name. | scf-fields | read | filter | idle | view |
scf/list-post-typesList Post Types Retrieves a list of SCF post types. Returns all if no filter provided. | scf-post-types | read | filter | idle | view |
scf/list-taxonomiesList Taxonomies Retrieves a list of SCF taxonomies. Returns all if no filter provided. | scf-taxonomies | read | filter | idle | view |
scf/list-ui-options-pagesList Ui Options Pages Retrieves a list of SCF ui options pages. Returns all if no filter provided. | scf-ui-options-pages | read | filter | idle | view |
scf/trash-field-groupTrash Moves SCF field group to trash. Can be restored using untrash. | scf-field-groups | read | identifier | idle | view |
scf/trash-post-typeTrash Moves SCF post type to trash. Can be restored using untrash. | scf-post-types | read | identifier | idle | view |
scf/trash-taxonomyTrash Moves SCF taxonomy to trash. Can be restored using untrash. | scf-taxonomies | read | identifier | idle | view |
scf/trash-ui-options-pageTrash Moves SCF ui options page to trash. Can be restored using untrash. | scf-ui-options-pages | read | identifier | idle | view |
scf/untrash-field-groupRestore Restores SCF field group from trash to previous status. | scf-field-groups | read | identifier | idle | view |
scf/untrash-post-typeRestore Restores SCF post type from trash to previous status. | scf-post-types | read | identifier | idle | view |
scf/untrash-taxonomyRestore Restores SCF taxonomy from trash to previous status. | scf-taxonomies | read | identifier | idle | view |
scf/untrash-ui-options-pageRestore Restores SCF ui options page from trash to previous status. | scf-ui-options-pages | read | identifier | idle | view |
scf/update-fieldUpdate Field Updates an existing SCF field. Properties not provided are preserved (merge behavior). | scf-fields | read | ID | idle | view |
scf/update-field-groupUpdate Field Group Updates an existing instance of SCF field group. Properties not provided are preserved (merge behavior). | scf-field-groups | read | keytitlefieldsmenu_order +4 | idle | view |
scf/update-post-typeUpdate Post Type Updates an existing instance of SCF post type. Properties not provided are preserved (merge behavior). | scf-post-types | read | keytitlepost_typemenu_order +4 | idle | view |
scf/update-taxonomyUpdate Taxonomy Updates an existing instance of SCF taxonomy. Properties not provided are preserved (merge behavior). | scf-taxonomies | read | keytitletaxonomymenu_order +4 | idle | view |
scf/update-ui-options-pageUpdate Ui Options Page Updates an existing instance of SCF ui options page. Properties not provided are preserved (merge behavior). | scf-ui-options-pages | read | keytitlemenu_slugmenu_order +4 | idle | view |
woocommerce/list-productsList Products Return WooCommerce products with pagination and filters. | E-commerce | read | statuspageper_pagesearch | idle | view |
woocommerce/update-productUpdate Product Patch a WooCommerce product's price, stock, status or content. | E-commerce | write | product_idpricestock_quantitystatus +1 | idle | view |
yoast-seo/get-readability-scoresGet Readability Scores Get the readability scores for the most recently modified posts. | yoast-seo | read | number_of_posts | idle | view |
yoast-seo/get-seo-scoresGet SEO Scores Get the SEO scores for the most recently modified posts. | yoast-seo | read | number_of_posts | 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 · June 2026
Sorted by active install count. Each row links to the plugin and, where a public repo
exists, its source so you can verify the wp_register_ability call yourself.
Categories are curated. Adoption is early and moving fast; this list refreshes manually
as new releases land.
Page Builder
Elementor ships an MCP module that exposes editor + widget operations. Respira layers snapshot-before-write protection on top via the Inhale gateway.
SEO
Yoast SEO registers abilities for content analysis and SEO suggestions through wp_register_ability.
E-commerce
WooCommerce exposes a store/product/order ability registry. Respira also ships a dedicated WooCommerce add-on with snapshot-aware product writes.
Suite
Jetpack ships abilities for Shortlinks and Jetpack Forms. Respira treats each as a callable MCP tool through the Inhale gateway.
Custom Fields
ACF exposes field group read + edit abilities. Respira ships a dedicated ACF integration that builds on top.
Block Library
Spectra (by Brainstorm Force) registers block-level abilities via wp_register_ability.
Conversational
Joinchat registers abilities for WhatsApp button configuration.
Forms
Ninja Forms added Abilities API support in 3.14.0 (Jan 2026), exposing form operations.
Analytics
Burst exposes analytics query abilities for privacy-first traffic reporting.
Bookings
LatePoint exposes appointment and booking abilities.
Compliance
Cookiebot exposes consent + scanner abilities.
Bookings
Amelia exposes appointment / service abilities through the mcp-adapter package.
Custom Fields
SCF (the ACF community fork) exposes field operations.
LMS
LearnPress exposes course, lesson, and quiz abilities.
Security
Shield exposes scan + firewall abilities.
Multi-site
MainWP exposes multi-site dashboard operations.
Block Library
Per-block abilities for the Nexter block suite.
Social
Tweet box settings exposed via wp_register_ability.
LMS
Course + quiz abilities for the Masteriyo LMS.
For agents · For users teaching agents
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 catalog.
Option 1 · Pure HTTP, works today
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 · In Respira today
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.
Option 3 · Drop into your agent's system prompt
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 Respira's own 154
abilities plus 331 from third-party plugins (Elementor, Yoast SEO, WooCommerce,
Jetpack, ACF).
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
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
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
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
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
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
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: a snapshot before writes that target a page or post, structured error envelopes on failure, an audit-log entry for every call, a per-tool wall-clock budget, and a one-click rollback link 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
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: a snapshot before writes that target a page or post, structured errors, and an audit-log entry.
For maintainers
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.