{"id":327222,"date":"2026-06-19T17:32:48","date_gmt":"2026-06-19T17:32:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/invizo-mcp\/"},"modified":"2026-06-19T17:32:28","modified_gmt":"2026-06-19T17:32:28","slug":"invizo-mcp","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/invizo-mcp\/","author":20952925,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.3","stable_tag":"2.0.3","tested":"7.0","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"Invizo MCP","header_author":"Invizo","header_description":"A standalone MCP server for safely managing WordPress and supported plugins.","assets_banners_color":"","last_updated":"2026-06-19 17:32:28","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/invizo.io\/","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/invizo-mcp\/","header_author_uri":"https:\/\/invizo.io","rating":0,"author_block_rating":0,"active_installs":0,"downloads":37,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.3":{"tag":"2.0.3","author":"invizo","date":"2026-06-19 17:32:28"}},"upgrade_notice":{"2.0.3":"<p>Resolves WordPress.org review finding for dynamic option keys in site settings handlers.<\/p>","2.0.2":"<p>Hardens WooCommerce customer updates, scopes admin notices, and resolves WordPress.org review findings for asset loading and bundled dependencies.<\/p>","2.0.1":"<p>Adds WordPress.org release metadata, uninstall controls, dependency notices, and submission-related security hardening.<\/p>","2.0.0":"<p>Invizo MCP is now standalone. Reconnect AI clients using a WordPress Application Password and the new <code>\/wp-json\/mcp\/invizo<\/code> endpoint.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[261799,4932,242115,286,41933],"plugin_category":[45],"plugin_contributors":[246497],"plugin_business_model":[],"class_list":["post-327222","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-automation","plugin_tags-developer-tools","plugin_tags-mcp","plugin_tags-woocommerce","plugin_tags-wordpress-management","plugin_category-ecommerce","plugin_contributors-invizo","plugin_committers-invizo"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/invizo-mcp.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Invizo MCP turns your WordPress site into a standalone Model Context Protocol server. It lets approved AI clients work with site content and supported plugins through a native endpoint hosted by WordPress:<\/p>\n\n<pre><code>https:\/\/example.com\/wp-json\/mcp\/invizo\n<\/code><\/pre>\n\n<p>No Invizo-hosted MCP backend, account, subscription, or license key is required. The plugin bundles the official WordPress MCP Adapter and PHP MCP Schema packages and exposes Invizo's action library through the WordPress Abilities API.<\/p>\n\n<p>The MCP server exposes three compact protocol tools:<\/p>\n\n<ul>\n<li><code>discover-abilities<\/code><\/li>\n<li><code>get-ability-info<\/code><\/li>\n<li><code>execute-ability<\/code><\/li>\n<\/ul>\n\n<p>These tools discover and execute 143 scoped Invizo abilities without flooding AI clients with 143 top-level MCP tools.<\/p>\n\n<h4>Highlights<\/h4>\n\n<ul>\n<li>Direct MCP endpoint hosted by WordPress.<\/li>\n<li>WordPress Application Password authentication.<\/li>\n<li>Administrator-only transport and action execution.<\/li>\n<li>Granular read, write, and delete scopes.<\/li>\n<li>Dry-run and confirmation safeguards for supported risky operations.<\/li>\n<li>Copy-ready connection settings for Claude Code, Claude Desktop, Codex, Cursor, and Antigravity.<\/li>\n<li>Dependency-aware controls for WooCommerce, Elementor, Rank Math SEO, LearnPress, and The Events Calendar.<\/li>\n<li>No telemetry, tracking, Invizo cloud account, or automatic connection to Invizo servers.<\/li>\n<\/ul>\n\n<h4>What can agents manage?<\/h4>\n\n<ul>\n<li><strong>WordPress content:<\/strong> posts, pages, media, categories, tags, comments, revisions, reusable blocks, templates, global styles, menus, and content search.<\/li>\n<li><strong>Site administration:<\/strong> users, selected safe site settings, post types, taxonomies, statuses, plugins, and themes.<\/li>\n<li><strong>Custom content:<\/strong> custom post type definitions, custom post type items, post metadata, and MCP-managed post meta definitions.<\/li>\n<li><strong>Page builders and SEO:<\/strong> Gutenberg content, Elementor page data, and Rank Math SEO metadata.<\/li>\n<li><strong>WooCommerce:<\/strong> products, variations, orders, notes, coupons, customers, and product terms.<\/li>\n<li><strong>LearnPress:<\/strong> courses, lessons, quizzes, questions, orders, terms, enrollments, and builder workflows.<\/li>\n<li><strong>The Events Calendar:<\/strong> events, venues, and organizers.<\/li>\n<\/ul>\n\n<h4>Who is this for?<\/h4>\n\n<p>Invizo MCP is intended for administrators, developers, agencies, and site maintainers who want an AI coding or automation client to work with a WordPress site through a documented, scoped protocol.<\/p>\n\n<p>Because enabled write and delete scopes can modify important site data, use the plugin only with trusted clients and dedicated Application Passwords. Test destructive workflows on a staging site first.<\/p>\n\n<h4>Authentication<\/h4>\n\n<p>Invizo MCP uses WordPress Application Passwords and WordPress REST authentication.<\/p>\n\n<p>Only authenticated users with the <code>manage_options<\/code> capability can access the MCP transport or execute Invizo abilities. In a standard WordPress installation this means administrators only.<\/p>\n\n<p>Create a dedicated Application Password from <strong>Settings &gt; Invizo MCP<\/strong> for every AI client or computer. Passwords can be revoked individually from the same screen.<\/p>\n\n<p>Application Passwords normally require HTTPS. Local HTTP sites can enable them by setting:<\/p>\n\n<pre><code>define( 'WP_ENVIRONMENT_TYPE', 'local' );\n<\/code><\/pre>\n\n<p>Security plugins can disable Application Passwords. Invizo reports this condition on its settings screen.<\/p>\n\n<h4>Scopes and safeguards<\/h4>\n\n<p>Administrators choose exactly which read, write, and delete scopes are enabled. Abilities outside enabled scopes are hidden from MCP discovery and rejected during execution.<\/p>\n\n<p>Optional integration scopes are unavailable unless their required plugin is active.<\/p>\n\n<p>Existing handler safeguards remain in place, including:<\/p>\n\n<ul>\n<li>WordPress sanitization and validation.<\/li>\n<li>Plugin availability checks.<\/li>\n<li>Scope checks inside action handlers.<\/li>\n<li>Dry-run previews for supported risky operations.<\/li>\n<li>Explicit <code>confirm: true<\/code> requirements for supported destructive operations.<\/li>\n<li>Reserved metadata protection and safe site-setting allow lists.<\/li>\n<\/ul>\n\n<h4>Data stored by the plugin<\/h4>\n\n<p>Invizo MCP stores:<\/p>\n\n<ul>\n<li>Endpoint enabled\/disabled status and selected scopes in the <code>invizo_mcp_settings<\/code> option.<\/li>\n<li>MCP-managed custom post type definitions in the <code>invizo_mcp_registered_cpts<\/code> option.<\/li>\n<li>MCP-managed post meta definitions in the <code>invizo_mcp_registered_meta_fields<\/code> option.<\/li>\n<li>A plugin version option used for upgrades.<\/li>\n<\/ul>\n\n<p>Application Passwords are created and stored by WordPress in user metadata. Invizo tags only the credentials it creates so they can be listed and revoked from the settings page.<\/p>\n\n<p>Invizo MCP does not collect analytics or send usage information to Invizo.<\/p>\n\n<h3>Client Configuration<\/h3>\n\n<p>The settings page generates current, copy-ready values using your site endpoint and WordPress username.<\/p>\n\n<h4>Claude Code<\/h4>\n\n<p>The primary setup uses <code>@automattic\/mcp-wordpress-remote<\/code> through <code>npx<\/code>, with the endpoint, username, and Application Password stored as environment variables.<\/p>\n\n<p>A direct HTTP <code>.mcp.json<\/code> alternative is also shown for clients that support authenticated HTTP MCP servers.<\/p>\n\n<h4>Claude Desktop<\/h4>\n\n<p>Add the generated JSON to:<\/p>\n\n<ul>\n<li>macOS: <code>~\/Library\/Application Support\/Claude\/claude_desktop_config.json<\/code><\/li>\n<li>Windows: <code>%APPDATA%\\Claude\\claude_desktop_config.json<\/code><\/li>\n<\/ul>\n\n<h4>Codex<\/h4>\n\n<p>Add the generated TOML to:<\/p>\n\n<ul>\n<li>Project: <code>.codex\/config.toml<\/code><\/li>\n<li>Global: <code>~\/.codex\/config.toml<\/code><\/li>\n<\/ul>\n\n<p>Both <code>npx<\/code> bridge and direct authenticated HTTP examples are provided.<\/p>\n\n<h4>Cursor<\/h4>\n\n<p>Add the generated JSON to:<\/p>\n\n<ul>\n<li>Project: <code>.cursor\/mcp.json<\/code><\/li>\n<li>Global: <code>~\/.cursor\/mcp.json<\/code><\/li>\n<\/ul>\n\n<h4>Antigravity<\/h4>\n\n<p>Add the generated JSON to:<\/p>\n\n<ul>\n<li>macOS\/Linux: <code>~\/.gemini\/antigravity\/mcp_config.json<\/code><\/li>\n<li>Windows: <code>%USERPROFILE%\\.gemini\\antigravity\\mcp_config.json<\/code><\/li>\n<\/ul>\n\n<h4>Local HTTPS<\/h4>\n\n<p>Trust your local certificate whenever possible. For local development only, bridge configurations may use <code>NODE_TLS_REJECT_UNAUTHORIZED=0<\/code> when the certificate cannot be trusted normally.<\/p>\n\n<p>Never commit Application Passwords to source control or paste them into prompts, tickets, screenshots, or chat messages.<\/p>\n\n<h3>Privacy and Security<\/h3>\n\n<p>The MCP endpoint is disabled by default on new installations. Enabling it does not expose abilities until scopes are selected.<\/p>\n\n<p>The endpoint requires:<\/p>\n\n<ul>\n<li>Valid WordPress Application Password authentication.<\/li>\n<li>A WordPress user with the <code>manage_options<\/code> capability.<\/li>\n<li>An enabled Invizo scope for the requested ability.<\/li>\n<\/ul>\n\n<p>Use one dedicated Application Password per client or device so individual connections can be revoked without changing the WordPress account password.<\/p>\n\n<p>When the plugin is uninstalled, Invizo-created Application Passwords are always revoked. Plugin settings and MCP-managed definitions are removed only when <strong>Delete Invizo settings and MCP-managed CPT\/meta definitions when the plugin is uninstalled<\/strong> is enabled. Existing posts and post meta values are never deleted by the uninstaller.<\/p>\n\n<h4>Reporting security issues<\/h4>\n\n<p>Please report security issues privately through the contact information on https:\/\/invizo.io\/. Do not publish sensitive vulnerability details in a public support topic before a fix is available.<\/p>\n\n<h3>Upgrade from 1.x<\/h3>\n\n<p>Version 2.0 automatically removes the stored external MCP Server URL and shared secret.<\/p>\n\n<p>It preserves:<\/p>\n\n<ul>\n<li>Enabled scopes.<\/li>\n<li>MCP-managed custom post type definitions.<\/li>\n<li>MCP-managed post meta definitions.<\/li>\n<li>WordPress content and integration data.<\/li>\n<\/ul>\n\n<p>Sites that previously had a shared secret configured are migrated with the standalone endpoint enabled. Other installations remain disabled until an administrator explicitly enables the endpoint.<\/p>\n\n<p>The legacy signed endpoint <code>\/wp-json\/invizo\/v1\/execute<\/code> and its HMAC headers have been removed.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>Invizo MCP does not contact an Invizo-hosted service.<\/p>\n\n<p>MCP clients may use the third-party npm package <code>@automattic\/mcp-wordpress-remote<\/code> as a local bridge when configured by the administrator. The package is downloaded from the npm registry and runs on the computer hosting the AI client, not inside WordPress.<\/p>\n\n<p>When the bridge is used, it sends the configured WordPress endpoint, username, Application Password, and MCP request data directly to the administrator's WordPress site. It does not send those credentials to Invizo.<\/p>\n\n<ul>\n<li>Package: https:\/\/www.npmjs.com\/package\/@automattic\/mcp-wordpress-remote<\/li>\n<li>Source: https:\/\/github.com\/Automattic\/mcp-wordpress-remote<\/li>\n<li>npm Terms of Use: https:\/\/docs.npmjs.com\/policies\/terms<\/li>\n<li>npm Privacy Notice: https:\/\/docs.npmjs.com\/policies\/privacy<\/li>\n<\/ul>\n\n<p>Media upload actions can fetch a public file URL explicitly supplied by an authenticated MCP caller through WordPress media sideloading. In that case, the remote file host receives a normal HTTP request from the WordPress site. The service and data destination depend entirely on the URL supplied by the administrator's MCP client.<\/p>\n\n<p>No external request is made merely by installing or activating Invizo MCP.<\/p>\n\n<h3>Build and Source Files<\/h3>\n\n<p>The distributed plugin contains the human-readable PHP source used at runtime.<\/p>\n\n<h4>PHP dependencies<\/h4>\n\n<p>Composer dependencies are included under <code>vendor\/<\/code> because they are required for the standalone MCP endpoint:<\/p>\n\n<ul>\n<li><code>automattic\/jetpack-autoloader<\/code><\/li>\n<li><code>wordpress\/mcp-adapter<\/code><\/li>\n<li><code>wordpress\/php-mcp-schema<\/code><\/li>\n<\/ul>\n\n<p>All bundled packages use the GPL-2.0-or-later license. Package source, Composer metadata, and individual license files are included. See <code>third-party-notices.txt<\/code>.<\/p>\n\n<h4>Rebuilding dependencies<\/h4>\n\n<p>From the plugin directory:<\/p>\n\n<pre><code>composer install --no-dev --optimize-autoloader\n<\/code><\/pre>\n\n<p>Create the WordPress.org submission ZIP from the parent plugins directory while excluding Git metadata, operating-system files, logs, and Node dependencies.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the Invizo MCP release ZIP, including its bundled <code>vendor<\/code> directory.<\/li>\n<li>Activate the plugin on WordPress 6.9 or newer.<\/li>\n<li>Open <strong>Settings &gt; Invizo MCP<\/strong>.<\/li>\n<li>Enable the MCP endpoint.<\/li>\n<li>Select only the scopes your agent needs.<\/li>\n<li>Create an Application Password.<\/li>\n<li>Choose Claude, Codex, Cursor, or Antigravity and copy the generated configuration.<\/li>\n<li>Restart or reload the AI client.<\/li>\n<li>Verify the connection by listing the server tools and running <code>discover-abilities<\/code>.<\/li>\n<\/ol>\n\n<p>Do not install a source-only archive that omits Composer dependencies.<\/p>\n\n<h4>Minimum requirements<\/h4>\n\n<ul>\n<li>WordPress 6.9 or newer.<\/li>\n<li>PHP 7.4 or newer.<\/li>\n<li>HTTPS for normal Application Password support. WordPress local environments may use HTTP when <code>WP_ENVIRONMENT_TYPE<\/code> is set to <code>local<\/code>.<\/li>\n<li>An MCP client that supports remote HTTP MCP or a compatible local STDIO bridge.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20invizo%20contact%20api.mcp.invizo.io%3F\"><h3>Does Invizo contact api.mcp.invizo.io?<\/h3><\/dt>\n<dd><p>No. Version 2.0 does not require or contact an Invizo backend.<\/p><\/dd>\n<dt id=\"is%20wordpress%20itself%20the%20mcp%20server%3F\"><h3>Is WordPress itself the MCP server?<\/h3><\/dt>\n<dd><p>Yes. WordPress serves MCP JSON-RPC requests at <code>\/wp-json\/mcp\/invizo<\/code>.<\/p><\/dd>\n<dt id=\"why%20do%20some%20clients%20still%20use%20npx%3F\"><h3>Why do some clients still use npx?<\/h3><\/dt>\n<dd><p>Some desktop clients communicate with local STDIO MCP processes more reliably than remote authenticated HTTP endpoints. <code>@automattic\/mcp-wordpress-remote<\/code> is a local transport bridge; it is not an Invizo-hosted server.<\/p><\/dd>\n<dt id=\"can%20editors%20connect%3F\"><h3>Can editors connect?<\/h3><\/dt>\n<dd><p>No. Invizo requires <code>manage_options<\/code> at the MCP transport and ability layers.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20the%20endpoint%20is%20disabled%3F\"><h3>What happens when the endpoint is disabled?<\/h3><\/dt>\n<dd><p>The Invizo MCP route is not initialized. Existing Application Passwords remain valid WordPress credentials until revoked, but they cannot access an inactive Invizo endpoint.<\/p><\/dd>\n<dt id=\"why%20is%20an%20integration%20scope%20disabled%3F\"><h3>Why is an integration scope disabled?<\/h3><\/dt>\n<dd><p>WooCommerce, Elementor, Rank Math SEO, LearnPress, and The Events Calendar scopes require the corresponding plugin to be active.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Replaced dynamic option keys in site settings handlers with explicit WordPress core option references to satisfy plugin review requirements.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Enqueued settings-page CSS and JavaScript through the WordPress asset APIs.<\/li>\n<li>Limited dependency notices to the Plugins and Invizo MCP settings screens.<\/li>\n<li>Restricted WooCommerce customer address updates to an explicit field and setter allowlist.<\/li>\n<li>Updated the bundled Jetpack Autoloader dependency.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Prepared the standalone release for WordPress.org review and distribution.<\/li>\n<li>Added GPL license and third-party dependency notices.<\/li>\n<li>Added optional uninstall cleanup and automatic revocation of Invizo-created Application Passwords.<\/li>\n<li>Added privacy, data storage, security reporting, source, build, and external-service documentation.<\/li>\n<li>Fixed prepared SQL handling for LearnPress enrollment queries.<\/li>\n<li>Improved local HTTPS connection snippets for <code>.test<\/code>, <code>.local<\/code>, and WordPress local environments.<\/li>\n<li>Removed manual translation loading because WordPress.org loads translations automatically.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Converted Invizo into a standalone MCP server hosted by WordPress.<\/li>\n<li>Bundled the official WordPress MCP Adapter, PHP MCP Schema, and Jetpack package autoloader.<\/li>\n<li>Added <code>\/wp-json\/mcp\/invizo<\/code>.<\/li>\n<li>Exposed all 143 existing actions as scoped WordPress abilities through compact discovery, information, and execution tools.<\/li>\n<li>Replaced shared-secret HMAC authentication with administrator-only WordPress Application Passwords.<\/li>\n<li>Added endpoint enable\/disable control and Application Password creation and revocation.<\/li>\n<li>Added generated setup instructions for Claude Code, Claude Desktop, Codex, Cursor, and Antigravity.<\/li>\n<li>Removed the external Invizo dashboard, handshake, server URL, shared secret, and legacy signed execution endpoint.<\/li>\n<li>Added automatic 1.x settings migration while preserving scopes and managed definitions.<\/li>\n<\/ul>","raw_excerpt":"Connect Claude, Codex, Cursor, and other MCP clients directly to WordPress with administrator authentication and granular scopes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/327222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=327222"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/invizo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=327222"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=327222"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=327222"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=327222"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=327222"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=327222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}