Short answer: WordPress MCP means connecting an AI assistant such as Claude, ChatGPT or Cursor to a WordPress site through the Model Context Protocol, so the assistant can act on the site instead of handing you text to paste. There are two ways to do it. You can install an MCP server on the site itself (WordPress's official MCP Adapter, or the server WordPress.com builds into its paid plans), or you can connect a hosted server that talks to your site over the REST API with an application password. PostEverywhere is the second kind: no plugin, and one request from your assistant can write the article, publish it to WordPress and share it to all top social platforms.
Written by Jamie Partridge, Founder of PostEverywhere. Sources are listed at the end.
I built the WordPress side of PostEverywhere, so I have a stake in one of the options below. I will say plainly where the plugin route is the better choice, and where ours stops.
What is WordPress MCP?
The Model Context Protocol is an open standard for connecting AI applications to outside tools. The specification describes three parts: a host (the app you chat in, like Claude or ChatGPT), a client inside that host, and a server that offers tools the model can call.
When a server offers a tool called something like create_post, the assistant can call it with a title, a body and a status, and the server does the work.
A WordPress MCP server is simply a server whose tools reach a WordPress site. Under the hood most of them lean on the same thing: the WordPress REST API, which WordPress describes as "the foundation of the WordPress Block Editor". MCP does not replace the REST API.
It wraps it in a form an AI model can discover and use without you writing code.
Why this matters: WordPress runs 40.1% of all websites according to W3Techs, and plenty of the people writing for those sites already draft in Claude or ChatGPT. The slow part was never the writing.
It was the copy, paste, reformat, upload images, set the featured image, pick categories, publish, then open three more tabs to tell people about it. MCP removes that last mile.
If you want the wider picture first, our explainer on the difference between a social media API and MCP covers when each one makes sense.
Two ways to connect an AI agent to WordPress
Every WordPress MCP setup I have seen falls into one of two shapes.
1. A server that runs on your site. WordPress's AI Building Blocks project publishes the MCP Adapter, which turns "abilities" registered by WordPress core, plugins and themes into MCP tools.
It needs WordPress 6.9 or later, because the Abilities API it builds on ships in core from 6.9, plus PHP 7.4 or later. You install it like any other plugin and connect over HTTP (an endpoint under /wp-json/mcp/) or STDIO through WP-CLI, according to its getting-started guide.
WordPress.com runs its own version of this idea: an MCP server built into every paid plan, with OAuth sign-in and one connection that reaches every site on your account.
If you find older tutorials pointing at Automattic's wordpress-mcp plugin, note that its repository is now archived and deprecated in favour of the MCP Adapter.
2. A hosted server that talks to your site. Nothing is installed on WordPress. The server lives elsewhere, connects to your site through the REST API with an application password (or your WordPress.com login), and your assistant connects to the server.
PostEverywhere works this way, and because it already publishes to social networks, the same request can announce the post.
| MCP Adapter on your site | WordPress.com MCP server | PostEverywhere (hosted) | |
|---|---|---|---|
| What you install | A plugin on the site | Nothing; switch on MCP access in account settings | Nothing |
| Site requirements | WordPress 6.9+, PHP 7.4+ | A WordPress.com paid plan (free sites for the first 30 days) | Self-hosted WordPress 5.6+ over HTTPS, or WordPress.com |
| How the agent signs in | Application passwords plus WordPress capabilities | OAuth 2.1 | Sign-in or API key to PostEverywhere; application password to your site |
| What the agent can touch | Whatever abilities core, your plugins and you register | The tools in WordPress.com's catalogue | Blog posts: create, schedule, draft. No pages, plugins, themes or settings |
| Social media | Not its job | Not its job | The same request can publish to all top social platforms |
| Best for | Developers who want site-level control | Sites hosted on WordPress.com | Writers and teams who publish and promote posts |
When the plugin route fits better
Be honest with yourself about the job. If you want an agent to run the site (edit existing posts, manage pages, call abilities that your plugins register, or abilities you write yourself), a server on the site is the right tool, and the official adapter is where I would start.
The same goes if you are a developer who does not want a third party anywhere in the path, or if you are on WordPress.com and only ever need WordPress.
When a hosted server fits better
If the job is "write the post, publish it, and tell people", the hosted route is less work and less risk. There is nothing to keep updated on the site, it works on WordPress versions from 5.6 rather than 6.9, and it works on managed hosts where you cannot or would rather not add plugins.
It also covers the half of publishing that no on-site server touches: sharing the finished post to LinkedIn, X, Facebook and the rest. For a comparison of every vendor that offers an MCP server for publishing, see our roundup of social media scheduling tools for AI agents.
How to set up WordPress MCP with PostEverywhere
The whole setup takes about five minutes. You connect two things to PostEverywhere: your WordPress site, and your assistant.
Step 1: Connect your WordPress site
In the PostEverywhere dashboard, open Accounts and click Add Account on the WordPress row.
- Self-hosted WordPress: enter your site address. PostEverywhere sends you to WordPress's own Authorize Application screen in wp-admin, which is the standard application password flow built into core since 5.6. Approve it and you are connected. There is nothing to copy. If that screen is unavailable on your site, a fallback form takes your site address, username and an application password.
- WordPress.com: choose Log in with WordPress.com and pick the site.
Your WordPress user needs the Administrator, Editor or Author role. An Author can publish posts and upload images but cannot create new categories, so connect as an Editor if you want the agent to add categories that do not exist yet.
Connecting from the chat instead. For a self-hosted site, the assistant can connect it for you. Create an application password in wp-admin under Users → Profile → Application Passwords, then give the assistant your site address, username and that password.
PostEverywhere checks the credentials live before saving and refuses a normal login password. This is convenient, but the password then sits in your chat history, so I prefer the dashboard flow and keep the chat route for headless setups. WordPress.com sites connect in the dashboard only.
The WordPress API guide has the full requirements table if you want to check your site before you start.
Step 2: Connect Claude, ChatGPT or Cursor
All three connect to the same hosted MCP server at https://mcp.posteverywhere.ai.
- Claude: PostEverywhere is listed in Claude's connector directory, so on claude.ai you add it from the listing, sign in to PostEverywhere and click Approve. You can also add it by hand as a custom connector under Customize → Connectors. Any Claude plan works; Claude's own custom connector guide notes that the free plan is limited to one connector. Full steps are on the Claude setup page.
- ChatGPT: switch on Developer mode on chatgpt.com, create a custom connector with the address above, then sign in and approve. Developer mode needs a paid ChatGPT plan and only appears on the web. The ChatGPT setup page walks through each screen.
- Cursor and other MCP clients: add a remote server with the address above and an
Authorization: Bearerheader carrying an API key from the Developers page. The MCP setup guide has the config for Cursor and others, with dedicated pages for Claude Code and Windsurf, and the AI agents page lists every assistant we have tested.
Step 3: Check the connection with a draft
Ask: "Show me my connected accounts on PostEverywhere." Your WordPress site should appear next to your social accounts.
Then make the first real request a draft, not a live post:
"Write a 600-word post from these notes and save it as a draft on my WordPress site with the category News."
Open wp-admin, find the draft, and read how the formatting came through. Once you trust it, move to scheduled and published posts.
Connect your WordPress site and your assistant in five minutes. Every plan includes WordPress and the hosted MCP server, from $9 a month. Start your 7-day trial (card required, cancel anytime).
What your AI agent can do on WordPress
Here is what the PostEverywhere MCP server can set on a WordPress post today. Everything in this list is documented in the WordPress API guide, which the MCP tools share.
- Write the post. A title of up to 200 characters and a body of up to 200,000 characters. The agent writes in simple formatting (headings, bold, italic, links, lists, quotes, dividers, code blocks and tables) and PostEverywhere converts it to HTML. Raw HTML is passed through if the agent prefers it.
- Choose the status.
publish,draft,pending(for review in WordPress) orprivate. - Set the details. An excerpt of up to 1,000 characters, a URL slug of up to 190 characters, tags (missing tags are created) and categories by name or ID.
- Add images and a video. Up to 20 images per post, uploaded to your Media Library, and one video placed at the top. The first image becomes the featured image unless the agent switches that off. The agent can place a specific image inline, with a caption, at the point in the article where it belongs.
- Bring in images from a link. The MCP server imports images from a public URL; there is no tool for uploading a file from your computer, so share a link, or reuse images already in your PostEverywhere media library.
- Schedule it. Give a date and time and PostEverywhere publishes the post at that moment.
- Change it before it goes out. A scheduled post can still be edited in PostEverywhere, by you or by the agent, until it goes out.
- Share it. In the same request, schedule the social posts that announce it (more on that below).
And what it cannot do, so you are not surprised:
- It publishes posts only, not pages or custom post types.
- It does not set fields from SEO plugins such as Yoast or Rank Math, or choose the post author.
- It cannot edit or delete a post once it is live on your site. Edit published posts in WordPress.
- It does not manage plugins, themes, users or settings.
That narrowness is deliberate. An agent that can publish posts but cannot touch your plugins is an agent you can let near a production site.
Example prompts for WordPress MCP
These work in Claude, ChatGPT or any connected client. Each one maps to real fields, so the agent is not guessing.
Turn notes into a draft for review
"Turn these meeting notes into a blog post of about 900 words with three sections. Save it as pending review on WordPress with the categories News and Product and the tags release-notes and changelog."
Pending review puts the post in WordPress's own review queue, so an editor on your team publishes it from wp-admin.
Publish now, with a clean URL and excerpt
"Publish this article to my WordPress site now. Use the slug october-roast-notes, write a two-sentence excerpt, and use the first image as the featured image."
Schedule the post and its announcements
"Schedule this post for Tuesday at 9am London time, then schedule a LinkedIn post and an X post linking to it for 9:05."
Repurpose existing writing
"Turn my last three LinkedIn posts into one WordPress article of about 1,200 words and save it as a draft."
Our guide to repurposing content for social media runs the same idea in the other direction: one article into a week of posts.
Place images where they belong
"Import these three image links, put the second one after the 'What changed' heading with the caption 'The new composer', and add the rest at the end."
One small habit worth copying: end prompts with "show me the plan before you publish". Assistants follow that reliably, and it costs you one extra message.
Publish the WordPress post and share it to social media in one request
This is the part no on-site WordPress MCP server does, and it is why we built WordPress into PostEverywhere rather than as a standalone tool.
In PostEverywhere a WordPress site is one more connected account, next to your LinkedIn, X, Facebook, Instagram and the rest. When the agent creates a post with your WordPress site and three social accounts in it, the WordPress entry carries the full article and its settings, while the social accounts get the short announcement.
Each network can have its own version: longer and more considered for LinkedIn, one sharp line for X. Everything goes out at the time you set.
Two details make this work well in practice:
- Know the link before the post exists. Set the slug in the request, and if your permalinks use the post name, the agent can put the final URL in the announcements before the article is live.
- Find the permalink afterwards. Once the post is published, its WordPress permalink comes back in the post's results. Drafts, pending and private posts return WordPress's preview-style link instead.
One caveat. In the web app the composer's Blog post mode takes WordPress sites only, so there the article and its announcements are separate posts on the same calendar. Only the MCP server and the social media API send both in one request.
Developers can see the exact request shape in the developer docs.
If you write long-form for X too, the same draft can become an X Article rather than a thread.
One request for the article and every announcement. Publish to your WordPress site and all top social platforms from Claude or ChatGPT. Compare the plans: every one starts with a 7-day trial, card required.
Schedule WordPress posts from your AI agent
Scheduling through PostEverywhere works differently from WordPress's own scheduler, and it is worth knowing how.
WordPress schedules a post by saving it with a future date, so it sits in wp-admin as "Scheduled". PostEverywhere does not send a future-dated post. It holds the post and publishes it at the time you set.
Until then, nothing is on your site, which means the post will not show in wp-admin's Scheduled list. You see it in the PostEverywhere content calendar instead, next to the social posts that promote it.
The upside is that the article and its announcements share one clock and one calendar. The downside is that someone who only looks in wp-admin will not see what is coming.
If your editors live in wp-admin, use pending or draft for anything they need to review, and schedule only what is final.
If you would rather plan without an assistant, you can also schedule WordPress posts directly in the composer's Blog post mode, with a date and time or the next opening in your posting queue.
WordPress MCP limits and requirements
Everything here is either a WordPress requirement or a limit on our side. I would rather you read it now than hit it on launch day.
Your site
- Self-hosted WordPress 5.6 or later, served over HTTPS. WordPress only allows application passwords over a secure connection.
- The REST API reachable. Some security plugins block it.
- The authorization header reaching WordPress. Some hosts (certain Apache CGI setups) strip it.
- A user with the Administrator, Editor or Author role.
- WordPress.com sites need only your WordPress.com login.
Media
- Up to 20 images per post: JPEG, PNG, GIF or WebP, up to 50 MB each (HEIC and AVIF are converted to JPEG).
- One video per post, MP4, MOV or WebM. Your site's own upload limit is the real cap.
- WordPress.com's free and Personal plans do not accept video uploads. That is a WordPress.com plan limit.
What is not supported yet
- Pages, custom post types, galleries and post formats
- SEO plugin fields and the post author
- Editing or deleting a post after it is published
- WordPress analytics (WordPress core has no stats API)
- The iPhone app: WordPress works in the web app, the API and the hosted MCP server
Cost. WordPress and the hosted MCP server are included on every plan, from Lite at $9 a month, and a WordPress site counts as one connected account. There is no free plan; every plan starts with a 7-day trial with a card required. The plans page has the details.
WordPress MCP security: application passwords and revoking access
Giving an AI agent write access to a website should make you a little nervous. Here is how the access is built and how to take it away.
Application passwords are not your login. WordPress's application passwords documentation describes them as passwords tied to one user, stored hashed and shown only once at creation. They "cannot be used to log into wp-admin", so even if one leaked, nobody could use it to sign in to your dashboard. PostEverywhere refuses a normal login password outright.
Revoke the site connection in WordPress. Go to Users → Profile → Application Passwords and revoke the one PostEverywhere uses. The connection stops at once. PostEverywhere flags the site for reconnection, and any post that fails because of it tells you why.
Revoke the agent in PostEverywhere. When Claude or ChatGPT connects, approving it creates an access key you can see and delete on the Developers page. Delete it, and remove the connector in your assistant.
Posts already scheduled still go out, because the queue lives in PostEverywhere rather than in the chat.
Keep a human in the loop for anything public. Agent posts skip PostEverywhere's approval step, so the review happens in WordPress: ask for draft or pending, and publish from wp-admin.
Claude also asks your permission before it runs a tool, which matches the MCP specification's principle that hosts "must obtain explicit user consent before invoking any tool". Leave those prompts on until the results are reliably right.
Pick the role for the job. Connect as an Author if the agent only needs to publish posts, and as an Editor if it should create categories. You rarely need an Administrator.
Only connect servers you trust. That is Claude's own advice in its connector documentation, and it applies to every option in this guide, ours included. Our piece on giving AI agents safe access to your accounts goes further on how to scope access.
Troubleshooting WordPress MCP connections
Connection errors come back with a code and a plain-language message, so the agent can often tell you exactly what to fix.
| Error | What it means | Fix |
|---|---|---|
WP_INVALID_URL |
The address is not valid or not HTTPS | Enter the full https:// address, including any folder such as /blog |
WP_NOT_WORDPRESS |
WordPress was not found at that address | Check the address opens your WordPress site |
WP_REST_DISABLED |
The site blocks the REST API | Allow the REST API for logged-in users in your security plugin |
WP_NOT_APP_PASSWORD |
A normal login password was used | Create an application password under Users → Profile |
WP_AUTH_FAILED |
WordPress rejected the username and password | Check the username, create a new application password, and allow application passwords in any security plugin |
WP_APP_PASSWORDS_DISABLED |
Application passwords are switched off | Turn them back on in the security plugin or with your host. HTTP basic auth protection on the site also disables them |
WP_NO_PUBLISH_PERMISSION |
The user cannot publish posts | Connect as an Administrator, Editor or Author |
WP_BLOCKED |
A firewall refused the connection | Allow PostEverywhere in your security plugin |
A few problems that are not WordPress errors:
- The assistant cannot see PostEverywhere. In Claude, switch the connector on in the tools menu for that conversation. In ChatGPT, pick it from the tools for the chat and check Developer mode is still on.
- A post failed when it was due. Ask the agent to check account health. If you revoked or changed the application password, reconnect the site from Accounts, then ask the agent to retry.
- The title is not what you expected. If no title is set, PostEverywhere uses a leading
# Headingline, then the first line of the body. Ask for a title explicitly. - Formatting looks off on a non-admin account. When the body is raw HTML, WordPress filters it for users without the
unfiltered_htmlcapability. Simple formatting avoids this.
The full list of codes, including the rarer ones, is in the troubleshooting section of the WordPress API guide.
Ready to let your assistant publish? Connect WordPress, Claude or ChatGPT, and your social accounts in one place. Start your 7-day trial, card required.
WordPress MCP FAQs
What is a WordPress MCP server?
A WordPress MCP server gives an AI assistant tools it can call to act on a WordPress site, using the Model Context Protocol. It either runs on the site as a plugin or is hosted elsewhere and reaches the site through the REST API.
Is there an official WordPress MCP server?
Yes. WordPress maintains the MCP Adapter, a plugin for WordPress 6.9 and later that exposes abilities from core, plugins and themes as MCP tools. WordPress.com also has its own MCP server on paid plans. Automattic's older wordpress-mcp plugin is archived.
Do I need a plugin to connect Claude to WordPress?
Not with a hosted server. PostEverywhere connects to your site with an application password, which is built into WordPress 5.6 and later, so nothing is installed on the site. The MCP Adapter route does need a plugin.
Can ChatGPT publish to WordPress?
Yes. Add PostEverywhere as a custom connector in ChatGPT's Developer mode, which needs a paid ChatGPT plan on the web, and ChatGPT can draft, schedule or publish posts to your connected WordPress site.
Does it work with WordPress.com?
Yes. WordPress.com sites connect with your WordPress.com login in the PostEverywhere dashboard. Self-hosted sites can also be connected from the chat with an application password.
Can the agent edit or delete a post after it is published?
No. Scheduled posts can still be changed in PostEverywhere, but once a post is live on your site, edit or delete it in WordPress.
Is it safe to give an AI agent access to my WordPress site?
It can be, if you scope it. Use an application password for a user with only the role the job needs, have the agent save drafts or pending posts for review, and revoke the password or the agent's key the moment you stop using it.
How much does WordPress MCP cost with PostEverywhere?
WordPress and the hosted MCP server are included on every plan, from $9 a month. There is no free plan; every plan starts with a 7-day trial and a card is required.
Sources
- Model Context Protocol, Specification (2025-06-18): hosts, clients, servers, and the user consent principles.
- WordPress, MCP Adapter on GitHub and its getting-started guide: WordPress 6.9+ and PHP 7.4+ requirements, HTTP and STDIO transports.
- Make WordPress AI, MCP Adapter announcement: the Abilities API relationship and application password authentication.
- Automattic, wordpress-mcp repository: archived and deprecated in favour of the MCP Adapter.
- WordPress.com, MCP server documentation: paid plans, OAuth 2.1, one connection for every site.
- WordPress, Application Passwords and the 5.6 integration guide: HTTPS, hashing, revocation, the Authorize Application flow.
- WordPress, REST API Handbook.
- Anthropic, Getting started with custom connectors using remote MCP.
- W3Techs, Usage statistics of WordPress, checked 5 October 2026.

Founder & CEO of PostEverywhere. Writing about social media strategy, publishing workflows, and analytics that help brands grow faster.



