Skip to content

Enabling MCP ​

Open VX → AI. The Setup tab walks through four steps; the first two are covered here, and the last two in Connecting MCP clients.

1. Enable MCP ​

Enable MCP is the master switch, and it starts off. Until it's on and saved, the connection address doesn't exist at all: requests to it get a 404, not a login prompt.

2. Choose abilities ​

Pick how much an assistant can do:

LevelWhat it allows
Level 1 (default)Read-only: every VX ability that can't change anything, plus checks that validate a change without saving it
Level 2Every VX ability, including changes
Level 3Every VX ability, plus the abilities WordPress itself provides
Full accessEverything, including abilities other plugins and your theme register
CustomExactly the abilities you tick on the Abilities tab

Level 1 is read-only, but not blind: reading includes your content, meaning posts, terms, users, their field values and your pages' markup. If an assistant should see the site's structure but not its content, choose Custom and untick Read on the Content and Documents topics.

The named levels update themselves: when a VX update adds a new read ability, Level 1 includes it automatically. Changing any individual ability switches you to Custom.

Nothing takes effect until you save. If MCP is on but nothing is exposed, the address still answers 404.

The Abilities tab ​

The Abilities tab lists every ability in groups: Structure (post types, fieldsets, fields and other configuration), Content (posts, terms and users), Block editor (pages and templates), WordPress (abilities WordPress core registers) and 3rd-party (abilities from other plugins and themes). Each topic has Read, Write and All checkboxes, so ticking reads never hands over a delete by accident.

Abilities from other plugins ​

Abilities registered by WordPress core, other plugins and your theme are listed, but never exposed by default, even if the plugin asks to be. VX can't vouch for them:

  • They use their own permission checks, not VX's.
  • Their changes aren't recorded in VX's activity log, and can't be undone through VX.
  • Their read or write labels are the plugin's own claims. Anything marked Unstated may change the site.

Turn them on one at a time, and only when you know what they do.

Keep connected clients in sync ​

When you change the exposed abilities, clients that are already connected keep their old list of tools until you reconnect them. Settle the list before you connect, or reconnect afterwards:

ClientTo pick up changes
CursorQuit and reopen Cursor (reloading the server keeps the cached list)
Claude CodeRun /mcp and reconnect vx, or start a new session
VS CodeMCP: Restart Server, then choose vx
WindsurfManage MCPs → Refresh
CodexStart a new session

Turning MCP off takes effect immediately, with no reconnect: the address simply stops existing.

If the MCP Adapter plugin is installed ​

VX's connection works the same with or without the MCP Adapter plugin. The two don't share a connection: VX keeps its own address, and the settings on this page only control that address.

The plugin adds its own address, and the settings here don't reach it. On that address an administrator can run VX's read abilities, including content reads, even while Enable MCP is off here. Writes never run there. If you don't use the plugin's address, a developer can switch it off (see the technical details below).

Warning

An assistant with write abilities can change your data model and content through a web request. Anyone who obtains the credential it uses can do the same. On production sites, keep writes off unless you need them, connect with a dedicated account you can revoke, and prefer config as code for reviewed structural changes.

Technical details for LLMs
  • Presets: vx-readonly (Level 1, default), vx-all, vx-wp, full, custom. Named presets resolve live against the catalog. Per-ability deviations are stored when switching to custom.
  • Endpoint: https://example.com/wp-json/vx-framework/mcp (Streamable HTTP, POST only; GET → 405). Registered only when enabled and at least one ability is exposed; otherwise 404. Served by VX's own copy of the MCP Adapter library whether or not the MCP Adapter plugin is active; neither changes the other's servers or hooks.
  • MCP Adapter plugin's address: https://example.com/wp-json/mcp/mcp-adapter-default-server, outside these settings. Its mcp-adapter/execute-ability tool runs any ability whose meta.mcp.public is true, which every VX read ability has; each ability's own permission check (manage_options) still applies. To remove that server: add_filter( 'mcp_adapter_create_default_server', '__return_false' );.
  • Never exposed: the MCP Adapter's own mcp-adapter/* meta-tools (they would run any ability by name).
  • Check from the shell: wp vx-framework abilities mcp (enabled state, endpoint, exposed tools).
  • Not a site-wide switch: VX abilities are also registered with show_in_rest, so WordPress core's https://example.com/wp-json/wp-abilities/v1 can list and run them (writes included) for any manage_options user, whether or not MCP is enabled. To remove an ability from every surface, wp_unregister_ability( 'vx-framework/…' ) on wp_abilities_api_init (priority 20).
  • Requires the WordPress Abilities API (WordPress 6.9+).

Documentation for the VX Framework.