Using AI

WordPress MCP: Connect Claude to Your Site in 5 Minutes

Claude can write a blog post. What it could not do was publish it in your WordPress by itself. With WordPress MCP (the official MCP Adapter plugin, an application password and a custom connector), your site becomes a tool Claude reads and edits in plain language. Five minutes of setup, and nothing to pay.

Anthony Courtin 17 min read

AI summary

WordPress MCP connects Claude to a WordPress site through the official MCP Adapter plugin, an application password and a custom connector. The Enable Abilities for MCP plugin unlocks reading and writing posts, pages and menus. It requires WordPress 6.9 or later, an administrator account and a live site on HTTPS.

Summary written from the article.

A glass website mockup linked by a glowing lime green tube labeled MCP to a sparkling sphere, illustrating a WordPress site connected to Claude through WordPress MCP

Write in Claude, copy, paste into the editor, redo the subheadings, put the links back, fill in the meta description: that is the daily routine of many people who publish with AI. WordPress MCP removes that copy and paste. Claude reads your posts, pages and menus directly on the site and, if you allow it, creates and edits them itself.

I recorded the full setup on video, on a client's site, in just over three minutes (the video is in French). This article walks through each step with what does not fit in a short video: rebuilding the URL without mistakes, the most common causes of failure and the security settings you should not forget.

Video thumbnail: WordPress connected to Claude through MCP, free in 5 minutes WordPress MCP × Claude: the full setup in 3 min 22 s (in French)

Video chapters (in French): 0:07 installing MCP Adapter · 0:40 the application password · 0:58 the connector in Claude · 1:14 the URL, part by part · 2:08 the right to write · 2:33 the test.

Key takeaways

  • WordPress MCP relies on two free building blocks: the official MCP Adapter plugin, published by WordPress, and the Abilities API, built into core since WordPress 6.9.
  • The whole connection fits in one URL: https://username:APP_PASSWORD@domain/wp-json/mcp/mcp-adapter-default-server.
  • You need an administrator account, an application password (never your regular password) and a site that is live, on HTTPS: Claude connects from Anthropic's servers, not from your computer.
  • Without the Enable Abilities for MCP plugin, Claude is connected but has almost nothing to do. That plugin is what opens up posts, pages and menus.
  • Claude's free plan allows one custom connector: enough to connect a site without paying anything.
  • This password opens your site as an administrator: never share it, and revoke it as soon as you no longer need it.

How to connect WordPress to Claude: the short answer

  1. Check that the site runs WordPress 6.9 or later, on HTTPS, and that you have an administrator account.
  2. Download mcp-adapter.zip from the latest release of the WordPress/mcp-adapter GitHub repository, then install it: Plugins > Add New Plugin > Upload Plugin.
  3. In Users > Profile, create an application password named "Claude" and copy it.
  4. In Claude, open Connectors, add a custom connector and paste the connector URL filled in with your three values.
  5. Install the Enable Abilities for MCP plugin to give Claude the right to read and write.
  6. Restart Claude, turn the connector on in a conversation and ask it whether it can see your site.

Each step is detailed below, with a generator that builds the connector URL for you. If something gets stuck, the troubleshooting section covers the eight causes I run into most often.

WordPress MCP, in practice

MCP, short for Model Context Protocol, is a standard plug between an AI model and a piece of software: the software exposes what it can do, the model plugs into it and calls those functions itself. If the concept is new to you, I explain in detail what an MCP server is and what it is for.

On the WordPress side, the plug is built in two parts. Since version 6.9, released at the end of 2025, WordPress core ships with the Abilities API: a registry where the site and its plugins declare what they can do (list posts, create a page, add a menu item), with the permissions required for each action. The MCP Adapter plugin, maintained by the WordPress AI team, translates that registry into MCP tools and publishes them at an address on the site's REST API: /wp-json/mcp/mcp-adapter-default-server.

Claude does not see dozens of tools at once. The default server gives it three: one to discover the available abilities (mcp-adapter-discover-abilities), one to read the instructions for one of them (mcp-adapter-get-ability-info), and one to run it (mcp-adapter-execute-ability). So Claude always starts by taking inventory, then acts. That is exactly what you will see scroll by during the first test.

5 minutes

What the setup gives you

Two plugins, one password, one URL. Here is what it changes day to day, and what it requires.

  • Posts, pages and menus read and edited without leaving Claude
  • A draft written in the conversation dropped into WordPress in one sentence
  • Everything is free: plugins, API and connector
  • Administrator account required
  • Live sites only, no local WordPress

Setup time: 5 minutes WordPress 6.9+ · MCP Adapter · Claude, free or paid plan

What you need before you start

  • WordPress 6.9 or later. The Abilities API has been in core since that version and the adapter does not work without it. Check in Dashboard > Updates.
  • An administrator account. With an editor, author or contributor account, the connection does not work. This is the first sticking point.
  • A live site, on HTTPS. For two reasons. WordPress disables application passwords on a site without HTTPS. And Claude's custom connector connects from Anthropic's servers: a WordPress installed on your computer, behind a VPN or behind a firewall that filters IP addresses cannot be reached.
  • A Claude account. The free plan is limited to one custom connector, which is enough for one site. I detail what the free version allows in Is Claude AI free?. The web, the desktop app and Cowork all accept custom connectors.

The three links you will need

The plugin: the WordPress/mcp-adapter releases on GitHub. The write plugin: Enable Abilities for MCP in the WordPress plugin directory. And Anthropic's documentation on custom connectors. The URL template is also in the video description.

Step 1: install the MCP Adapter plugin

You download the plugin from GitHub, in the official WordPress repository.

  1. Open github.com/WordPress/mcp-adapter and click Releases, in the right-hand column.
  2. Open the latest version (v0.7.0 at the time of writing), scroll down to Assets and download mcp-adapter.zip. Not the "Source code" archives: the file named mcp-adapter.zip is the one that contains the ready-to-install plugin.
  3. In WordPress: Plugins > Add New Plugin > Upload Plugin, choose the file, Install Now, then Activate.

If you have command-line access to the server, WP-CLI does the same thing in one line:

wp plugin install https://github.com/WordPress/mcp-adapter/releases/latest/download/mcp-adapter.zip --activate

Nothing to configure afterwards: once activated, the plugin creates the default MCP server on its own, the one Claude will call.

Step 2: create an application password

This is the step where you need to pay attention. Application passwords have existed in WordPress since version 5.6 and are designed for exactly this: giving an external tool access to the site's API without handing over your real password, and being able to take that access away at any time without changing anything else.

  1. Go to Users > Profile (or hover over your name at the top right, then Edit Profile).
  2. Scroll all the way down the page to the Application Passwords section.
  3. Give it a name that says what it is for, "Claude" for example, then click Add New Application Password.
  4. Copy the code displayed and keep it handy for the duration of the setup.

It is only shown once

WordPress shows this password once, then never again. If you lose it, no problem: revoke it and create another one. Do not store it in a shared document: it grants the same permissions as your administrator account.

The code comes as six blocks of four characters separated by spaces, such as abcd EFGH 1234 ijkl MNOP 5678. The spaces are only there for readability: you will need to remove them in the URL.

While you are on this page, scroll back to the top and note your username: it is the grayed-out field you cannot change. It is not necessarily your email address, nor the name displayed publicly on the site.

The "Application Passwords" section does not appear? The site is not on HTTPS, or a security plugin has disabled the feature. The fixes are in the troubleshooting section.

Step 3: add the custom connector in Claude

  1. In Claude, open Settings, then Connectors. Depending on your version, the menu may also be called Customize > Connectors.
  2. Click + or Add, then Add custom connector.
  3. Give it a clear name. In the video, I used the site name followed by "MCP": handy as soon as you connect several sites.
  4. In the URL field, paste the template below, replace the three parts (details right after), then click Continue.
  5. On the authentication screen, choose no sign-in ("No sign in"): the credentials are already in the URL. Click Add.
  6. The connector shows as connecting, then as connected. In the desktop app, quit Claude completely and reopen it.

The WordPress MCP connector URL, piece by piece

Here is the template to paste into the URL field:

https://username:APP_PASSWORD@domain/wp-json/mcp/mcp-adapter-default-server

It looks technical, but it is just a path. What comes before the @ tells WordPress who is connecting, what comes after tells it where the MCP server lives.

PartWhat to enterThe classic mistake
usernameYour WordPress username, the grayed-out field at the top of your profileEntering the email address or the public display name
APP_PASSWORDThe application password from step 2, without spacesLeaving the spaces in, or deleting the colon before it
domainThe domain name alone: mysite.com or www.mysite.comLeaving https:// or a trailing slash
/wp-json/mcp/…The end of the URL, leave it as isChanging or truncating it

With the username jane, the password abcd EFGH 1234 ijkl MNOP 5678 and the site https://www.mysite.com/, you get:

https://jane:abcdEFGH1234ijklMNOP5678@www.mysite.com/wp-json/mcp/mcp-adapter-default-server

Two special cases. If WordPress is installed in a subfolder (mysite.com/blog), keep the subfolder before /wp-json. And if your username contains a space or an @, those characters must be encoded (%20 and %40), otherwise the URL is misread. The generator below takes care of it.

Interactive tool WordPress connector URL generator
Your connector URL
    Nothing is sent or saved: everything happens in your browser, and reloading the page clears the fields. MCP connector · Anthony Courtin

    Step 4: give Claude the right to write

    At this point, Claude can see the site, but it can hardly do anything there. WordPress keeps its abilities private by default: only those a plugin declares public go through the MCP server, and core declares almost none. The Enable Abilities for MCP plugin fills that gap.

    1. Plugins > Add New Plugin, search for Enable Abilities for MCP.
    2. Install the first one, by Fabio Montenegro, then activate it.
    3. Open Settings > WP Abilities to see and choose what Claude is allowed to do.

    The plugin declares more than a hundred abilities, grouped into families: reading, writing, menus, utilities, and modules for common plugins (Yoast, Rank Math, SEOPress, WooCommerce, Elementor, among others). Each one can be checked or unchecked. It also respects WordPress permissions: a write ability checks that the connected account is actually allowed to publish or edit the content in question.

    My starting setup

    I keep reading, creating and editing posts, and SEO metadata. I uncheck deletions, plugin management and global search and replace, and I always ask Claude to create content as drafts. I open up the rest when a real need comes up, not before.

    Once the plugin is activated and configured, quit and relaunch Claude so it reloads the list of tools.

    The test: can Claude see your site?

    Open a new conversation. First check that the connector is active: the + button at the bottom left of the input box, then Connectors, and your site's toggle should be on. Then simply ask:

    Tell me whether you have access to the WordPress site [site name] through MCP, and list what you can do on it.

    Claude loads the connector, calls the discovery tool and gives you the inventory: reading, writing, pages, menus, plugins. Depending on your configuration, it may ask you to finish connecting or to allow the tool: approve. If the list comes back empty, it is almost always step 4 or a forgotten restart.

    Allow once or always?

    Claude asks for permission before using a tool. "Always allow" is convenient for reading. For anything that writes to the site, I keep approval on every call: it is what shows exactly what Claude is about to change.

    What Claude can do once connected

    With Enable Abilities for MCP, the abilities fall into six families. What is available depends on what you have checked and on the plugins installed on the site.

    FamilyWhat you can ask
    ReadList posts by status, category or keyword, open a post with its content, its SEO metadata and its featured image
    Write and publishCreate, edit or duplicate a post or a page, as a draft or published, with categories and tags
    MenusList menus, add a page or a link, reorder items, assign a theme location
    SEORead and edit SEO titles and meta descriptions through Yoast, Rank Math or SEOPress
    Media and commentsImport an image from a URL, moderate comments and reply to them
    UtilitiesSite statistics, search and replace in content, edit a custom field

    The plugin even has a module dedicated to the llms.txt file, the file that introduces your site to answer engines.

    Five requests that work from day one

    • The inventory: "List the last 20 published posts with their SEO title and meta description, and flag the ones that are missing or longer than 155 characters."
    • The draft: "Create a draft from the text below, in the Guides category, with one H2 per section. Do not publish anything."
    • Internal linking: "Find the posts about [topic] and suggest three internal links to add to each one, without changing anything."
    • The cleanup: "List the drafts that have not been edited in more than six months."
    • The menu: "Add the Contact page at the end of the main menu."

    The principle is the same as for any request to a model: the wording is not what matters, it is the context you provide. Say which content, which action, and what must stay untouched. "Without changing anything" and "as a draft" are the two most useful phrases in this list.

    Not working? The 8 most common causes

    SymptomLikely causeFix
    The connector fails as soon as you add itA typo in the URL: spaces in the password, https:// in the domain, a deleted colonRebuild the URL with the generator above
    401 error, access deniedRegular password instead of the application password, or a non-administrator accountCreate an application password on an administrator account
    401 error even though everything is correctThe server strips the authentication header before it reaches WordPressCheck the .htaccess file (rule below) or ask your host to pass the Authorization header through
    No "Application Passwords" sectionSite without HTTPS, or feature turned off by a security pluginMove the site to HTTPS, re-enable the option in the security plugin
    404 error on the addressPermalinks set to "Plain", or MCP Adapter plugin deactivatedSettings > Permalinks: choose "Post name", check that the plugin is active
    Claude cannot reach the siteLocal WordPress, password-protected staging site, firewall or CDN blocking Anthropic's IPsTest on a live site, or allow Anthropic's IP ranges
    Connected, but no actions availableEnable Abilities for MCP missing, abilities unchecked, or Claude not restartedCheck Settings > WP Abilities, quit and relaunch Claude
    Cannot add the connectorFree plan that already has a custom connectorDelete the old one, or upgrade to a paid plan

    The 401 case when the URL is correct. On many Apache hosts, the header that carries the username and password is stripped before it reaches WordPress. Since version 5.6, WordPress itself adds the line that fixes this in the .htaccess file, but older sites often do not have it. Check that the WordPress block in your file contains:

    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    The easiest way to make it appear: Settings > Permalinks, then Save Changes without changing anything. WordPress then rewrites its block. If you edit the file by hand, make a copy first: a syntax error takes the whole site offline. On an Nginx server, passing the header through is up to your host.

    To find out whether the problem comes from WordPress or from Claude, a command-line test settles it in ten seconds:

    curl -u "username:applicationpassword" https://www.mysite.com/wp-json/wp/v2/users/me

    If the response contains your profile, authentication works and the problem is in the connector URL. If it returns a 401 error, the problem is on the site or hosting side.

    Security: what this password really opens

    The application password gives whoever holds it your administrator account's permissions on the site's API. And the connector URL contains it in plain text. So treat it like a password: not in a message, not in a ticket, not in a screenshot.

    • A dedicated account. Create an administrator user reserved for Claude, with its own application password. Everything Claude does shows up under that name in the revision history, and cutting off access just means deleting that account, without touching yours.
    • Revoke. In Users > Profile > Application Passwords, each password shows its last-used date and a Revoke button. The connector is no longer in use? Revoke it.
    • Least privilege. In WP Abilities, check only the abilities you need. A disabled ability cannot be misused.
    • Content is data, not orders. Claude reads what is on your site, including comments left by anyone. A booby-trapped text can try to hijack the model: that is how prompt injection works. Hence manual approval for write tools.
    • A backup first. Obvious, but worth writing down: a recent backup before the first writing session, and a test on a copy of the site if you have one.

    For a team, there is a variant without a password in the URL. According to its documentation, Enable Abilities for MCP now includes an OAuth server designed for claude.ai connectors: each person signs in with their own WordPress account and their own role. The method in the video is still the fastest when you manage the site alone; as soon as several people use it, this variant is the first one I look at.

    What about Claude Code, or a local WordPress?

    The custom connector goes through Anthropic's servers, hence the need for a live site. For a WordPress installed on your machine, or to work from Claude Code, the MCP Adapter provides two other routes, documented on the WordPress developer blog.

    The HTTP proxy. The @automattic/mcp-wordpress-remote package runs with Node.js on your computer and takes the server address, the username and the application password. In Claude Code, a single command does it:

    claude mcp add --transport stdio \
      --env WP_API_URL=https://www.mysite.com/wp-json/mcp/mcp-adapter-default-server \
      --env WP_API_USERNAME=username \
      --env WP_API_PASSWORD=applicationpassword \
      wordpress -- npx -y @automattic/mcp-wordpress-remote@latest

    The same configuration can be declared in Claude Desktop's claude_desktop_config.json file, with the same three variables.

    WP-CLI, directly. If the site runs on your machine with WP-CLI installed, Claude can launch the server itself, without going through the network: the command is wp mcp-adapter serve --server=mcp-adapter-default-server --user=admin, with --path pointing to the site's folder.

    What it changes in my work

    I mainly use it for background tasks that do not deserve half a day: reviewing the meta descriptions of an entire blog, adding the internal links to a new post, preparing drafts already in the right format. MCP saves you the time spent clicking, not the time spent thinking: deciding what to publish, for whom and why is still your job.

    It is the same connection I showed with the Screaming Frog MCP server for crawls, applied this time to the CMS. And if you want to go further than the connector, with automations that hold up in production on your own tools, that is what AI automation is all about.

    Frequently asked questions

    How do I connect WordPress to Claude?

    You need WordPress 6.9 or later, an administrator account and a live site on HTTPS. Install the MCP Adapter plugin (the mcp-adapter.zip file from the latest GitHub release), create an application password in your WordPress profile, then add a custom connector in Claude with the URL https://username:APP_PASSWORD@domain/wp-json/mcp/mcp-adapter-default-server. Add the Enable Abilities for MCP plugin so Claude can read and edit content, then restart Claude.

    Is WordPress MCP free?

    Yes. The MCP Adapter plugin and the Enable Abilities for MCP plugin are free, and the Abilities API has been part of WordPress since version 6.9. On the Claude side, the free plan allows one custom connector, which is enough to connect a site. Paid plans lift that limit and offer more usage.

    Do I need to be an administrator of the WordPress site?

    Yes. With an editor, author or contributor account, the connection does not work: the application password must be created on an administrator account. To keep a clear record of what Claude does, the ideal is a dedicated administrator account for it, which you can delete without touching your own.

    What URL do I enter in Claude's custom connector?

    The template is https://username:APP_PASSWORD@domain/wp-json/mcp/mcp-adapter-default-server. Replace username with your WordPress username (the grayed-out field in your profile), APP_PASSWORD with the application password without spaces, keeping the colon before it, and domain with the domain name alone, without https:// or a trailing slash.

    Why can't Claude connect to my WordPress site?

    Most of the time, it is the URL: spaces left in the password, https:// kept in the domain or a deleted colon. Next come a non-administrator account, a site without HTTPS, a security plugin that blocks application passwords, a host that strips the Authorization header, and local or protected sites, which Anthropic's servers cannot reach.

    Can Claude edit my WordPress site?

    Yes, with the Enable Abilities for MCP plugin. Without it, Claude is connected but has almost no actions available. With it, Claude can read, create and edit posts, pages, menus, categories and SEO metadata, within the abilities checked in Settings, WP Abilities, and the permissions of the connected account.

    Is it risky to give Claude administrator access?

    The risk is real, and it can be managed. The application password grants the account's permissions: never share it, revoke it in your profile as soon as you no longer need it, enable only the abilities you need and keep manual approval for write actions. Make a backup before the first session, and be wary of content Claude reads on the site, such as comments, which can contain booby-trapped instructions.

    Can I use WordPress MCP with Claude Code or a local site?

    Yes, but not with the custom connector, which goes through Anthropic's servers and requires a site reachable online. For Claude Code or Claude Desktop, the @automattic/mcp-wordpress-remote proxy runs with Node.js and takes the server address, the username and the application password. For a site installed on your machine, the MCP Adapter also works directly with WP-CLI.

    Connect AI to your site without breaking production

    WordPress, CRM, exports, business tools: I design automations that hold up in production, with the right safeguards, and I train the team that will use them.

    See how I work →
    Anthony Courtin

    Written by

    Anthony Courtin

    SEO, GEO & AI automation consultant

    I help small businesses and independent professionals with their visibility (Google, ChatGPT, Perplexity) and with real-world use of AI at work. I train teams in-house and help them rethink their processes. Everything I write here, I use with clients.

    Reader reviews

    Did this article help you? Say so, it helps the next readers.

    Rate this article

    Your rating

    What readers say

    No reviews yet.

    Be the first to leave a review.