How to connect Claude or ChatGPT to Squirrly SEO
August 4, 2026

Squirrly SEO 14.2.0
Install the free MCP Adapter plugin, create a WordPress Application Password, and give your AI assistant your site address ending in /wp-json/. Squirrly SEO 14.2.0 and later publishes nine tools the assistant can use to read and update your SEO. You need WordPress 6.9 or newer and a site served over HTTPS.
What does this feature do?
It lets an AI assistant work inside your WordPress site instead of beside it. You stop pasting page content into a chat window and pasting suggestions back into Squirrly. The assistant reads the real SEO data and writes the changes itself.
The connection uses the WordPress Abilities API, which is part of WordPress core from version 6.9. Squirrly registers a set of tools, called abilities, and any AI tool that speaks the Model Context Protocol can find and use them. Your assistant signs in as a normal WordPress user, so it can only do what that user is allowed to do, and you can cut off its access in one click.
Your Squirrly account stays private
You never give the AI tool your Squirrly password, your Squirrly API key, or any part of your Squirrly Cloud account. Those values are removed from everything the assistant can see, even when it connects as an administrator.
What do you need before you start?
| Requirement | Why it is needed |
|---|---|
| WordPress 6.9 or newer | The Abilities API ships with WordPress core from 6.9. On older versions Squirrly works exactly as before, without this feature. |
| Squirrly SEO 14.2.0 or newer | This is the version that publishes the tools. |
| The MCP Adapter plugin | Free, from the WordPress core AI team. It is the component that lets an AI tool talk to your site. Search for “MCP Adapter” under Plugins, Add New. It needs PHP 7.4 or newer. |
| HTTPS on your site | WordPress only offers Application Passwords on sites served over https://. On a plain http:// site the option does not appear at all. |
How do you connect an AI assistant?
Three steps, in order.
- Create an Application PasswordAn Application Password lets one specific app sign in without knowing your real password. Go to Users, Profile, scroll to Application Passwords, type a name you will recognise later such as “Claude”, and click Add New Application Password. Copy the value that appears. WordPress shows it only once.If there is no Application Passwords section on the page, your site is not on HTTPS. That is a WordPress rule, not a Squirrly one.
- Decide which user the assistant connects asWhatever that user can do, the AI tool can do. To let an assistant edit article SEO without touching site-wide settings, create a separate user for it instead of using your own administrator login. The role table below shows what each role allows.
- Point the AI tool at your siteGive the tool your site address with
/wp-json/on the end, your WordPress username (not your email address), and the Application Password.https://yoursite.com/wp-json/Then test it with a simple question, such as “What is the SEO title and meta description of my home page?” If the assistant answers with your actual title, the connection works.
What can the AI assistant do?
It can read and change the SEO of any page: the SEO title, meta description, keywords, canonical URL, the indexing switches, the Facebook and Twitter previews, and the Schema types. It can also read your global Squirrly settings and switch features on or off.
Rewrite the meta description of /pricing to be under 155 characters and mention our free trial.
Which of my published posts have no meta description set?
Turn on llms.txt so AI search engines can find my content.
With a Squirrly Cloud connection
If your site is connected to Squirrly Cloud, the assistant can also read your Briefcase keywords, your current Google rankings, your Focus Pages and their scores, past keyword researches, and the Live Assistant optimization checklist.
Compare my Briefcase keywords against the pages that actually rank, and tell me which keywords have no page targeting them.
Does this work with Royal MCP or another MCP plugin?
Yes, but you still need the MCP Adapter. Other MCP plugins keep working, and Squirrly runs alongside them. Three points matter.
Another MCP plugin will not show Squirrly’s tools on its own
Royal MCP publishes only its own tools to the AI client. It does not pass on tools registered by other plugins, and the same is true in reverse. If Squirrly is installed but your assistant cannot see any Squirrly tools, this is usually the reason.
Installing the MCP Adapter makes both work at once
The MCP Adapter publishes every registered ability, including Squirrly’s. Royal MCP already builds on it, so adding it does not disturb your existing setup. You end up with both sets of tools available to the same assistant.
Generic WordPress tools cannot reach Squirrly’s data
Tools such as wp_update_post_meta or wp_update_option will not find your per-page SEO, because Squirrly stores it in its own database table rather than in post meta. Generic SEO tools that detect Yoast, Rank Math or AIOSEO do not detect Squirrly either. The squirrly/ tools are the supported route.
Why Squirrly does not allowlist sq_options
Squirrly does not opt its settings into option-writing allowlists such as royal_mcp_writable_options. That single option holds your Cloud credentials next to your settings, and it is written as one JSON block, so a partial write would erase everything else in it.
The get-settings and update-settings tools exist so settings can be changed safely, one key at a time, with credentials removed.
What can the AI assistant not do?
Four limits are built in on purpose, so an assistant cannot cause damage you are unable to reverse.
- It cannot delete anything. Removing a Focus Page, a tracked keyword or a Briefcase entry deletes data from Squirrly Cloud that cannot be restored from WordPress. Those actions stay in the Squirrly interface, where you perform them deliberately.
- It cannot start a new keyword research. It reads researches you have already run. Starting a new one spends your Squirrly credits, so that stays your decision.
- It cannot read your credentials. Your Squirrly API key, Cloud token and site key are stripped from every response the assistant receives.
- It cannot connect or disconnect your site from Squirrly Cloud. That is done only from the Squirrly dashboard.
Which WordPress roles can do what?
Access follows the WordPress user you connect as. Squirrly assigns these permissions automatically when it is activated. There is no settings screen to configure them.
| Can it do this? | Subscriber | Contributor / Author | Editor | Admin |
|---|---|---|---|---|
| Update SEO of articles they can edit | No | Yes | Yes | Yes |
| Update SEO of any article | No | No | Yes | Yes |
| Change site-wide Squirrly settings | No | No | No | Yes |
| Read Briefcase and Live Assistant tasks | No | Yes | Yes | Yes |
| Read rankings and Focus Pages | No | No | Yes | Yes |
“Articles they can edit” follows normal WordPress rules. An Author can edit their own posts. A Contributor can only edit their own posts before they are published.
Two extra roles Squirrly adds
Alongside the standard WordPress roles, Squirrly creates two more. Assign either one under Users, All Users, Change role:
- Squirrly SEO Editor. Manages the SEO of every article, plus Focus Pages and rankings. Cannot change site-wide settings.
- Squirrly SEO Admin. Full Squirrly access, including site-wide settings.
Squirrly SEO Editor is the practical choice for an AI connection. Create a user, give it that role, and your assistant can work across the whole site without being a WordPress administrator.
How do you keep the connection secure?
- Use a dedicated user at the lowest role that does the job. You then have a single switch to turn the assistant off.
- Revoke access in one click. Go to Users, Profile, Application Passwords, and click Revoke. Access stops immediately and nothing else about your site changes.
- Create one password per tool, so you can cut off one assistant without disturbing another.
- Review site-wide changes before approving them. A page-level edit is easy to reverse. A settings change affects every page.
Troubleshooting
Why can’t my AI tool see any Squirrly tools?
Check four things in order. WordPress is 6.9 or newer, under Dashboard, Updates. The MCP Adapter plugin is installed and active. Squirrly SEO is 14.2.0 or newer. The Application Password was pasted correctly, including its spaces.Why is there no Application Passwords section on my profile?
WordPress hides it on sites that are not served over HTTPS. Install an SSL certificate and make sure your site address starts with https:// under Settings, General. This applies to every app that connects this way, not only Squirrly.Why does it say the assistant is not allowed to do that?
The WordPress user you connected does not have permission. Check the role table above. A Contributor or Author connection can read your Briefcase but cannot change the SEO of an article it does not own. That is the expected behaviour, not a fault.Why does it say my site is not connected to Squirrly Cloud?
Keyword, ranking and Focus Page data is stored in Squirrly Cloud. Connect the site from the Squirrly SEO dashboard, then try again. Page SEO and settings work whether or not the site is connected.Why does the keyword data look out of date?
Cloud responses are cached for five minutes, so an assistant working through many pages does not overload the connection. Wait a moment and ask again.I don’t use an AI tool. Do I need to do anything?
No. If you never create an Application Password, nothing is exposed and nothing about your site changes.
Developer reference
The tools are registered under the squirrly/ namespace and are available anywhere WordPress abilities are, including WP-CLI:
wp ability list
wp ability execute squirrly/get-seo --input='{"post_id":42}'Over REST there are two calling conventions, both set by WordPress core rather than by Squirrly. Read-only tools must use GET, with parameters in an input[...] query string. A POST to one returns 405 Read-only abilities require GET method. Writing tools must use POST, with parameters wrapped in an input object. Sending them at the top level returns 400 input is not of type object.
# discover
curl -u "user:xxxx xxxx xxxx xxxx" \
https://yoursite.com/wp-json/wp-abilities/v1/abilities
# read
curl -u "user:xxxx xxxx xxxx xxxx" \
"https://yoursite.com/wp-json/wp-abilities/v1/abilities/squirrly/get-seo/run?input[post_id]=42"
# write
curl -u "user:xxxx xxxx xxxx xxxx" -X POST \
-H 'Content-Type: application/json' \
-d '{"input":{"post_id":42,"seo":{"title":"New title"}}}' \
https://yoursite.com/wp-json/wp-abilities/v1/abilities/squirrly/update-seo/run| Tool | Type | Capability required |
|---|---|---|
squirrly/get-seo | read | sq_manage_snippets, or edit_post |
squirrly/update-seo | write | sq_manage_snippets, or edit_post |
squirrly/get-settings | read | sq_manage_settings |
squirrly/update-settings | write | sq_manage_settings |
squirrly/get-briefcase | read, Cloud | sq_manage_snippet |
squirrly/get-ranks | read, Cloud | sq_manage_focuspages |
squirrly/get-focus-pages | read, Cloud | sq_manage_focuspages |
squirrly/get-keyword-research-history | read, Cloud | sq_manage_snippet |
squirrly/get-live-assistant-tasks | read, Cloud | sq_manage_snippet |
Reading get-seo correctly
get-seo returns two blocks. seo holds what is stored for that page, which is what update-seo would overwrite. computed holds what the page currently outputs, which may come from an Automation pattern rather than a saved value.
Writing a computed value back converts an inherited Automation setting into a fixed value for that single page, so do it only on purpose. update-seo is otherwise a partial update: fields you leave out keep their current value. The exception is jsonld_types, which is a replacement list, so leaving a type out removes its stored schema data.



