Publish the autumn opening-hours post on harbourline, and warm the palette up a little — the greys feel cold.
Your WordPress.
Inside ChatGPT and Claude.
Connect a site with an application password. Ask for the change. Nothing is installed on the site.
harbourlinewp_posts_writePublished “Autumn opening hours” · post 412wp_global_styles_updateBase palette: slate → warm sand, 3 colours changed
Published, and the palette is warmer. Both changes are reversible: the post has a revision, and the previous global styles are saved.
Restore handle rev:412@9f2c1b — ask for it back and the post returns to its previous revision.
One site. Four clients.
The same connector URL everywhere. Each client asks for the sign-in in its own way.
https://wpreef.app/mcpChatGPTDeveloper mode connector
- Settings → Connectors → Advanced, and turn on Developer mode.
- Create a connector, paste the wpreef URL and choose OAuth.
- Sign in when ChatGPT opens the consent screen.
- After adding or removing a site here, open the connector and press Refresh — ChatGPT caches the tool list.
ClaudeCustom connector
- Settings → Connectors → Add custom connector.
- Paste the wpreef URL exactly — do not add an /sse suffix.
- Sign in when Claude opens the consent screen.
- After adding or removing a site here, reconnect the connector.
Claude Codeclaude mcp add
- Run claude mcp add --transport http wpreef <the wpreef URL>.
- Run /mcp inside Claude Code and choose Authenticate.
- Finish the sign-in in the browser tab it opens.
- Run /mcp again after changing your sites so the tool list is re-read.
Cursormcp.json
- Settings → MCP → Add new global MCP server.
- Add wpreef with the URL and type "http".
- Press the login prompt Cursor shows and complete the sign-in.
- Reload the server entry after adding or removing a site.
Connect it. Ask for the change. Undo if you like.
Three steps between a WordPress site and the assistant you already have open.
Add an application password
WordPress mints it for one account. Revoke it there at any time and wpreef stops immediately.
Paste one URL into your client
ChatGPT, Claude, Claude Code and Cursor all take the same connector URL.
Every write returns a restore handle
Posts keep their revision, design changes keep the previous global styles. Ask for it back.
What counts as an action?
One successful change: publishing, editing, uploading, restyling, a menu or navigation write. Reads never count. A refused or failed call never counts, and neither does a dry run. Free includes 10 actions on your site, once; they do not renew and they are still there if you cancel later.
What can’t it do?
Content, media and block-theme design work over the WordPress REST API with nothing installed. Switching themes, running updates, Customizer values and site settings have no REST route in WordPress, so they need the optional companion plugin — and each group of those stays switched off until you turn it on at Tools → wpreef.
- It cannot install this plugin for you: WordPress only installs from wordpress.org over REST.
- It cannot reach a site over plain http, or a private, loopback or link-local address.
- It cannot fetch a URL the model invented unless you allow it for that site.
Is my password safe?
The application password is sealed with AES-256-GCM before it is stored, and it never appears in a log, an error, an audit line or a tool result. It is an application password, not your WordPress login, and revoking it in WordPress ends wpreef’s access at once.
What the credential can do is the real boundary. wpreef shapes how easily each WordPress capability is reached, but it does not sandbox the model: an application password can do whatever its WordPress account can do. Use an Editor account for content work. Design tools need edit_theme_options, which is an administrator capability — a design-capable credential is an admin credential.