Getting Started

Installing and Configuring the MCP Adapter

⏱ 15 min

The Abilities API gives WordPress a way to register what a site can do, but it doesn’t talk to AI clients by itself. That’s the MCP Adapter’s job: the official plugin, maintained by the WordPress AI Team, that takes your registered abilities and serves them over the Model Context Protocol. This lesson gets it installed and confirms it’s running, nothing else.

What you'll learn in this lesson
Where the MCP Adapter comes from
The official WordPress/mcp-adapter repository, and why it replaces the older Automattic/wordpress-mcp plugin.
Installing it as a plugin from source
Cloning into wp-content/plugins and running composer install for its dependencies.
Activating and verifying it
Confirming the plugin loaded and its classes are available, using WP-CLI.
What ships in the plugin
The default MCP server it creates automatically, and the WP-CLI commands it adds.
Prerequisites

A local WordPress 6.9+ environment with terminal access and WP-CLI available (built by Course 1’s environment setup lesson). You’ll also need Composer and Git installed locally, plus PHP 7.4 or later.

Step 1: Get the plugin

The MCP Adapter is not in the WordPress.org plugin directory. It’s distributed from its GitHub repository, github.com/WordPress/mcp-adapter, either as a packaged release zip or as source you clone directly. For development work where you want to read the source, follow along with updates, or eventually contribute, cloning it straight into wp-content/plugins is the simplest path.

Install from source
1
Clone into wp-content/plugins
git clone into your plugins directory so it can be activated like any other plugin.
2
Install PHP dependencies with Composer
The plugin depends on the wordpress/php-mcp-schema package for typed MCP protocol objects.
3
Activate the plugin
Through wp-admin or WP-CLI.
4
Confirm it loaded
Check its core class exists and its WP-CLI commands are registered.
# File: terminal, from your WordPress install's wp-content/plugins directory
git clone https://github.com/WordPress/mcp-adapter.git
cd mcp-adapter
composer install

composer install pulls in wordpress/php-mcp-schema, the typed DTO package the adapter uses internally to represent MCP protocol objects, along with the Jetpack Autoloader the plugin uses to avoid version conflicts if more than one plugin on the site ends up depending on the adapter.

Step 2: Activate it

# File: terminal
wp plugin activate mcp-adapter

If you’d rather use the packaged release instead of building from source, WP-CLI can install directly from the GitHub release zip in one step:

# File: terminal, alternative install method
wp plugin install https://github.com/WordPress/mcp-adapter/releases/latest/download/mcp-adapter.zip --activate

Either method activates the same plugin. The clone-and-composer install route is worth knowing because you’ll want to read the adapter’s source directly more than once in this course, its classes and hooks aren’t yet documented as exhaustively as core WordPress functions.

If your local environment is itself built with wp-env, there’s a third option: adding the release zip directly to your project’s .wp-env.json, so the plugin installs and activates automatically every time the environment starts, with no manual install step at all:

// File: .wp-env.json
{
  "$schema": "https://schemas.wp.org/trunk/wp-env.json",
  "plugins": [
    "https://github.com/WordPress/mcp-adapter/releases/latest/download/mcp-adapter.zip"
  ]
}

This is worth knowing if you’re following along in a disposable wp-env container: it means tearing the environment down and starting fresh always brings the adapter back up already active, rather than requiring you to redo the install steps by hand each time.

Step 3: Understand what just got registered

On activation, the adapter automatically creates a default MCP server with no configuration required. That default server exposes three built-in meta-tools your AI client can call: one to discover which of your abilities are public, one to fetch a given ability’s full schema, and one to actually execute an ability. You’ll register your own custom servers starting in Lesson 6, but the default server is enough to confirm the plugin is alive.

The plugin also registers two new WP-CLI commands: wp mcp-adapter list, which lists every registered MCP server, and wp mcp-adapter serve, which serves a server over STDIO. Both are covered in depth in Lessons 7 and 10.

Test it

# File: terminal
wp plugin list --status=active | grep mcp-adapter

wp mcp-adapter list --format=table

You should see mcp-adapter in the active plugin list, and the list command should print at least one row: the default server, with an ID of mcp-adapter-default-server. If that row is missing, the plugin activated but its internal mcp_adapter_init hook (where servers get created) never fired, usually a sign something errored silently during activation.

# File: terminal, confirm the core class is loaded
wp eval 'var_dump( class_exists( "WP\MCP\Core\McpAdapter" ) );'

This should print bool(true).

Composer dependencies missing after cloning

If you clone the repository but skip composer install, activating the plugin will either fatal error or silently fail, because the WP\MCP\Core\McpAdapter class and its dependencies live in the vendor/ directory that Composer generates, not in the repository itself. Always run composer install inside the plugin’s own directory before activating. If you later see “Class not found” errors after pulling updates, re-running composer install (or composer dump-autoload if only the autoloader is stale) usually fixes it.

Recap

You now have the official MCP Adapter installed from source, its Composer dependencies resolved, and a default MCP server already running with zero configuration. The next lesson registers the ability that server will actually expose: a real, working “create a draft post” action using wp_register_ability().

Resources & further reading

Registering Your First Ability with wp_register_ability →