Application Passwords Explained: The One Thing You Need on Your WordPress Site for Claude
Application passwords are the one thing the WordPress add-on needs on your site. They are a WordPress core feature since version 5.6, so there is no plugin to install. You create one for a WordPress user, paste it into MCP Self-hosted, and Claude can reach your site’s REST API with that user’s permissions.
The most common question before setting up the add-on is “do I need to install something on my site?” The answer is no. This post explains why, and how to set up an application password safely.
What are application passwords in WordPress?
An application password is a separate password for one user account, meant for external apps that talk to the WordPress REST API. It is not your login password and it can’t be used to log in to wp-admin. Each one has a name, so you can tell them apart, and you can revoke one without touching the others or your own password.
The WordPress add-on for MCP Self-hosted sends the username and the application password with every request. WordPress checks them and treats the request as that user. That is the whole connection on your site’s side. What Claude then does with your site is covered in connect Claude to WordPress.
Why not use your normal login password?
Your normal password would end up in a config file, and the only way to cut off the integration would be changing your login everywhere you use it. Application passwords are scoped to one integration. Revoke the one named “mcp-core” and only that integration stops; your login stays the same.
How do you create one for MCP Self-hosted?
On your WordPress site:
- Go to Users → Profile. To create one for another user, open that user under Users → All Users.
- Scroll to the Application Passwords section.
- Enter a name in “New Application Password Name”, for example “mcp-core”.
- Click “Add New Application Password”.
- Copy the password right away. WordPress shows it once.
Then give MCP Self-hosted three values. Put them in .env or under the Tools tab of your license in My Account, where they are stored encrypted:
WORDPRESS_SITE_URL=https://www.example.com
WORDPRESS_USERNAME=claude-editor
WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
Run docker exec mcp-core npm run refresh-license so the server picks up the login details. The WordPress MCP setup guide covers the rest, including several sites at once.
Which WordPress user should the password belong to?
The add-on can do what that user can do, and no more. Application passwords inherit the role of their user. That makes the user your first permission layer.
An Editor can read and write posts, pages, media and comments. Some read tools need more: listing plugins, reading site settings and reading menus need administrator-level capabilities in WordPress. Pick the lowest role that covers what you want Claude to do. A dedicated user, such as “claude-editor”, makes the activity easy to recognise and the access easy to remove.
The second layer is the mode of your MCP Self-hosted seat. Each seat has read-only or Can make changes per tool, set on the Seats tab of your license. Read-only is the default, and in that mode the write tools are not registered, so Claude doesn’t see them. With an administrator user on a read-only seat, Claude can read settings but can’t change anything. More on that in MCP seats.
What if an application password leaks?
Go back to the Application Passwords section of that user and click Revoke next to it. WordPress refuses the next request that uses it, so the add-on loses access straight away. Create a new one, update it in .env or on the Tools tab, and refresh the license.
That is different from a leaked MCP Self-hosted seat token. A revoked or regenerated token stops working once MCP Self-hosted picks up the change at its next license check, or right away after the refresh command.
Why is the Application Passwords section missing?
WordPress only offers application passwords over HTTPS, except on a local development site. If your site runs on plain HTTP, the section doesn’t appear. Some security plugins and hosts also switch the feature off. Check those settings, or ask your host, before you look further.
Common misconceptions
“I need a plugin for this.” Application passwords are part of WordPress core. No plugin, unless something on your site has turned the feature off.
“This gives Claude my account password.” It is a separate credential for API access. It can’t log in to wp-admin.
“One password works on all my sites.” Each one belongs to one user on one site. For several sites you create one per site and add each site on the Tools tab.
FAQ
Does the user need to be an administrator?
Only for plugins, settings and menus. For content work, an Editor is enough.
Can I see which application passwords exist?
Yes. The same section lists each one with its name, creation date, last used date and last IP.
Does MCP Self-hosted store the password?
It reads it from .env on your server, or fetches it from your license’s Tools tab, where it is stored encrypted.
Wrapping up
Application passwords keep the WordPress side of the setup small: one password, one user with the right role, revocable in one click. The rest happens in mcp-core. See what the WordPress MCP server add-on can read and write, then follow the WordPress MCP setup guide.