GeneratePress AI lets an AI app build and edit your WordPress site through MCP. Your app connects straight to your site; nothing passes through GeneratePress. You approve access on your own site, and you can revoke it at any time.
It works with the AI app you already use, such as Claude Code, Codex or the Claude app. GeneratePress AI has no AI model of its own: it makes no AI requests and stores no AI keys.
On this page
What it can and can’t do
GeneratePress AI gives your AI app a set of guarded tools. It builds with GenerateBlocks and your site’s own design system, and anything that changes your live site waits for you.
It can
- Build pages, posts and sections with GenerateBlocks, using your Global Styles and, with GenerateBlocks Pro 2.8, your Design Tokens. They’re saved as drafts.
- Search the GenerateBlocks pattern libraries and your own patterns, and build with them.
- Create draft headers, footers and templates with GP Premium Elements or the Template Engine.
- Create draft forms, overlays and mega menus with GenerateBlocks Pro.
- Create Global Styles, patterns, display conditions, menus, and terms such as categories and tags.
- Rewrite text, rearrange blocks and change block settings on existing pages, after you approve each change.
- Import images, and install Google Fonts into the GP Premium Font Library.
- Change a few site settings after you approve: the site title, tagline, homepage, posts page, logo, site icon and permalinks.
- Render a page to check its work before it saves anything.
- Answer support questions by searching the official GeneratePress and GenerateBlocks source code for the versions you have installed.
It can’t
- Publish pages, posts, forms, overlays, headers, footers or templates. You review the drafts and publish them in WordPress. Global Styles are the one exception: the AI can publish a new style if you ask it to.
- Write raw HTML, CSS or JavaScript. Everything goes through GenerateBlocks blocks, and icons are checked against a safe SVG subset.
- Delete pages or posts, or change custom fields.
- Edit existing menus, users, plugins, themes, or settings beyond the ones above.
- Edit content built with other page builders.
- Run on WordPress Multisite.
Good to know
- New patterns and display conditions are saved ready to use, but nothing on your site changes until a page uses them.
- WordPress has no draft menus, so a new menu can show up straight away if your theme displays menus automatically.
- If the AI turns on GP Premium’s Font Library or GenerateBlocks Pro’s Overlay Panels, that module is on for the whole site.
Before you start
You need:
- WordPress 7.0 or newer and PHP 8.1 or newer, on a single site (not Multisite).
- An active GeneratePress One license.
- GenerateBlocks 2.3 or newer. GenerateBlocks Pro 2.6 adds Global Styles and Pro blocks, and Pro 2.8 adds Design Tokens. Forms need Enable Forms turned on in the GenerateBlocks settings.
- The MCP Adapter plugin from WordPress.org. GeneratePress AI offers to install it for you.
- HTTPS, unless the site runs on your computer as a local development site.
- An administrator account. You approve the connection while signed in as one.
- An AI app. Claude Code and Codex work best.
Before you connect:
- Finish everything under Remaining setup in Settings → GeneratePress AI.
- Find your server URL under Settings → GeneratePress AI → Other AI apps. It looks like
https://example.com/wp-json/generatepress-ai/mcp. Every example on this page usesexample.com, so swap in your own address. -
Check where your app connects from:
- Claude Code and Codex run on your computer, so in a local session they can reach a site that runs on your computer too.
- The Claude app and claude.ai, ChatGPT on the web, and Grok connect from their own servers. They need a live or staging site that the internet can reach.
Connect your AI app
Claude Code and Codex are recommended: they also work with a site on your computer, with no tunnel to set up.
Paste it from Settings → GeneratePress AI → Other AI apps, or type your site’s address. The examples on this page change to match. Nothing you type is sent anywhere.
Fastest: let your AI set it up
Copy this into a new chat in Claude Code or Codex. It uses the server URL above, and it also works in most other AI apps that can add MCP servers.
Connect this AI client to my WordPress site using GeneratePress AI.
MCP server URL:
https://example.com/wp-json/generatepress-ai/mcp
OAuth authorization-server metadata URL:
https://example.com/wp-json/generatepress-ai/oauth/metadata/authorization-server
Use this client’s native remote HTTP MCP support with OAuth sign-in. If these URLs use https:// and the client supports an explicit authorization-server metadata URL, configure that URL directly; otherwise use standard discovery. If they use http://, this is a local development site: don’t set the metadata URL, and keep the http:// addresses as they are.
If this site runs on my computer, for example at a .local or localhost address, only a session running on this computer can reach it. If you are running in the cloud or on another machine, tell me to start a local session instead.
If you can make HTTP requests, first send one to the MCP server URL. A 401 response with a JSON body means the site is reachable. If you get an HTML page, a security challenge or a firewall block page instead, stop: tell me my site’s firewall is blocking the connection, and point me to https://learn.generatepress.com/ai#firewall.
Complete every setup step you can perform yourself. If you can start browser sign-in, do it; I will approve access on a WordPress page.
When you reach a step only I can do, such as signing in from your app’s settings, reloading your tools, or starting a new chat, stop there. Check this app’s current steps with your own tools, the installed client’s help, or its official documentation, then tell me in short numbered steps exactly what to do. If I need to continue in a new chat, give me one sentence to paste there that includes this site’s MCP server URL and asks you to verify the connection through that server with a read-only GeneratePress AI tool call. Do not report success yet.
Once the connection is available to you, verify it with a read-only GeneratePress AI tool call. Only report success once that works. If setup fails, investigate supported configuration fixes before asking me to troubleshoot.
Then follow the steps your AI gives you, and approve access when your site asks.
Or follow the steps for your app:
- Claude Code (recommended)
- Codex and the ChatGPT desktop app (recommended)
- Claude app and claude.ai
- ChatGPT on the web
- Grok
- Cursor
- VS Code
- Another app
Claude Code
Works in the terminal and in the Code tab of the Claude app. For a site on your computer, start a local session.
The easiest way is the setup prompt above: paste it into a Claude Code chat and follow the steps it gives you.
Or ask Claude to run this command, with your own server URL and name:
claude mcp add-json --scope user generatepress-ai-example-com '{"type":"http","url":"https://example.com/wp-json/generatepress-ai/mcp","oauth":{"authServerMetadataUrl":"https://example.com/wp-json/generatepress-ai/oauth/metadata/authorization-server"}}'
Then:
- Type
/mcp, select the server, and choose Authenticate. - Approve access on the page that opens on your site.
- If the tools don’t appear, start a new chat, or quit and reopen the app and return to your chat. Then check the connection.
On a local site served over plain http://, use this command instead. It leaves out the sign-in address, which Claude Code accepts only over HTTPS:
claude mcp add --transport http --scope user generatepress-ai-example-local http://example.local/wp-json/generatepress-ai/mcp
Ask Claude to run these commands for you: their quoting works in bash and zsh, but not in Windows PowerShell. To sign in from a terminal instead of /mcp, run:
claude mcp login generatepress-ai-example-com
Codex and the ChatGPT desktop app
The ChatGPT desktop app, the Codex CLI and the Codex IDE extension share one set of MCP settings, so adding the server once covers all three.
The easiest way is the setup prompt above, pasted into a Codex chat.
Or add the server in the app, without a terminal:
- Open the app’s settings, go to MCP servers, and add a server.
- Enter a name, such as
generatepress-ai-example-com, choose Streamable HTTP, and paste your server URL. - Save, then restart when the app asks.
- Choose Authenticate, then approve access on your site.
Or from a terminal:
codex mcp add generatepress-ai-example-com --url https://example.com/wp-json/generatepress-ai/mcp
codex mcp login generatepress-ai-example-com
Codex finds your site’s sign-in on its own. If your host blocks that, see The app can’t find how to sign in.
Claude app and claude.ai
This adds GeneratePress AI as a custom connector on your Claude account. It then works in Claude on the web, desktop and mobile, in Cowork, and in Claude Code when you’re signed in with the same account.
- Open Claude’s Add custom connector dialog. Sign in to Claude if it asks.
- Paste your server URL, then choose Add.
- Choose Connect, then approve access on your site.
- Claude connects from Anthropic’s servers, so your site must be reachable from the internet. A site on your computer needs Claude Code instead.
- If a firewall protects your site, Claude’s requests come from Anthropic’s address range,
160.79.104.0/21. See A firewall blocks the connection. - The Free plan allows one custom connector. On Team and Enterprise plans, an Owner adds the connector for the organization first.
ChatGPT on the web
Availability depends on your account and workspace policy. Turn on Developer mode if it is offered, add your server URL as a remote MCP server, complete sign-in, and review the tools ChatGPT finds. ChatGPT connects from OpenAI’s servers, so your site must be reachable from the internet.
Grok
Add your server URL as a custom connector. If Grok shows OAuth Credentials Required, use Client ID and OAuth details, as described under Another app.
Cursor
Not yet tested. Add the server to ~/.cursor/mcp.json, or to .cursor/mcp.json in a project:
{
"mcpServers": {
"generatepress-ai-example-com": {
"url": "https://example.com/wp-json/generatepress-ai/mcp"
}
}
}
VS Code
Not yet tested. Add the server to .vscode/mcp.json in a workspace:
{
"servers": {
"generatepress-ai-example-com": {
"type": "http",
"url": "https://example.com/wp-json/generatepress-ai/mcp"
}
}
}
Another app
Any app that supports remote MCP servers with OAuth sign-in can connect. Enter the values from Settings → GeneratePress AI → Other AI apps:
Server URL, your site’s MCP server:
https://example.com/wp-json/generatepress-ai/mcp
Transport: Streamable HTTP. If the app asks for a server type, choose HTTP or Streamable HTTP.
Sign-in: OAuth. The app opens your site so you can approve access.
Authorization server metadata URL, only if the app asks for it:
https://example.com/wp-json/generatepress-ai/oauth/metadata/authorization-server
Name, anything you like, but different for each site. For example:
generatepress-ai-example-com
If the app asks for a Client ID or OAuth credentials, open Client ID and OAuth details on the same screen and choose Generate connection details. Copy the Client ID, authorization endpoint, token endpoint and mcp scope. Leave the client secret empty, and choose none (PKCE only) for token authentication. If the app gives you its own OAuth callback URL, choose Use a different client and paste that exact URL.
Check the connection
After you approve access, ask your AI:
Check your connection to my WordPress site.
It should answer by calling a read-only GeneratePress AI tool.
Using GeneratePress AI
Talk to your AI app as you would to a developer who knows your site. It looks at what’s installed, your Global Styles and your patterns, then builds with them.
Try these first
Inspect this site’s GeneratePress AI capabilities, then propose one improvement to the homepage and stage it as a draft or preview for my approval. Do not publish anything.
Build a landing page for our spring sale as a draft, using my Global Styles.
Find a pricing table pattern and add it to a new draft page.
Shorten the hero text on the About page, and show me the change before you save it.
What has GeneratePress AI changed on this site today?
How changes work
- New pages, posts, forms, overlays, headers, footers and templates arrive as drafts. Review them and publish them in WordPress.
- Changes to existing content, Global Styles, Design Tokens and site settings are staged first. Your AI shows you what will change, and content changes include a private preview link you can open in WordPress.
- Nothing is saved until you approve in your AI app. A staged change expires after two hours, and it’s refused if the page changed in the meantime.
- Every tool checks your WordPress permissions, so the AI can only do what your account can do.
Undo a change
- Each approved content edit saves a normal WordPress revision. Restore the earlier version from the page’s revisions in the editor, or ask your AI to list them.
- For a Global Style, ask your AI to restore its previous version.
- Delete drafts you don’t want in WordPress.
Tips
- Name the page you mean. The AI can find pages by title or slug.
- With several sites connected, say which one, for example by its server name.
- Ask for a preview before big changes.
- Ask “What has GeneratePress AI changed?” to see its recent activity.
Troubleshooting
A firewall blocks the connection
Your app reports an error such as 403 or “blocked”, or a page titled “Just a moment…” or “Sorry, you have been blocked”, often with a Ray ID. The request never reached WordPress, so GeneratePress AI can’t see it or fix it. It can also happen partway through a build, because some firewall rules inspect request content, and page designs contain HTML.
Allow requests to addresses that start with /wp-json/generatepress-ai/. Everything your AI app requests lives there. The approval page opens in your own browser, so it isn’t affected.
On Cloudflare:
Add a custom rule under Security rules with this expression. Choose the Skip action, and skip the managed rules, Super Bot Fight Mode and rate limiting.
starts_with(http.request.uri.path, "/wp-json/generatepress-ai/")
Bot Fight Mode, on the Free plan, can’t be skipped by a rule. If it’s on, turning it off for the site is the only fix.
If you only connect from the Claude app or claude.ai, you can allow Anthropic’s address range instead of the path:
160.79.104.0/21
For other firewalls and security plugins, allow the same path.
If your host runs the firewall, send them this:
Please let my AI app reach my WordPress site’s GeneratePress AI addresses. They are every address on my site that starts with one of these:
/wp-json/generatepress-ai/
/.well-known/oauth-protected-resource
/.well-known/oauth-authorization-server
/.well-known/openid-configuration
Please make sure requests to them aren’t cached, redirected or shown a bot challenge, and that the Authorization request header reaches PHP.
To check: a request to https://example.com/wp-json/generatepress-ai/mcp without signing in should get HTTP 401 with a JSON body. An HTML page, a redirect, a 403 or a challenge means something is still in the way.
These rules let requests to those addresses skip the firewall’s checks. Anything that reads or changes your site still needs an approved connection.
Don’t:
- Skip the firewall for a header or user agent. Anyone can send those.
- Make WordPress REST routes public or turn off your security plugin.
- Ask your AI to rewrite or encode content to get past the firewall.
A security plugin blocks it
Some security plugins turn off the WordPress REST API for visitors who aren’t signed in, or block addresses under /wp-json/. Your AI app uses those addresses before it’s signed in, to find your site’s sign-in and finish connecting. In the plugin’s settings, allow addresses that start with /wp-json/generatepress-ai/, or leave that path out of its REST API restriction.
Approved, but every request is refused
You approve access on your site, but your app says it isn’t signed in, shows a 401 error, or asks you to approve again. Some servers and proxies drop the Authorization header that carries the sign-in, so WordPress never sees it.
Ask your host to pass the Authorization request header through to PHP. On Apache, WordPress’s standard .htaccess rules already do this. If your .htaccess file was customized, check that it still has this line from those rules:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Then try again in a new chat.
The app can’t find how to sign in
Some hosts block addresses that contain /.well-known/, which most apps use to find your site’s sign-in. Tools → Site Health shows whether AI apps can discover your site. Ask your host to let /.well-known/ requests reach WordPress. Until then, Claude Code can still connect with the command above, because it includes the sign-in address directly.
The tools don’t appear after approving
Start a new chat, or quit and reopen the app and return to your chat. In Claude Code, /mcp shows each server’s status. In Codex, restart the app.
Your site runs on your computer
Use Claude Code or Codex in a local session. Apps that connect from their own servers can’t reach it.
Remove access
Revoke any app on the Settings → GeneratePress AI screen, or under Connected AI clients on your WordPress profile. The app loses access immediately.