10+
September 14, 2026
September 1, 2026
Airo WP AI Builder is a WordPress plugin that exposes your site to AI assistants via the Model Context Protocol (MCP). It also bundles a curated set of Gutenberg block patterns built on the Twenty Twenty-Five (tt5) theme, giving any connected AI a ready-made vocabulary for assembling pages.
MCP Server
Registers an MCP-compatible server endpoint that any AI client can connect to. Tools cover posts, pages, media, templates, navigation menus, and global styles. Clients authenticate with a standard WordPress Application Password — see the FAQ for details.
Block Patterns
A curated library of Gutenberg block patterns designed for the Twenty Twenty-Five theme. Patterns are sourced from the DesignSetGo project and automatically deferred when DesignSetGo is active to avoid duplication.
AI-agnostic
No specific AI is bundled or required. Connect Claude, GPT, Gemini, or any MCP-compatible assistant of your choice.
Connecting a client
The MCP endpoint is /wp-json/airo-wp/v1/mcp/streamable. Authentication uses a standard WordPress Application Password, which you create and revoke under Users -> Profile. HTTPS is required, because WordPress does not issue Application Passwords on non-SSL sites. See the FAQ below for the exact header, and the permissions each tool requires.
Developer highlights:
Package classes registered on plugins_loadeddependencies/ to avoid conflictsThe following features are planned for the v1 release:
This plugin optionally connects to two third-party services depending on which blocks are used.
Cloudflare Turnstile (form spam protection)
Used by the Form block when a Turnstile site key is configured under Settings Airo WP AI Builder Integrations.
When a visitor loads a page containing a form block, the Turnstile JavaScript widget is fetched from
https://challenges.cloudflare.com/. On form submission, the CAPTCHA token is verified by sending it
to https://challenges.cloudflare.com/turnstile/v0/siteverify along with the visitor’s IP address.
No data is sent if no Turnstile site key is configured.
Google Maps (map embed block)
Used by the Map block when a Google Maps API key is configured.
When a visitor loads a page containing a map block, the Google Maps JavaScript API is loaded from
https://maps.googleapis.com/. The visitor’s browser communicates directly with Google Maps servers.
No data is sent if no API key is configured.
airo-wp folder to /wp-content/plugins/, or install from your organization’s deployment pipeline.composer install in the plugin directory before activation (see CONTRIBUTORS.md).It registers an MCP server on your WordPress site and provides a block pattern library based on the Twenty Twenty-Five theme. You connect an AI client of your choice to the MCP endpoint and use it to read and write site content.
Any MCP-compatible AI client — Claude, GPT, Gemini, or others. The plugin does not bundle or require a specific AI.
Patterns are sourced from the DesignSetGo plugin. If DesignSetGo is active, Airo WP AI Builder defers to it automatically to avoid duplication.
The endpoint is:
https://example.com/wp-json/airo-wp/v1/mcp/streamable
Create a credential under Users -> Profile -> Application Passwords, giving it a name such as “Claude”. WordPress shows the generated password once only, so copy it before leaving the screen.
Combine your WordPress username and that password with a colon, base64-encode the result, and send it under the airowp authorization scheme:
Authorization: airowp YWRtaW46YWJjZCBFRkdIIGlqa2wgTU5PUCBxcnN0IFVWV1g=
Some clients offer only a bearer-token field rather than a full header. For those, prefix the same encoded value with airowp_ and send it as a bearer token:
Authorization: Bearer airowp_YWRtaW46YWJjZCBFRkdIIGlqa2wgTU5PUCBxcnN0IFVWV1g=
Both forms are equivalent. Note that base64 is encoding rather than encryption, so treat the encoded string as being exactly as sensitive as the password itself, and keep it out of shared configuration files.
Three common causes:
An error mentioning Mcp-Session-Id is not an authentication failure — it means the credential was accepted and the request reached the MCP server. The transport is session-based: call initialize first, then send the returned session id with every subsequent request. AI clients handle this automatically; it only comes up when calling the endpoint by hand.
Whatever the user you created the Application Password for is allowed to change. Authentication only establishes which user the request belongs to; every tool then checks a WordPress capability of its own — edit_posts to create a post, upload_files to add media, activate_plugins to activate a plugin, and so on.
A credential belonging to a Subscriber therefore connects successfully and is refused by every tool that modifies anything. Create the Application Password for a user whose role matches the access you intend to grant, and revoke it under Users -> Profile when it is no longer needed.
Not yet. The MCP specification defines an OAuth 2.1 authorization flow with discovery documents and a consent screen. This plugin does not implement it, so clients that require OAuth discovery cannot connect. The Application Password scheme described above is a configured credential instead. OAuth support is under consideration.
PHP 7.4 is the minimum. PHP 8.3 is the recommended version for local development. CI validates 7.4, 8.0, 8.1, 8.2, and 8.3.
Runtime Composer packages are namespace-prefixed with Strauss into dependencies/ so they do not clash with other plugins’ autoloaders.