{"name":"press.respira/respira-wordpress","slug":"respira-wordpress","title":"Respira WordPress MCP","description":"WordPress MCP with native page-builder editing, full-page creation, and WooCommerce tools.","url":"https://mcp.market/server/respira-wordpress","rating":null,"grade":"C","score":58,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce"],"presence":{"score":21,"stars":null,"forks":null,"downloads_week":4287,"last_push_at":null,"license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":null,"website":"https://www.respira.press/mcp","version":"5.3.1","remotes":[],"packages":[{"registryType":"npm","identifier":"@respira/wordpress-mcp-server","version":"5.3.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"WordPress site URL for the single-site env setup.","format":"string","placeholder":"https://example.com","name":"WORDPRESS_URL"},{"description":"Respira API key for the single-site env setup.","format":"string","isSecret":true,"name":"WORDPRESS_API_KEY"},{"description":"Base64-encoded multi-site Respira config JSON.","format":"string","isSecret":true,"name":"RESPIRA_CONFIG_B64"},{"description":"Path to a Respira config JSON file.","format":"filepath","placeholder":"~/.respira/config.json","name":"RESPIRA_CONFIG_FILE"}]}],"tools":[{"name":"wordpress_activate_plugin","description":"EXPERIMENTAL: Activate a plugin. Requires plugin management to be enabled in Respira settings. Monitor the site after activation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_analyze_aeo","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_analyze_images","description":"Analyze image optimization opportunities including missing alt text, large files, and unoptimized formats.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_analyze_performance","description":"Analyze page performance metrics including load time, image optimization, CSS/JS optimization, caching, and plugin performance impact.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_analyze_rankmath","description":"Analyze a page against Rank Math SEO scoring. Returns detailed checks, current score, and ready-to-apply meta_updates. To apply fixes: use respira_update_page with the seo_title, seo_description, and focus_keyword fields from the meta_updates response.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_analyze_readability","description":"Analyze content readability including Flesch Reading Ease score, sentence length, and paragraph structure.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_analyze_seo","description":"Comprehensive SEO analysis including meta tags, heading structure, image alt text, internal linking, content quality, and schema markup.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_apply_accessibility_fixes","description":"Auto-apply accessibility fixes for a scan. Fixes supported: image-alt, color-contrast, label, heading-order, document-title, html-lang-valid.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_apply_bricks_component","description":"Insert 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_apply_builder_patch","description":"Apply Respira v2 builder patch operations (identifier by id/path/type+match_content).","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_assign_menu_location","description":"Assign a menu to a theme location.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_check_seo_issues","description":"Check for common SEO issues and get quick recommendations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_check_structured_data","description":"Check schema markup and structured data (JSON-LD, microdata) for AI parsing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_create_bricks_global_class","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_create_comment","description":"Create a new comment.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_create_custom_post","description":"Create a new custom post.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_create_menu","description":"Create a new navigation menu.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_create_page_duplicate","description":"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 must then approve the duplicate in WordPress admin (Respira → Page Approvals) to replace the original page.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_create_post_duplicate","description":"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 must then approve the duplicate in WordPress admin (Respira → Page Approvals) to replace the original post.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_create_term","description":"Create a new term.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_create_user","description":"Create a new user.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_deactivate_plugin","description":"EXPERIMENTAL: Deactivate a plugin. Requires plugin management to be enabled in Respira settings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_bricks_global_class","description":"Delete a Bricks global class by ID. Returns the deleted class data for rollback. Warning: elements referencing this class will lose its styling.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_comment","description":"Delete a comment.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_custom_post","description":"Delete a custom post.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_media","description":"Delete a media file.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_menu","description":"Delete a navigation menu.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_option","description":"Delete an option.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_page","description":"Delete a page. IMPORTANT: By default, this only works on Respira-created duplicates. The force parameter only works if \"Allow Direct Editing\" is enabled in Respira settings (disabled by default for safety).","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_plugin","description":"EXPERIMENTAL: Permanently delete a plugin. Requires plugin management to be enabled in Respira settings. The plugin must be deactivated first.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_post","description":"Delete a post. IMPORTANT: By default, this only works on Respira-created duplicates. The force parameter only works if \"Allow Direct Editing\" is enabled in Respira settings (disabled by default for safety).","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_term","description":"Delete a term.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_delete_user","description":"Delete a user.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_diff_snapshots","description":"Diff two Respira v2 snapshots and return structured fidelity deltas.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_extract_builder_content","description":"Extract the full structured content from a page as builder-native JSON. Use this to see the complete page layout with all sections, columns, and widgets. For targeted searches, prefer find_element (faster). For a lightweight overview, prefer find_builder_targets. Returns the raw builder data structure that can be modified and passed back to inject_builder_content.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_find_builder_targets","description":"List all editable builder modules/blocks on a page with their types, labels, and text content — without returning the full builder JSON. Use this for a quick overview of what is on a page. For finding a specific element by text or class, use find_element instead.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_accessibility_scan","description":"Get detailed results of a specific accessibility scan including all violations, scores, and AI fix prompts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_active_site","description":"Return the currently active site in the Respira multi-site configuration.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_bricks_color_palette","description":"Get 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_bricks_component","description":"Get a Bricks component/template by ID. Returns the full element structure ({id, title, type, elements}) that can be inspected or applied to a page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_bricks_theme_styles","description":"Get 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_bricks_typography","description":"Get 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_builder_info","description":"Detect which page builder is active on the site and get its version, support level (Full Intelligence / Smart Defaults / Basic), available modules/widgets, and capabilities. Call this first before working with builder content to understand what format to use.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_comment","description":"Get comment details by ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_core_web_vitals","description":"Get Core Web Vitals metrics (LCP, FID, CLS) for a page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_custom_post","description":"Get custom post details.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_get_media","description":"Get single media item details.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_menu","description":"Get a navigation menu with all its items. Includes WPML translation info if available.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_option","description":"Get option value by name.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_post_type","description":"Get post type details.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_get_site_context","description":"Get 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_snapshot","description":"Get one Respira v2 snapshot by UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_taxonomy","description":"Get taxonomy details.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_term","description":"Get term details.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_theme_docs","description":"Get theme documentation and available template files.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_get_user","description":"Get user details by ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_inject_builder_content","description":"REPLACE (or append to) the entire page builder layout. WARNING: By default this REPLACES all existing content — use mode:\"append\" to add content without destroying existing elements. For editing a single module, use wordpress_update_module instead. Use exactly: gutenberg, divi, elementor, bricks, beaver, oxygen, breakdance, brizy, thrive, visual-composer, wpbakery. For Divi, diviVersion is require","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_install_plugin","description":"EXPERIMENTAL: Install a plugin from WordPress.org or a ZIP URL. Requires plugin management to be enabled in Respira settings. Use with caution.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_accessibility_scans","description":"List previous accessibility scans with scores and violation counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_bricks_components","description":"List all Bricks saved templates/components (reusable element groups). Returns array of {id, title, type, modified}. Components are stored as bricks_template custom post type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_bricks_global_classes","description":"List 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_comments","description":"List all comments with optional filtering.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_custom_posts","description":"List posts of a custom post type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_media","description":"List all media files (images, videos, etc.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_menu_items","description":"List all items in a menu with their hierarchy.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_menu_locations","description":"List all registered menu locations and their assigned menus.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_menus","description":"List all navigation menus. Includes WPML translation info if available.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_options","description":"List WordPress options (with optional search filter).","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_pages","description":"List all pages with optional filtering.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_plugins","description":"EXPERIMENTAL: List all installed plugins with their status, version, and update availability. Requires plugin management to be enabled in Respira settings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_post_types","description":"List all registered post types.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_list_posts","description":"List all blog posts with optional filtering.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_sites","description":"List every site available in the current Respira multi-site configuration and show which one is active.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_snapshots","description":"List Respira v2 snapshots with optional filters.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_taxonomies","description":"List all registered taxonomies.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_terms","description":"List terms in a taxonomy.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_list_users","description":"List all users with optional filtering by search term.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_read_page","description":"Get full content of a specific page including meta data and builder information.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_read_post","description":"Get full content of a specific post.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_restore_snapshot","description":"Restore content and allowlisted meta from a Respira v2 snapshot UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_scan_page_accessibility","description":"Run a WCAG accessibility scan on a page. Returns violations grouped by severity (critical, serious, moderate, minor) with auto-fix suggestions. Supports standards: wcag2a, wcag2aa, wcag21a, wcag21aa, wcag22aa, section508.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_switch_site","description":"Switch to a different WordPress site in the active Respira multi-site configuration.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wordpress_update_bricks_color_palette","description":"Update the Bricks color palette (full replace). Pass the complete palette array. Returns previous and current values for rollback.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_bricks_global_class","description":"Update an existing Bricks global class. Merges provided fields into the existing class — omitted fields are preserved. Returns previous and current state for rollback.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_bricks_theme_styles","description":"Update 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_bricks_typography","description":"Update Bricks global CSS variables and typography. Pass variables array and optionally categories. Returns previous and current values for rollback.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_comment","description":"Update a comment.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_custom_post","description":"Update a custom post. When direct editing is enabled and you target an original item, Respira returns a confirmation_required preflight by default so you can choose live/original or duplicate.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_media","description":"Update media metadata (title, alt text, caption).","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_media_batch","description":"Batch update media items (alt text, title, caption). Up to 50 items per call. Useful for fixing missing alt text across multiple images.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_menu","description":"Update a navigation menu.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_module","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_option","description":"Update an option value.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_page","description":"Update a page. When direct editing is enabled and you target an original page, Respira returns a confirmation_required preflight by default so you can choose live/original or duplicate.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_plugin","description":"EXPERIMENTAL: Update a plugin to the latest version. Requires plugin management to be enabled in Respira settings. Make sure you have backups before updating.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_post","description":"Update a post. When direct editing is enabled and you target an original post, Respira returns a confirmation_required preflight by default so you can choose live/original or duplicate.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_term","description":"Update a term.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_update_user","description":"Update user information.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_upload_media","description":"Upload a media file (image, document, video) to WordPress. Supports base64 encoded files, file URLs, or file paths.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wordpress_validate_security","description":"Validate content for security issues before saving.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":58,"grade":"C","scanned_at":"2026-09-27T23:19:24.321Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T23:19:24.210Z","components":{"code":{"score":25,"max":25,"notes":["27 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"packages":[{"registryType":"npm","identifier":"@respira/wordpress-mcp-server","version":"5.3.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":7,"publishedAt":"2026-03-29T20:49:45.371Z","weeklyDownloads":4287}],"repo":{"found":false},"icon":{"url":"https://www.respira.press/logos/respira-symbol-512.png","source":"site","width":512,"height":512},"presence":{"stars":null,"forks":null,"downloadsWeek":4287,"license":"MIT","lastPushAt":null,"score":21}}}},"grade_history":[],"reviews":[]}