
Respira WordPress MCP server
AI-native WordPress editing across 17 page builders. 231 tools, 335 with WooCommerce. Safe writes.
2.8k downloads/wk
Reviews
Write oneNobody has reviewed Respira WordPress MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Respira WordPress MCP tools (100, 34 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
respira_acf_add_flexible_layoutAppend a new layout to a flexible content field. Layout_type must match one of the layouts defined on the field. ACF Pro only.
respira_acf_add_repeater_rowAppend a new row to a repeater field. Values is a map matching the repeater sub-fields. ACF Pro only.
respira_acf_add_to_galleryAppend a single image to a gallery field. No-op if the image is already in the gallery. ACF Pro only.
respira_acf_bulk_get_fieldsRead the same ACF field keys from multiple posts in one call. Max 500 post IDs.
respira_acf_bulk_update_fieldswrite actionApply the same field updates across up to 500 posts. Each post gets its own snapshot. Requires Builder tier or above.
respira_acf_clone_field_groupDuplicate an existing field group under a new name. Field keys are regenerated to avoid collisions.
respira_acf_clone_fieldsCopy selected ACF field values from a source post to a target post. Requires Builder tier or above (bulk scope).
respira_acf_compare_fieldsDiff ACF field values between two posts. Returns per-field {a, b, equal}.
respira_acf_count_repeater_rowsCount how many rows are stored in a repeater field. ACF Pro only.
respira_acf_create_field_groupwrite actionCreate a new ACF field group. Provide name, location_rules, and an array of fields.
respira_acf_create_options_pagewrite actionRegister a new ACF options page at runtime. page_config must include page_title. ACF Pro only.
respira_acf_delete_fieldwrite actionRemove a single ACF field value from a post. Does not delete the field definition, only the stored value.
respira_acf_delete_field_groupwrite actionDelete an ACF field group. The group definition is removed; existing field values on posts are retained.
respira_acf_delete_flexible_layoutwrite actionRemove a layout from a flexible content field by zero-based index. ACF Pro only.
respira_acf_delete_optionwrite actionRemove a single option value from an ACF options page. ACF Pro only.
respira_acf_delete_repeater_rowwrite actionRemove a row from a repeater field by zero-based index. ACF Pro only.
respira_acf_export_field_groupExport a field group as JSON. Useful for moving a group between staging and production.
respira_acf_export_optionsExport every option value from an ACF options page as JSON. ACF Pro only.
respira_acf_get_fieldRead a single ACF field value from a post. Works for all field types. Returns null if the field is not set.
respira_acf_get_field_groupFetch a single ACF field group by key, including every field definition inside it.
respira_acf_get_field_objectFetch the full field definition object for a given field key.
respira_acf_get_fieldsRead every ACF field value attached to a post. Returns a map of field_name to value.
respira_acf_get_flexible_contentGet every layout (block) from a flexible content field. ACF Pro only.
respira_acf_get_flexible_layoutGet a single layout from a flexible content field by zero-based index. ACF Pro only.
respira_acf_get_galleryList images stored in a gallery field with attachment metadata. ACF Pro only.
respira_acf_get_optionRead a single option value from an ACF options page. ACF Pro only.
respira_acf_get_optionsRead every option stored on an ACF options page. ACF Pro only.
respira_acf_get_post_objectwrite actionRead a post object field, returning a normalized {ID, post_title, post_type} structure.
respira_acf_get_relationshipRead the related post IDs stored in a relationship field.
respira_acf_get_repeaterGet every row from a repeater field. ACF Pro only.
respira_acf_get_repeater_rowGet a single row by zero-based index from a repeater field. ACF Pro only.
respira_acf_get_reverse_relationshipsFind every post that references the given post ID through any ACF field (relationship, post object, post object array).
respira_acf_get_term_fieldRead an ACF field attached to a taxonomy term.
respira_acf_get_user_fieldRead an ACF field attached to a user profile.
respira_acf_import_field_groupImport a field group from JSON. Auto-generates a new group key if none provided.
respira_acf_list_field_groupsList every ACF field group registered on the site, with title, location rules, and status.
respira_acf_list_options_pagesList every ACF options page registered on the site. ACF Pro only.
respira_acf_remove_from_gallerywrite actionRemove a single image from a gallery field. ACF Pro only.
respira_acf_reorder_flexible_layoutsReorder layouts inside a flexible content field. ACF Pro only.
respira_acf_reorder_galleryReorder images in a gallery field. new_order is a list of attachment IDs in new sequence. ACF Pro only.
respira_acf_reorder_repeaterReorder repeater rows by providing new_order: the list of old indexes in new sequence. ACF Pro only.
respira_acf_search_fieldsFull-text search across every registered ACF field definition (name, label, instructions).
respira_acf_update_fieldwrite actionUpdate a single ACF field value on a post. Creates a before/after snapshot for rollback. Supports dry_run.
respira_acf_update_field_groupwrite actionUpdate properties on an existing ACF field group. Changes is a partial field group object.
respira_acf_update_fieldswrite actionBulk-update multiple ACF fields on a single post in one snapshot. Fields is a map of field_key to value.
respira_acf_update_flexible_layoutwrite actionUpdate values inside a specific layout of a flexible content field. ACF Pro only.
respira_acf_update_gallerywrite actionReplace the gallery with a new array of attachment IDs. ACF Pro only.
respira_acf_update_optionwrite actionUpdate a single option on an ACF options page. ACF Pro only.
respira_acf_update_optionswrite actionBulk-update multiple options on an ACF options page. ACF Pro only.
respira_acf_update_relationshipwrite actionSet the related post IDs on a relationship field. Fully replaces existing relationships.
respira_acf_update_repeater_rowwrite actionUpdate values on a specific row of a repeater field by zero-based index. ACF Pro only.
respira_acf_update_term_fieldwrite actionUpdate an ACF field attached to a taxonomy term.
respira_acf_update_user_fieldwrite actionUpdate an ACF field attached to a user profile.
respira_acf_validate_fieldValidate a value against a field definition without writing. Returns {valid, message}.
wordpress_abilities_gap_reportCompare the active plugins on this WordPress site against the curated list of plugins known to expose abilities via the WordPress Abilities API (wp_register_ability).
wordpress_add_stock_imageSearch for a stock image, download it to the Media Library, and add it as an image widget to a page — all in one call. Builder-agnostic: works with Elementor, Bricks, Beaver Builder, etc. Saves 3 separate tool calls.
wordpress_apply_bricks_componentwrite actionInsert a Bricks component/template into a page. Clones the component elements with new IDs and inserts them at the specified position. Creates a snapshot before writing.
wordpress_apply_divi_library_itemApply a Divi Library item to a page as a LIVE-LINKED global reference: the page stores only `wp:divi/global-layout {"globalModule":"<id>"}` and Divi expands it at render, so editing the library item once updates every page that references it.
wordpress_bricks_design_systemExport the complete Bricks design system in a single call: global classes, color palette, theme styles, typography/variables, components, element types, and Bricks version. Optimized for AI agent context — use this to understand the full design system before building pages.
wordpress_bricks_detect_acssDetect if Automatic.css (ACSS) is installed and active. Returns ACSS version, utility class count, color variables, and spacing variables. Use before importing ACSS classes into the Bricks global class registry.
wordpress_bricks_health_checkwrite actionRun a health check on a Bricks page. Detects orphaned elements, duplicate IDs, broken parent/child references, invalid global class references, empty containers, and heading hierarchy issues. Returns issues sorted by severity.
wordpress_bricks_import_acssImport Automatic.css utility classes into the Bricks global class registry. Skips classes that already exist. Imported classes are tagged with an ACSS source marker. Run detect_acss first to preview what will be imported.
wordpress_bricks_import_design_tokensImport a design-token file into the Bricks colour palette and global CSS variables. Accepts a Tailwind theme object, a Figma Tokens Studio export, or a Style Dictionary / DTCG file. Colours land as palette swatches plus `--color-*` variables; spacing, typography, radius and shadow tokens land as grouped CSS variables. Aliases (e.g. {colors.primary}) are resolved and names are deduped against exist
wordpress_bricks_insert_section_presetwrite actionInsert a curated section preset into a Bricks page as a new section. Elements get fresh ids and are appended (or placed at a position). Multi-column presets use flex rows, so a follow-up wordpress_make_responsive call makes them fully responsive. Run wordpress_bricks_list_section_presets first to pick a slug.
wordpress_bricks_lint_bemAudit the existing Bricks global-class registry against the BEM convention. Returns only the offending class names, each with the reasons it is not BEM-shaped (uppercase, whitespace, single underscore, multiple element/modifier segments, wrong order) and a normalised suggestion.
wordpress_bricks_list_section_presetsList the curated Bricks section presets (hero, features, CTA, testimonials, pricing, stats, FAQ, ...). Returns each preset slug with title, description, category and tags. Use a slug with wordpress_bricks_insert_section_preset to drop a production-ready section onto a Bricks page.
wordpress_bricks_query_loopsFind all Bricks elements that use query loops across the site. Filter by object type (post, term, user) or queried post type (product, page, etc.). Essential for auditing dynamic content and WooCommerce product loops.
wordpress_bricks_scaffold_bemScaffold a BEM block as Bricks global classes. Given a block name plus element and modifier lists, it creates block, block__element, and block--modifier global classes (skipping any that already exist) and returns the name->id map so you can assign them to elements via _cssGlobalClasses. Set dry_run to preview the names without creating them.
wordpress_bricks_style_profileAnalyze a Bricks page and extract its design patterns: colors used (with frequency), spacing values, typography (fonts, sizes, weights), and global class usage. Use this to learn a page's design system before creating new content that matches.
wordpress_create_bricks_global_classwrite actionCreate a new Bricks global CSS class. Settings use Bricks composite key format (e.g. "_padding", "_margin", "_typography"). Returns the created class with its generated ID.
wordpress_delete_bricks_global_classwrite actionDelete a Bricks global class by ID. Returns the deleted class data for rollback. Warning: elements referencing this class will lose its styling.
wordpress_delete_divi_presetwrite actionDelete one Divi 5 global preset by its preset id. Modules referencing it keep their materialized attributes.
wordpress_elementor_add_custom_jsAdd custom JavaScript to an Elementor page by inserting an HTML widget containing a <script> tag into a container. Use for analytics, tracking, animations, or custom interactivity. The JS is stripped of any <script> tags (auto-wrapped).
wordpress_elementor_design_systemExport the Elementor design system: global colors (system + custom) and typography (system + custom). Single-call context for AI agents — use this to understand the site's visual language before building pages.
wordpress_get_active_siteReturn the currently active site in the Respira multi-site configuration.
wordpress_get_bricks_color_paletteGet the Bricks color palette. Returns array of palette groups, each with {id, name, colors: [{id, raw, name}]}. Colors use raw hex values or CSS variable references.
wordpress_get_bricks_componentGet a Bricks component/template by ID. Returns the full element structure ({id, title, type, elements}) that can be inspected or applied to a page.
wordpress_get_bricks_theme_stylesGet the Bricks theme styles configuration. Returns an object keyed by style ID, each containing label, settings (with element-type groups like "heading", "text-basic", "button"), and conditions.
wordpress_get_bricks_typographyGet Bricks global CSS variables and typography scales. Returns {variables: [{id, name, value, category}], categories: [{id, name, scale?}]}. Categories with a "scale" property are typography scales.
wordpress_get_divi_migration_readinessGenerate a Divi 5 migration readiness report for the active WordPress site.
wordpress_get_elementor_widget_schemaGet the full JSON Schema for a specific Elementor widget type — every setting/control it accepts, with types, descriptions, defaults, and allowed values. Use this before update_element to know exactly what settings a widget supports. Example: get schema for "heading" to learn it accepts title, tag, alignment, etc.
wordpress_get_site_contextGet WordPress site context. By default this returns a compact summary to reduce token use; set detail="full" only when you need the full plugin/theme inventory.
wordpress_invoke_abilityInvoke an inhaled WordPress Abilities API ability through the Respira safety wrapper.
wordpress_list_bricks_componentsList all Bricks saved templates/components (reusable element groups). Returns array of {id, title, type, modified}. Components are stored as bricks_template custom post type.
wordpress_list_bricks_global_classesList all Bricks global CSS classes with their settings (CSS properties). Returns array of {id, name, settings, category}. Use this to discover existing design tokens before creating new ones.
wordpress_list_divi_presetsList Divi 5 global presets on the active site (module presets and cross-cutting group presets).
wordpress_list_elementor_widgetsList all registered Elementor widgets with metadata (name, title, icon, categories, keywords). Optionally filter by category. Use this to discover available widgets before building pages or to find the correct widget_type for get_widget_schema.
wordpress_list_sitesList every site available in the current Respira multi-site configuration and show which one is active.
wordpress_resolve_divi_presetPreview what a Divi 5 preset would apply: returns the resolved attribute groups for a `_presetId` without writing anything.
wordpress_save_divi_library_itemSave a page, ONE section of it (section_index), or a supplied node structure as a Divi Library item (et_pb_layout).
wordpress_search_abilitiesSearch the curated WordPress Abilities directory and classify each result as Respira-native, inhaled, unavailable, or replaced by a safer Respira workflow.
wordpress_search_bricks_elementsSearch across ALL pages and templates for Bricks elements by type, global class, or setting value. Finds every instance of a specific element type, class usage, or setting across your entire site.
wordpress_update_bricks_color_palettewrite actionUpdate the Bricks color palette (full replace). Pass the complete palette array. Returns previous and current values for rollback.
wordpress_update_bricks_global_classwrite actionUpdate an existing Bricks global class. Merges provided fields into the existing class — omitted fields are preserved. Returns previous and current state for rollback.
wordpress_update_bricks_theme_styleswrite actionUpdate Bricks theme styles (full replace). Pass the complete styles object. Returns previous and current values for rollback. Affects site-wide typography, colors, and element defaults.
wordpress_update_bricks_typographywrite actionUpdate Bricks global CSS variables and typography. Pass variables array and optionally categories. Returns previous and current values for rollback.
wordpress_update_elementor_global_colorswrite actionAdd or update global colors in the Elementor active kit. Merges by _id — existing colors with matching _id are updated, new _ids are appended. Does not delete existing colors.
wordpress_update_elementor_global_typographywrite actionAdd or update global typography styles in the Elementor active kit. Merges by _id — existing entries with matching _id are updated, new _ids are appended.
wordpress_upsert_divi_presetswrite actionCreate or update Divi 5 global presets in bulk. Each preset: {name, kind: "module"|"group", module_type, is_default?, attrs}.
wordpress_validate_elementor_jsonValidate Elementor JSON for rendering fidelity. Catches common conversion issues: missing _margin (causes WordPress default margin injection), missing typography_typography:"custom" flag (causes Elementor to silently ignore fonts), column width collapsing, boxed-vs-fullwidth confusion, and missing mobile breakpoints. Use this to validate JSON from any pipeline (HTML-to-Elementor, manual builds, or
Public scan report
scanner v0.1.9 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan65 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenanceno repository listed3/15
- Maintainer identityno repository or website to verify2/10
Findings (1)
- lowNo source repository listed
maint.no-repo
Grade history
- 2026-09-19restoreF → Cscore 55: No source repository listed
Install directly
Runs npx -y @respira/wordpress-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add respira-wordpress -- npx -y @respira/wordpress-mcp-server
Respira WordPress MCP: common questions
- Is Respira WordPress MCP server safe?
- With care: it is graded C, so read the findings first (55/100). Read the Respira WordPress MCP safety report
- How do I install Respira WordPress MCP?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Respira WordPress MCP need an API key?
- Yes. The registry entry asks for
WORDPRESS_API_KEY,RESPIRA_CONFIG_B64. - Is Respira WordPress MCP maintained?
- The latest release is v8.3.31.
- What can I use instead of Respira WordPress MCP?
- Servers from other publishers that do the same job: WebCake Storefront MCP server, Kalicart Global MCP server and HasData Walmart MCP server. Compare all Respira WordPress MCP alternatives.
Alternatives to Respira WordPress MCP
Same job from other publishers: the closest match first, then the best rated.
- WebCake StorefrontBuild pages and manage products, orders, and content on the WebCake/StoreCake storefront builder.not reviewedGrowingA
- Kalicart GlobalFederated commerce search across independent WooCommerce merchants. Keyless, read-only MCP server.not reviewedGrowingA
HasData WalmartWalmart search, product pages and customer reviews on walmart.com and walmart.ca, as JSON.not reviewedGrowingA
Apiguru Amazon DataLive Amazon product, review, search, deal, offer/stock and seller data across 20 marketplaces.not reviewedGrowingA
HeyMetraAsk across your ads, analytics, store, CRM and subscription accounts; writes wait for approval.not reviewedGrowingA