# Connecting Royal MCP to ChatGPT

> Connect Royal MCP to ChatGPT through Plugins and Developer Mode, with setup for Plus, Pro, Team, Business, Enterprise and Edu plans and write-action gating.

- Canonical: <https://royalplugins.com/support/royal-mcp/connecting-to-chatgpt/>
- HTML version: <https://royalplugins.com/support/royal-mcp/connecting-to-chatgpt/>

---

Connect Royal MCP to ChatGPT via **Plugins** (previously called Custom Apps, and originally Custom Connectors) — a Developer-Mode feature available on every paid ChatGPT plan. Setup is a one-time Developer Mode toggle plus a New Plugin configuration. Read the plan-tier note immediately below before starting; what ChatGPT can *do* with Royal MCP depends on which plan you’re on.

OpenAI has renamed this feature twice

Same feature, three names in the last year: **Custom Connectors** → **Custom Apps** → **Plugins** (current, as of August 2026). Older Royal Plugins support docs and OpenAI’s own historical documentation may still use the earlier names. Wherever you see any of the three, they refer to the same feature. This page uses the current name (Plugins) throughout.

Read first — plan tier determines what ChatGPT can DO with Royal MCP

ChatGPT’s Plugins feature behaves differently across plans:

- **Free** — no Plugins at all
- **Plus / Pro** — Plugins work, but ChatGPT is limited to **read/fetch actions only** (read your posts, pages, settings, WooCommerce data; cannot create, update, or delete)
- **Team** — read + limited write actions
- **Business / Enterprise / Edu** — full read + write/modify support

If you want the full “AI publishes my blog post” / “AI updates my products” experience, you need Business tier or higher on ChatGPT. On Plus or Pro you’ll get read-only — useful for reporting + analysis, but not for content management. (Claude.ai has no such tier gate — if you need write actions and you’re on a personal ChatGPT plan, [Claude is the better fit](https://royalplugins.com/support/royal-mcp/connecting-to-claude/) until OpenAI lifts the restriction.)

## First — Install and Enable Royal MCP

Before connecting anything to ChatGPT, Royal MCP needs to be running on your WordPress site. Three small steps:

#### Install the plugin

In wp-admin, go to **Plugins → Add New**, search for **Royal MCP**, and click **Install Now**. Or download the latest version from [wordpress.org/plugins/royal-mcp/](https://wordpress.org/plugins/royal-mcp/) and upload the zip.

#### Activate

On the Plugins page, click **Activate** under Royal MCP. A new **Royal MCP** item appears in your wp-admin sidebar.

#### Enable the integration + flush Permalinks

Go to **Royal MCP → Settings → General Settings** and turn on the **Enable Royal MCP Integration** toggle (it’s off by default after activation). Then go to **Settings → Permalinks** and click **Save Changes** once — this flushes WordPress’s rewrite rules so the OAuth endpoints resolve. Don’t skip this; the ChatGPT setup below won’t work until rewrites are flushed and Permalinks must not be set to “Plain.”

Quick sanity check before moving on

Open `https://example.com/.well-known/oauth-authorization-server` in any browser. If you see a JSON response listing `issuer`, `authorization_endpoint`, and `scopes_supported`, Royal MCP is live and the ChatGPT setup below will work. If you see a 404 or an HTML page, jump to the [troubleshooting checklist](https://royalplugins.com/support/royal-mcp/troubleshooting-start-here/) — something is intercepting your request before it reaches WordPress.

## Enable Developer Mode in ChatGPT

Custom Plugins live behind ChatGPT’s **Developer Mode** — a feature gate that signals to OpenAI you understand the security implications of granting external services tool access. You enable it once per account; it stays on until you turn it off. Developer Mode also unlocks the full tool surface an MCP server exposes — without it, ChatGPT connectors are limited to search / knowledge-base tool patterns, and Royal MCP’s 100+ WordPress tools won’t be reachable.

#### Sign in to ChatGPT

Open [chatgpt.com](https://chatgpt.com) in any browser. You must be on a plan that supports Plugins (Plus, Pro, Team, Business, Enterprise, or Edu — Free tier doesn’t have the feature).

#### Open Settings → Plugins

Click your profile icon (bottom-left of the ChatGPT sidebar) and choose **Settings**. In the Settings panel that opens, click **Plugins** in the left sidebar. (This tab was called *Apps* before the August 2026 rename, and *Connectors* before that.)

![ChatGPT Settings panel showing the Plugins section selected in the left sidebar. The main panel header reads Plugins with the subtitle Manage plugins you have installed. A Permissions row at the top offers Choose when ChatGPT should ask for permission when using plugins with the current setting Allow low-risk actions. Below that, a list of installed plugins includes Canva (Connected), Default templates, Documents, PDF, Presentations, Royal Plugins Demo (Connected), and Spreadsheets.](https://royalplugins.com/royal-mcp/images/chatgpt-plugins-panel.webp)

ChatGPT → Settings → Plugins. The list shows both OpenAI first-party plugins (Canva, Documents, PDF, etc.) and a connected Royal MCP install (“Royal Plugins Demo”). This tab was called “Apps” before the August 2026 rename, and “Connectors” before that.

#### Open Advanced settings → toggle Developer Mode ON

Near the bottom of the Plugins panel, click **Advanced settings**. Toggle **Developer Mode** to ON. OpenAI shows an ELEVATED RISK warning about the responsibilities that come with Plugins — read it and confirm.

![ChatGPT Plugins Advanced settings panel showing the Developer mode toggle switched ON (blue), labelled with an ELEVATED RISK badge. Warning text notes that developer mode allows you to add unverified plugins that could modify or erase data permanently, memory is disabled, and to use at your own risk. A second toggle for Enforce CSP in developer mode is OFF below it. The composer at the bottom shows a DEVELOPER MODE indicator.](https://royalplugins.com/royal-mcp/images/chatgpt-developer-mode-toggle.webp)

Developer Mode ON. The ELEVATED RISK badge and the “Memory is disabled” note are part of the toggle — OpenAI’s explicit acknowledgment that you’re running unverified MCP servers.

If the Developer Mode toggle doesn’t appear

Three things to check: (1) you’re on a paid tier — Free ChatGPT doesn’t have it; (2) if you’re on Team / Business / Enterprise / Edu, your organization’s admin may have disabled Developer Mode for member accounts — check with them; (3) very recent Plus/Pro upgrades sometimes need a sign-out + sign-in to pick up the new account capability.

## Add Royal MCP as a Plugin

With Developer Mode on, the **Add more** button appears at the top-right of the Plugins panel. Clicking it opens the **New Plugin** dialog — this is where you tell ChatGPT how to reach Royal MCP.

#### Click Add more → the New Plugin dialog opens

Back on **Settings → Plugins**, click **Add more** (top-right of the panel). The **New Plugin** dialog opens.

#### Fill in the New Plugin dialog

The dialog has several fields plus a mandatory risk-acknowledgment checkbox. The icon is optional; skip it unless you want a custom badge in your Plugins list:

- **Name** — a memorable label that appears in your Plugins list. Something like “My WordPress Site” or your site name works well.
- **Description** — *actually matters*: ChatGPT reads this to decide WHEN to invoke the Plugin during conversations. Be specific. Good: *“Manages content, settings, and WooCommerce data on my WordPress site.”* Bad: *“WordPress MCP.”*
- **Connection → Server URL** — your Royal MCP server endpoint: `https://example.com/wp-json/royal-mcp/v1/mcp` (substitute your bare domain only — no leading `https://` in the substitution, the protocol is already in the template). The dialog’s placeholder shows `https://example.com/sse` — ignore that, Royal MCP uses the streamable HTTP MCP transport at the URL above, not SSE. (The **Tunnel** radio option next to Server URL is for developers running an MCP server locally via ngrok-style tunneling — not what you want for Royal MCP on a public WordPress site.)

![ChatGPT New Plugin dialog fully filled in. Name field shows My Royal Plugins. Description shows Manages content settings and Woocommerce data on my WordPress site. Connection is set to Server URL (Tunnel option visible to the right). URL field shows an example Royal MCP endpoint. Authentication dropdown shows OAuth. Advanced OAuth settings row reads Review discovered OAuth settings or enter them manually then choose a client setup method and configure default scopes. The mandatory I understand and want to continue checkbox is checked. The Create button at the bottom-right is now active and ready to click.](https://royalplugins.com/royal-mcp/images/chatgpt-new-app-filled.png)

New Plugin dialog with a Royal MCP setup ready to submit. The icon is optional; everything else above is required, including the I understand and want to continue acknowledgment.

#### Click Create

Set **Authentication** to **OAuth** (default). The **Advanced OAuth settings** row will show “Review discovered OAuth settings” once you’ve entered a valid URL — that means ChatGPT successfully auto-discovered Royal MCP’s OAuth metadata and you don’t need to configure anything manually. Then check the mandatory **I understand and want to continue** box (OpenAI gates Create behind an explicit risk acknowledgment for unverified MCP servers). Click **Create**. If the URL fails validation, double-check it returns 401 to an unauthenticated request (the correct behavior — means the endpoint exists and is gating access). Run `curl -s -o /dev/null -w "%{http_code}\n" https://example.com/wp-json/royal-mcp/v1/mcp` from any terminal to verify before retrying.

No Client ID / Client Secret to configure in ChatGPT

ChatGPT’s Plugin handles OAuth through Royal MCP’s own OAuth endpoints — you don’t paste a Client ID or Client Secret into ChatGPT. When you click Create, ChatGPT redirects you through Royal MCP’s `/authorize` → `/token` flow automatically. (Unlike Claude Desktop, ChatGPT doesn’t currently expose a Custom Headers field, so there’s no API-key bypass path. If OAuth is blocked by a WAF or Cloudflare on your host, see the [troubleshooting checklist](https://royalplugins.com/support/royal-mcp/troubleshooting-start-here/) — the same fixes apply regardless of which AI platform you’re connecting from.)

## Approve the OAuth Consent

After you click Create, ChatGPT redirects you through Royal MCP’s OAuth consent flow. This is identical to the Claude OAuth flow — Royal MCP’s OAuth server doesn’t care which client is asking.

[

Your browser doesn’t support embedded video. The same steps are written out below.
](/royal-mcp/videos/chatgpt-connect-with-oauth.webm)

ChatGPT OAuth flow end-to-end (90 seconds, no audio). Note the brief “unknown error” message near the end — the Plugin still connects successfully. That’s a known ChatGPT-side UX quirk, covered in [troubleshooting](#if-something-goes-wrong) below.

#### ChatGPT shows a “Sign in with...” prompt

Before the actual OAuth flow starts, ChatGPT displays a confirmation modal titled **Add <your Plugin name> to ChatGPT** with a single **Sign in with <your Plugin name>** button. Three trust notes appear below it: permissions are respected, you’re in control of your data, and connectors may introduce risk. Click **Sign in** to proceed — this is when ChatGPT actually opens the OAuth handshake with your WordPress site.

![ChatGPT Add to ChatGPT confirmation modal titled Add Royal Plugins Demo to ChatGPT. A single Sign in with Royal Plugins Demo button (with an external-link arrow icon) sits in the middle. Three sections below it read Permissions always respected (ChatGPT is strictly limited to permissions you explicitly set), You are in control (ChatGPT always respects your data preferences), and Connectors may introduce risk (Connectors are designed to respect your privacy but sites may attempt to steal your data). Plugins is highlighted in the left sidebar.](https://royalplugins.com/royal-mcp/images/chatgpt-signin-prompt.webp)

ChatGPT’s pre-OAuth confirmation modal. Nothing has happened yet on your WordPress site — the OAuth flow starts when you click Sign in.

#### Browser opens the consent screen on your WordPress site

A new browser tab loads `https://example.com/authorize?...` (your domain). You’ll see your site name, the application requesting access (ChatGPT), and the specific actions Royal MCP will allow it to perform on your behalf — reading posts/pages/media, creating and editing content, managing categories/tags/menus, and viewing site settings + user info.

![Royal MCP OAuth consent screen as it appears in the browser. The Royal Plugins R logo is at the top. The heading reads ChatGPT wants to connect to your WordPress site. A box titled THIS WILL ALLOW THE APPLICATION TO lists four permissions with green checkmarks: Read your posts pages and media, Create and edit content, Manage categories tags and menus, View site settings and user info. Below that the signed-in account and target site are shown. At the bottom are Deny and Authorize buttons, with Powered by Royal MCP underneath.](https://royalplugins.com/royal-mcp/images/chatgpt-oauth-consent.png)

Royal MCP’s OAuth consent screen. The permissions listed are the same scopes Royal MCP grants to any MCP client — ChatGPT, Claude, or otherwise — via the `mcp:full` scope.

#### Click Authorize

Royal MCP issues an access token, returns it to ChatGPT, the consent tab closes automatically.

#### Back in ChatGPT — Plugin is marked active

Return to the ChatGPT Settings → Plugins panel. Your new Plugin now appears in the list with a Connected state. Clicking it opens the Plugin detail view: a **Connection** row identifying the Plugin, a **Permissions** row (defaults to “Allow low-risk actions” — we cover this in the next section), and an **Actions** list showing every MCP tool Royal MCP exposes with its input schema and risk tags. You’re ready to use it in conversations — but before you do, set the permissions level (next section).

![ChatGPT Settings showing the newly-connected DEMO RP Plugin detail view. Plugins is highlighted in the left sidebar. The Plugin header shows a cloud icon, the name DEMO RP, and a Back button. A Permissions row reads Choose when ChatGPT should ask for permission when using this plugin with the current setting Allow low-risk actions (DEFAULT). A Developer mode divider follows. Below that an Actions section lists tools, with acf_add_field visible as the first entry, tagged PUBLIC WRITE, OPEN WORLD, DESTRUCTIVE. The tool description reads Royal MCP Pro — Add a single field to an existing ACF field group with positioning (append, prepend, or relative to another field key), and its Input Schema JSON is partially visible below.](https://royalplugins.com/royal-mcp/images/chatgpt-plugin-connected.webp)

Plugin detail view post-connection. Every Royal MCP tool is listed in Actions with its input schema and risk classification — ChatGPT reads these to decide when to invoke each tool.

#### If the Actions list is empty — use Refresh to reconnect

Occasionally ChatGPT reports a successful Create but the Plugin detail view shows *“No app actions available yet.”* in the Actions section, sometimes accompanied by a red error banner at the top. Scroll down to the **Information** section on the same page and click the **Refresh** button in its header. ChatGPT re-runs the connection handshake — you may be sent through the OAuth authorize page a second time. Once the retry succeeds the Actions section populates with every Royal MCP tool. This retry is safe to run multiple times; each attempt appears in **Royal MCP → Activity Log** so you can pinpoint the failing handshake step if it keeps missing.

Refresh is also available on the three-dot menu at the top-right of the Plugin detail view, where the same action is labeled **Reconnect** — see the [Managing the Plugin Later](#managing-plugin) section below.

Keep WP Admin open while connecting

Open **Royal MCP → Activity Log** in a separate browser tab before clicking Create in ChatGPT. You’ll see live entries fire as the OAuth handshake progresses (`oauth:register` → `oauth:authorize` → `oauth:token`). If anything fails, the Activity Log shows you which step + the exact reason — that’s the single most useful diagnostic Royal MCP gives you.

## Set the Plugin’s Permissions

ChatGPT’s Plugins UI added a per-Plugin **Permissions** setting that controls when ChatGPT asks you to approve an action. It’s a new addition (was not present in the earlier Custom Apps UI) and worth setting explicitly — the default may not match how you want to use Royal MCP.

#### Open the Plugin’s Permissions row

From **Settings → Plugins**, click your Royal MCP Plugin, then click the **Permissions** row (or scroll to it in the detail view). You’ll see four options.

![ChatGPT Plugin Permissions screen for Royal Plugins Demo. The heading Choose when ChatGPT should ask for permission when using this plugin is followed by four radio options. Always ask (ChatGPT will ask before reading or making changes). Allow read actions (ChatGPT can read without asking but will ask before making changes). Allow low-risk actions with a DEFAULT badge and selected radio (ChatGPT will automatically approve low-risk actions but may deny actions involving sensitive information). Allow all actions with an ELEVATED RISK badge (ChatGPT will not ask before reading or taking action).](https://royalplugins.com/royal-mcp/images/chatgpt-plugin-permissions.webp)

The per-Plugin Permissions screen. Default is “Allow low-risk actions.”

#### Pick the level that matches how you want to work

The four levels, in ascending trust:

- **Always ask** — ChatGPT asks for confirmation on *every* Royal MCP action, read or write. Most cautious. Slows down workflow but no surprises.
- **Allow read actions** — ChatGPT reads (posts, pages, settings, products) without asking, but confirms before creating/editing/deleting. Good default for content review + analysis workflows.
- **Allow low-risk actions** (DEFAULT) — ChatGPT decides which actions are “low risk” and executes those without asking; asks for anything it flags as sensitive. Reasonable middle ground, but note ChatGPT makes the judgment call about what counts as low-risk.
- **Allow all actions** (ELEVATED RISK) — no confirmation prompts at all. ChatGPT can create, update, delete without asking. Fastest workflow for “AI is my publishing assistant” use cases, but you should only pick this if you trust your own prompts + have backups (SiteVault handles that).

Note: on Plus / Pro tiers, ChatGPT can’t perform write actions regardless of what you pick here — the plan-tier gate is upstream of this setting. On Business+ tiers, this setting actually controls the approval flow.

Our recommendation

For most Royal MCP use cases, **Allow read actions** is the safest choice on paid personal tiers, and **Allow low-risk actions** is a reasonable default on Business+ — but if you’re running an agentic workflow (ChatGPT publishes drafts, updates products, etc.) and want the least friction, **Allow all actions** with a fresh SiteVault backup before you start is the fastest path. You can change this any time from Settings → Plugins.

## Use Royal MCP in Conversations

Plugins aren’t auto-included in every chat — you toggle them on per-conversation via the message composer.

#### Open a new conversation

Start a fresh chat in ChatGPT.

#### Click the + button next to the message composer

The + button is to the left of the input field. Click it to open the tools menu.

#### Click More → pick your Royal MCP Plugin

Expand the **More** section and find your Royal MCP Plugin in the list. Click it to add the Plugin to the current conversation’s context.

#### Ask ChatGPT to do something

The Plugin is now available for the rest of this conversation. Try: *“What’s the title and tagline of my site?”* — ChatGPT will invoke `wp_get_site_info` and respond with your actual site data.

Plugins don’t persist across new chats by default

You’ll re-add the Plugin each time you start a fresh conversation (via the + → More menu). Some ChatGPT tiers expose a way to pin frequently-used Plugins as a default; check your Settings → Plugins for a “Default to all chats” option on each Plugin card.

Mobile + desktop sync automatically

Once you’ve added the Plugin on ChatGPT web, it’s automatically available in the ChatGPT mobile apps (iOS / Android) and the ChatGPT desktop apps (macOS / Windows) on the same account. No re-configuration needed.

## Verify It’s Working

A few first commands to confirm the connection. These all use read actions, so they work on every supported plan tier:

- *“What’s the title and tagline of my site?”* → calls `wp_get_site_info`, returns your site title, description, language, WordPress version.
- *“List my five most recent published posts.”* → calls `wp_get_posts` with a status filter.
- *“What plugins are installed and which ones have updates available?”* → calls `wp_get_plugins`.

If ChatGPT responds with your site-specific data, you’re connected. If you get a generic “I don’t have access to that” response, the Plugin isn’t toggled on in this conversation — go back to the + → More menu and add it.

![ChatGPT successfully responding to a verification prompt asking to check the connection to the Royal MCP endpoint. ChatGPT shows Looked for available tools and Called tool expandable sections, then confirms the connection is working and retrieves site info including site name, WordPress version, language, and timezone.](https://royalplugins.com/royal-mcp/images/chatgpt-verify-working.png)

ChatGPT calls `wp_get_site_info` and reports back the site’s actual metadata — confirming end-to-end the OAuth handshake, the Plugin wiring, and Royal MCP’s tool invocation are all working.

### For Business / Enterprise / Edu plans — write actions

If you’re on a tier with write support, try:

- *“Create a draft post titled ‘Test from ChatGPT’ with body ‘This is a test.’”* → calls `wp_create_post`. ChatGPT asks for manual confirmation before executing (unless you’ve enabled approval memory for this connector in conversation settings).

If write actions silently fail with a generic error on Plus or Pro, that’s the plan tier gate — not a Royal MCP issue. The fix is upgrading to Business tier or higher (or switching to [Claude.ai](https://royalplugins.com/support/royal-mcp/connecting-to-claude/), which has no such gate).

## Managing the Plugin Later — Reconnect, Disconnect, Delete

Once your Plugin is connected, the Plugin detail view exposes a small management surface. Most users never need to touch it, but knowing which button does what saves headaches when something changes on the WordPress side (license expired, OAuth reset, site moved) and you need to reconfigure ChatGPT to match.

#### Open the three-dot menu (top-right of the Plugin detail view)

From **Settings → Plugins**, click your Plugin, then click the **…** icon in the top-right corner of the detail view. Six options appear: **View plugin detail**, **Edit name**, **Edit description**, **Reconnect**, **Disconnect**, and **Delete**.

#### Reconnect

Re-runs the connection handshake against your WordPress site. Typically triggers the OAuth authorize page a second time. Use this when the Plugin is still registered in ChatGPT but the connection has degraded — for example after a temporary network blip during the initial connect, or when the Actions list appeared empty and you want to retry without recreating the Plugin from scratch. Identical in behavior to the **Refresh** button in the *Information* section further down the same page — ChatGPT just uses two different labels for the same action depending on which UI surface you’re on.

#### Disconnect

Revokes the current access token on the ChatGPT side but keeps the Plugin registration (name, description, server URL, OAuth client\_id) intact. ChatGPT stops calling your WordPress site until you Reconnect. Use this if you want to temporarily pause the Plugin without losing the configuration. Note that on some ChatGPT screens this same action shows up under the label **Uninstall** — it’s the same operation, just a different name.

#### Delete

Removes the Plugin entirely from ChatGPT — registration, tokens, and client\_id all gone. Requires you to re-add the Plugin from scratch through **Add more → New Plugin** (starting from the top of this guide). Use this when you want a completely clean slate, and specifically when you’ve reset OAuth state on the WordPress side (see the callout below).

If you Reset OAuth State in WordPress: use Delete, not Disconnect

When you click **Reset OAuth State** under Royal MCP → Settings (or run any tool that revokes all issued OAuth clients on the WordPress side), ChatGPT’s stored client\_id becomes invalid. **Reconnect** and **Disconnect** both preserve that stale client\_id, so retrying with either will keep hitting authentication failures. The only reliable recovery path is **Delete** the Plugin from ChatGPT, then re-add it from scratch — that creates a fresh OAuth client registration on both sides.

ChatGPT’s label inconsistency — quick reference

ChatGPT uses different words for the same action depending on which screen you’re on. When troubleshooting or following instructions, translate as needed:

| Same action, labeled… | …in one place | …in another |
| --- | --- | --- |
| Re-run the connection / retry OAuth | **Refresh** (Information section) | **Reconnect** (three-dot menu) |
| Revoke tokens, keep registration | **Uninstall** (some panels) | **Disconnect** (three-dot menu) |
| Wipe registration entirely | **Delete** (three-dot menu only) | |

## If Something Goes Wrong

ChatGPT-specific issues + the cross-platform issues that affect any OAuth-based MCP setup:

Before troubleshooting: verify the connection is actually broken

ChatGPT sometimes shows an error banner right after Authorize even when the connector is fully working. Before working through the table below, run one quick check: in a new chat, prompt *“Use Royal MCP to list my last 5 posts.”* If real data comes back, you’re connected — the error was cosmetic. If nothing comes back or ChatGPT says it doesn’t have access, use the table.

| Symptom | Likely cause | Fix |
| --- | --- | --- |
| Developer Mode toggle doesn’t appear in Plugins → Advanced settings | Free tier OR org admin disabled it | Upgrade plan / contact org admin |
| Create button rejects the Server URL | URL not reachable from public internet (localhost / private IP / blocked) | Verify Royal MCP endpoint resolves externally via `curl` |
| OAuth consent screen never appears after Create | Browser popup blocker, OR your host returned an error on `/authorize` | Disable popup blockers; check Royal MCP Activity Log for the failure |
| Consent screen appears but Authorize button does nothing | OAuth callback URL mismatch, or host-side CORS issue | See [troubleshooting hub](https://royalplugins.com/support/royal-mcp/troubleshooting-start-here/) |
| Plugin created but “Couldn’t reach the MCP server” when used | Almost always shared-hosting WAF blocking the inbound MCP request | Same fixes as Claude side — see [troubleshooting hub](https://royalplugins.com/support/royal-mcp/troubleshooting-start-here/) |
| “Unknown error” shown briefly after Authorize, but Settings → Plugins shows the Plugin as connected | Known ChatGPT-side UX quirk during the final OAuth callback — the handshake actually completed successfully | Ignore the error message. Verify in **Settings → Plugins** that your Royal MCP Plugin appears in the list with a Connected on date. If it does, you’re good. If the Plugin didn’t appear, start over from the New Plugin dialog. |
| “Something went wrong with setting up the connection” immediately after Authorize, and the Plugin does NOT appear in Settings → Plugins | Developer Mode not actually engaged — the toggle didn’t take, or was never turned on | Return to Settings → Plugins → Advanced settings and confirm the **Developer Mode** toggle is ON. Recreate the Plugin from the New Plugin dialog after enabling. On Free tier, Developer Mode isn’t available — use [Claude](https://royalplugins.com/support/royal-mcp/connecting-to-claude/) instead. |
| OAuth completes but ChatGPT reports zero tools OR names a specific tool as invalid (e.g. “Invalid MCP tool schema for tool ‘wc\_create\_order’”) | Tool schema shape rejected by ChatGPT’s strict schema validator | Update Royal MCP to **1.4.44.1 or later**. If the wp.org auto-updater hasn’t offered it yet, download the current build from the [GitHub releases page](https://github.com/royalplugins/royal-mcp/releases) and install via Plugins → Add New → Upload Plugin. |
| Connector works initially, then tools disappear on the second chat message or in a new conversation | Known ChatGPT-side session bug affecting multiple MCP servers — documented in OpenAI Developer Community reports | Start a fresh conversation. If it persists, delete and re-add the Plugin. If still broken, [Claude Desktop](https://royalplugins.com/support/royal-mcp/connecting-to-claude/) is unaffected and works as an alternative until OpenAI ships the fix. |
| Write actions silently fail on Plus / Pro plan | Plan tier gate — write actions require Business+ on ChatGPT | Upgrade tier OR use [Claude.ai](https://royalplugins.com/support/royal-mcp/connecting-to-claude/) (no tier gate) |
| ChatGPT keeps asking to confirm every action | Plugin’s Permissions is set to “Always ask” or “Allow read actions” | Settings → Plugins → your Royal MCP Plugin → Permissions — change to **Allow low-risk actions** or **Allow all actions**. See the [Set Permissions section](#set-permissions) above. |
| Plugin works in chat but ChatGPT doesn’t use it | Description field too generic — ChatGPT can’t tell when to invoke it | Edit the Plugin, add a more specific description naming what your site contains (“blog content, product catalog, customer orders”) |

For any OAuth-flow failure that isn’t ChatGPT-specific (Cloudflare Zero Trust hijack, SiteGround `.well-known/` 404, ModSecurity 406, etc.) — the [troubleshooting start-here page](https://royalplugins.com/support/royal-mcp/troubleshooting-start-here/) covers all of them. The fixes work across Claude, ChatGPT, and any other MCP client.

## Claude vs ChatGPT — When to Use Which (or Both)

Royal MCP supports both Claude and ChatGPT simultaneously — same WordPress site, same plugin, no extra license, no per-platform limit. You don’t have to choose. But the experience differs:

|  | Claude.ai (web + Desktop) | ChatGPT |
| --- | --- | --- |
| Plugins (formerly Custom Apps / Connectors) on Free tier | Yes | No — paid tier required |
| Write actions on individual paid tier | Yes | Limited (Plus/Pro = read-only) |
| API-key bypass (skip OAuth entirely) | Yes (Claude Desktop) | No — OAuth-only currently |
| Setup complexity | Single dialog | Settings toggle + Plugin dialog + permissions setting |
| Mobile sync | Yes | Yes |

**Our honest take:** Claude.ai is currently the better-fit platform for Royal MCP because it doesn’t gate write actions behind a tier upgrade and supports the API-key bypass for OAuth-blocked hosts. ChatGPT works fine for read / analysis use cases (monthly content audits, SEO reporting, WooCommerce sales summaries on Plus or Pro), but for “AI publishes my blog post” workflows on a personal account, Claude is the easier path until OpenAI lifts the tier gate.

Many users run both at once and pick whichever fits the task.

## Still Stuck? Two Support Paths

If you’ve worked through the checklist and your connection still fails:

### Community Support (free) — wp.org Plugin Forum

Post a new thread at [wordpress.org/support/plugin/royal-mcp/](https://wordpress.org/support/plugin/royal-mcp/). The Royal Plugins team monitors the forum regularly. Include the diagnostic info below.

### Premium Support (paid) — direct one-on-one help

For priority response (24-hour SLA) and hands-on diagnostic help, our [Premium Support tier](https://royalplugins.com/premium-support/) is $149/year. Direct email, full refund if we can’t resolve your issue.

#### Information to include in your post or ticket

- **Which ChatGPT plan** you’re on (Plus / Pro / Team / Business / Enterprise / Edu).
- **Which step failed** (Developer Mode toggle missing, Server URL rejected, OAuth consent didn’t appear, consent succeeded but ChatGPT can’t reach the server, etc.).
- **Screenshot of the Activity Log** in Royal MCP with the most recent `oauth:*` rows visible, View Details expanded on the failing row.
- **The exact error message** ChatGPT shows.
- **Your hosting provider** and whether Cloudflare is in front of the site.

[Troubleshooting checklist](https://royalplugins.com/support/royal-mcp/troubleshooting-start-here/)
[Back to Royal MCP Support](https://royalplugins.com/support/royal-mcp/)
