Skip to content

Requirements

xNetVN Development edited this page Nov 12, 2026 · 1 revision

Requirements

xNetVN Agent Hub WP is a WordPress plugin, not a standalone service. It needs a supported WordPress runtime, a database, HTTPS on the site that serves the endpoint, and — only to expose MCP — the official MCP Adapter plugin.

Runtime floor

Component Requirement Notes
WordPress 6.9 or later The plugin needs the core Abilities API (wp_register_ability). The maintained test suites target WordPress 6.9 and 7.1.2; readme.txt declares "Tested up to: 7.1" (src/Bootstrap/Requirements.php, readme.txt).
PHP 8.2 or later Enforced before modern plugin code loads, so an older runtime gets an admin notice instead of a parse error (src/Bootstrap/Requirements.php).
Database MySQL 8.0+ or MariaDB 10.6+, InnoDB InnoDB is required for the atomic row-level locking used by key rotation (docs/en/INSTALL.md).
Transport HTTPS The request guards refuse a non-secure transport with 403 A secure transport is required (docs/user-guide.md).
MCP Adapter >=0.7.0 <0.8.0 Installed and active to use MCP; the plugin itself does not bundle the adapter (README.md, src/Bootstrap/Requirements.php).

The requirement check also fails closed when the Abilities API is absent, and reports a missing Composer autoloader separately — the message tells you to reinstall the production-built release ZIP (src/Bootstrap/Requirements.php, src/Bootstrap/Notice.php).

The MCP Adapter dependency

MCP is served through the official MCP Adapter, version 0.7.x. The plugin reads the adapter's runtime version and starts its server only inside the adapter's mcp_adapter_init hook, after the version check passes (src/Mcp/ServerGateway.php). The accepted range is exact: 0.7.0 or later, below 0.8.0 (docs/en/adr/0003-adapter-version-range.md).

This is a dependency for MCP only, not for activation. Two failure codes are reported separately:

  • adapter_missing — the adapter is not installed or not active.
  • adapter_version — the installed version falls outside the range.

What happens when the adapter is missing

The plugin still activates and the rest of it keeps working: settings, key management, the activity log and the profile key section are independent of the adapter. Only the MCP server stays off.

  1. Activation succeeds; no fatal error and no hard plugin dependency is declared (CHANGELOG.md).
  2. An admin notice appears on the plugin and network admin screens for users who can activate plugins: it reports that Agent Hub MCP is disabled, names the required range and the current version, and links the next step — install and activate the official MCP Adapter (src/Bootstrap/Notice.php).
  3. ServerGateway::create() returns before creating a server, so the endpoint does not serve tools (src/Mcp/ServerGateway.php).
  4. The notice is re-evaluated on admin_init, so installing and activating a supported adapter clears it without reactivating this plugin (src/Mcp/ServerGateway.php).

Install the adapter from the WordPress plugin directory, then confirm the notice is gone and the endpoint responds. Do not enable an adapter outside 0.7.x: the compatibility spike verified 0.7.0, and a later minor release may change hook signatures (docs/en/adr/0003-adapter-version-range.md).

HTTPS and the development exception

Production sites must serve the MCP endpoint over HTTPS. A reverse proxy that terminates TLS is supported only when you list the proxy header (X-Forwarded-Proto) and the proxy networks under Agent Hub > Settings > Network; an arbitrary forwarded header is not trusted (src/Http/TransportGuard.php, docs/user-guide.md).

For local work without a certificate, define the constant below in wp-config.php. It is honoured only when the WordPress environment type is local or development, so it cannot silently disable TLS on a production site (src/Http/TransportGuard.php):

define( 'XNETVN_AGENT_HUB_WP_ALLOW_INSECURE', true );

Never enable it on a site reachable from the internet (docs/en/ENVIRONMENT.md).

Client requirement

You also need an MCP client that can send a bearer token in the Authorization header. OAuth is not implemented (docs/user-guide.md, docs/en/adr/0007-oauth-deferred.md). See Compatibility for the client gate and known limits.

Next step

Continue with Installation, then Quick-Start.

Clone this wiki locally