Garenne Bigby

Home / Blog / I spent 6 hours trying to connect Claude to my WordPress site. So I built the plugin that should have existed.

I spent 6 hours trying to connect Claude to my WordPress site. So I built the plugin that should have existed.

I built IATO MCP, a free, AI-agnostic WordPress plugin that connects your site to whatever AI tool you already use.

I had a simple goal. I wanted to run a content refresh across 400 published articles on a WordPress site built with Elementor. I wanted to do it from Claude Desktop, the AI tool I already use every day, with the audit data from my own crawler feeding into the same conversation. Read a post, see what’s broken, fix it, move on.

This should be a solved problem in 2026. It is not.

After six hours of trying every plausible option, I gave up on the existing landscape and built IATO MCP, a free, AI-agnostic WordPress plugin that connects your site to whatever AI tool you already use. WordPress and Elementor native, with more page builders coming. This post is the story of why it had to exist, and what each of the alternatives got almost-right.

The workflow I was actually trying to do

The job was content refresh, the kind of work agencies do constantly:

  • Pull a post
  • Look at what the audit data says about it (thin content, broken links, missing alt text, weak title, orphan page, whatever)
  • Update the content, the SEO meta, the alt tags
  • Move to the next one

400 times.

If the site had been plain Gutenberg WordPress, almost any AI plugin could have handled it. But this was Elementor. And Elementor doesn’t store content as HTML in post_content like a normal WordPress post. It stores it as a serialized JSON blob in a meta field called _elementor_data. Touch that JSON wrong and the page breaks. Update it without clearing Elementor’s CSS cache and the frontend doesn’t reflect your changes. Skip the content regeneration step and your search results, RSS feed, and any non-Elementor reader of the post still show the old version.

So I needed an MCP server inside WordPress that understood Elementor natively. I tried three.

Plugin 1: msrbuilds/elementor-mcp

This one looked perfect on paper. Built specifically for Elementor. Open source. Active development.

The problem was distribution. It lives on GitHub, not the WordPress.org plugin directory, and it depends on a second plugin called MCP Adapter that also lives on GitHub. Both plugins are distributed as source; they expect you to run composer install after cloning to pull down their PHP dependencies into a vendor/ folder before the plugin will function.

I installed both plugins through the WP Admin uploader. They activated cleanly. No errors.

And then nothing. No settings page appeared. No REST endpoints registered. Silent failure.

The reason: missing Composer autoloader. Without the vendor/ folder, the plugin’s classes can’t load, and there’s no graceful failure mode that tells you that’s why. The fix would have been to:

  1. Install Composer on a local machine
  2. Clone the repo
  3. Run composer install
  4. Zip the plugin with the vendor/ folder included
  5. Upload the zip through WP Admin
  6. Repeat that entire dance every time the plugin updates

If you have SSH access to your server, this is annoying but doable. I had WP Admin only, which is the situation most agencies are in for most of their client sites. There was no clean path to production.

This is a real pattern, by the way. A lot of “MCP for WordPress” projects on GitHub assume you’re a developer with full server access. That assumption excludes the entire WordPress audience these tools claim to serve.

Plugin 2: AI Engine by Meow Apps

AI Engine is a mature, heavily-installed plugin on WordPress.org with an MCP server feature in its free tier. After the msrbuilds saga, the install experience felt like sunshine. One click, no Composer, no dependencies. The MCP endpoint worked on the first try.

But the tools it exposed were generic WordPress post CRUD: get post, update post, create post. Which is fine, for a normal WordPress site.

For Elementor, it wasn’t enough. To update an Elementor page through generic CRUD tools, I would have had to:

  • Read the post meta manually to get the _elementor_data JSON
  • Parse it, modify it, re-serialize it correctly
  • Write it back, hoping the JSON escaping survived the round trip
  • Manually invalidate _elementor_css so the frontend reflected changes
  • Regenerate the rendered post_content so search and RSS stayed in sync

For one post, an afternoon’s worth of careful prompting. For 400 posts, an unacceptable amount of surface area for things to break silently. Elementor breakage usually only shows up when a real visitor lands on the page.

AI Engine is a good plugin. It just wasn’t built for this.

Plugin 3: IATO MCP (the one I ended up building)

Six hours in, I had two options. Spend another day duct-taping AI Engine into something that could safely handle Elementor JSON, or build the plugin I actually wanted.

I built it.

IATO MCP installs directly from the WordPress.org plugin directory. No Composer. No dependencies. No vendored PHP libraries to build. On activation the plugin generates an Application Password, surfaces a setup wizard that produces ready-to-paste config for Claude Desktop and other MCP clients, and exposes its endpoint at a predictable URL.

The toolset is purpose-built for content audit-and-fix workflows. 52 tools split into two categories:

The first 40 are WordPress native tools that work immediately with no account required: get and update posts and pages, read and write Elementor JSON safely with dry-run preview and automatic CSS cache clearing, update SEO meta through Yoast, RankMath, or SEOPress (auto-detected), manage alt text, menus, taxonomies, redirects, structured data, and canonical URLs. Every write returns a change receipt so any AI-made change can be rolled back with a single call.

The second group is 12 IATO bridge tools that connect your WordPress site to your IATO crawl data: SEO audit results, broken link reports, orphan page detection, content gap analysis, AI-prioritized fix suggestions, and crawl control. These require an IATO API key entered in the plugin settings.

That last part was the unlock for me. One MCP server, one Claude conversation, both the audit step and the fix step. Instead of running two separate tools and copy-pasting between them, the AI can look at the audit findings for a post and update the post in the same turn.

The comparison, honestly

Need IATO MCP AI Engine (free) msrbuilds
Read post content
Detect Elementor
✅ Dedicated tool
Read Elementor JSON
✅ purpose-built
⚠️ via raw post meta
Write Elementor JSON
✅ with dry-run + cache clear + content regen
⚠️ raw post meta only
Yoast / Rank Math / SEOPress
✅ native
⚠️ generic only
Crawl audit data in same MCP
✅ built-in bridge
❌ separate server
Install without SSH/Composer
Works on first activation
❌ silent failure

AI Engine is genuinely good. If you’re working on a Gutenberg site, install it and don’t think about it again. msrbuilds has the right feature ambition but a distribution model that assumes developer-level server access. IATO MCP exists because the intersection (Elementor-native, install-anywhere, audit-data-aware) wasn’t being served.

What this is, and what it isn’t

I want to be specific about scope, because the AI tooling space earns its reputation for overpromises.

IATO MCP ships with 52 tools split into two clear categories. The first 40 are WordPress native tools. They activate immediately with no account required and cover the complete read-write lifecycle for a WordPress site: get and update posts and pages, read and write Elementor JSON safely, update SEO meta through Yoast, RankMath, or SEOPress (auto-detected, no configuration), manage alt text, menus, taxonomies, redirects, structured data, and canonical URLs. Every write tool returns a change receipt with a unique ID and before/after values, so any AI-made change can be rolled back with a single call.

The second category is 12 IATO bridge tools. These connect your WordPress site to your IATO crawl data: SEO audit results, broken link reports, orphan page detection, content gap analysis, AI-prioritized fix suggestions, and crawl control. They require an IATO API key, which you enter in the plugin settings. IATO has a free tier covering up to 500 pages per crawl. The Professional plan is $49 a month for up to 10,000 pages.

What IATO MCP is:

  • A free, open-source WordPress plugin that exposes a clean MCP interface for AI tools to read and update your site
  • AI-agnostic. Works with Claude Desktop, Gemini, ChatGPT, or any MCP-compatible client
  • WordPress and Elementor native today; Gutenberg, Divi, and WPBakery support is in the toolset, with deeper page builder coverage shipping in future releases
  • A bridge to the broader IATO platform at iato.ai, which handles crawl auditing, sitemap visualization, and multi-site SEO management for agencies

What it isn’t (yet):

  • An autonomous agent. Every change is driven by a prompt you write or approve. The AI proposes; you decide.
  • A full self-healing site. Autopilot is on the roadmap, but the trust layer ships first. When agents make changes to client sites without a human in the loop, the failure modes are real: broken layouts, ranking drops, content rollback nightmares. Getting that right matters more than shipping it fast.

The plugin is step 1 of a longer arc. Step 2 is the IATO platform layer that lets agencies see across many client sites at once. Step 3 is autonomy, when the rollback and governance infrastructure is solid enough to stand behind it.

Why I’m releasing this free

Two reasons, both honest.

The first is that I needed this to exist. The six hours I spent hitting dead ends with existing solutions was six hours I could not spend on the actual content audit I was trying to run. Building an initial version took less time than I expected. Making it production-quality for other agencies’ sites took considerably longer: handling edge cases in Elementor’s JSON structure, implementing optimistic concurrency so parallel AI writes do not corrupt each other, wiring up the rollback system so before_value is validated before any undo goes through, writing the setup wizard so it generates valid config for Claude Desktop and other MCP clients. The delta between “works for me” and “works safely on a client site you cannot afford to break” was worth closing before releasing it.

The second reason is strategic and I want to be direct about it. The plugin makes IATO’s crawl platform more valuable. If you install IATO MCP on a site, that site is already AI-readable and AI-writable. The platform is the natural next layer when you want to manage a fleet of those sites from one place: running audits across all of them, seeing which have the most critical issues, queuing fixes and pushing them through the same MCP connection without switching tools. The plugin is a standalone tool that also happens to be a better on-ramp to the platform than any landing page.

The 40 WordPress native tools are free permanently with no account required. That is not a trial. If that is all you ever need, that is all you ever need.

Try it

Download from the WordPress.org plugin directory, or grab it from iato.ai/wordpress-mcp.

Connect it to whichever AI tool you already use. Run a few prompts against your own site. See if it saves you the six hours it would have saved me.

If it does, tell another agency. 


Garenne Bigby is the founder of iato.ai and Dyno Mapper. He’s been building site crawling and SEO tooling since before “agentic” was a word people used in product copy.