Connecting Royal MCP to ChatGPT
Connect Royal MCP to ChatGPT via Custom Apps (recently renamed from “Custom Connectors”) — a Developer-Mode feature available on every paid ChatGPT plan. Setup is a one-time Developer Mode toggle plus a New App configuration. Read the plan-tier note immediately below before starting; what ChatGPT can do with Royal MCP depends on which plan you’re on.
ChatGPT’s Custom Apps feature behaves differently across plans:
- Free — no Custom Apps at all
- Plus / Pro — Custom Apps 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 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/ 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 connectors below won’t work until rewrites are flushed and Permalinks must not be set to “Plain.”
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 connectors below will work. If you see a 404 or an HTML page, jump to the troubleshooting checklist — something is intercepting your request before it reaches WordPress.
Enable Developer Mode in ChatGPT
Custom MCP Apps 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.
Sign in to ChatGPT
Open chatgpt.com in any browser. You must be on a plan that supports Custom Apps (Plus, Pro, Team, Business, Enterprise, or Edu — Free tier doesn’t have the feature).
Open Settings → Apps
Click your profile icon (bottom-left of the ChatGPT sidebar) and choose Settings. In the Settings panel that opens, click Apps in the left sidebar.
ChatGPT → Settings → Apps. Custom Apps replace what was previously called Custom Connectors.
Open Advanced settings → toggle Developer Mode ON
Near the bottom of the Apps panel, click Advanced settings. Toggle Developer Mode to ON. OpenAI shows an ELEVATED RISK warning about the responsibilities that come with Custom Apps — read it and confirm.
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.
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 Custom App
With Developer Mode on, the Add more button appears at the top-right of the Enabled apps panel. Clicking it opens the New App dialog — this is where you tell ChatGPT how to reach Royal MCP.
Click Add more → the New App dialog opens
Back on Settings → Apps, click Add more (top-right of the Enabled apps panel). The New App dialog opens. (OpenAI recently renamed “Connectors” to “Apps” in the UI — same feature, new name. You may still see older documentation referring to “Custom Connectors.”)
Fill in the New App 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 apps list:
- Name — a memorable label that appears in your apps list. Something like “My WordPress Site” or your site name works well.
- Description — actually matters: ChatGPT reads this to decide WHEN to invoke the app 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 leadinghttps://in the substitution, the protocol is already in the template). The dialog’s placeholder showshttps://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.)
New App 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.
ChatGPT’s Custom App 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 — 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.
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’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 — app is marked active
Return to the ChatGPT Settings → Apps panel. Your new app now appears in the Enabled apps list with an active state. Clicking it opens the app detail view showing the Information section (Connected on date, URL, OAuth status, Version metadata) and a Preferences section. You’re ready to use it in conversations.
App detail view post-connection. The DEV badge next to the name indicates this is a Developer Mode app — OpenAI disables the “Reference memories and chats” toggle for any Developer Mode app (expected behavior, not a Royal MCP limitation).
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.
Use Royal MCP in Conversations
Custom Apps 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 app
Expand the More section and find your Royal MCP app in the list. Click it to add the app to the current conversation’s context.
Ask ChatGPT to do something
The connector 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.
You’ll re-add the app each time you start a fresh conversation (via the + → More menu). Some ChatGPT tiers expose a way to pin frequently-used apps as a default; check your Settings → Apps for a “Default to all chats” option on each app card.
Once you’ve added the app 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_postswith 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 app isn’t toggled on in this conversation — go back to the + → More menu and add it.
ChatGPT calls wp_get_site_info and reports back the site’s actual metadata — confirming end-to-end the OAuth handshake, the connector 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, which has no such gate).
If Something Goes Wrong
ChatGPT-specific issues + the cross-platform issues that affect any OAuth-based MCP setup:
| Symptom | Likely cause | Fix |
|---|---|---|
| Developer Mode toggle doesn’t appear in Apps → 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 |
| App 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 |
| “Unknown error” shown briefly after Authorize, but Settings → Apps shows the app as connected | Known ChatGPT-side UX quirk during the final OAuth callback — the handshake actually completed successfully | Ignore the error message. Verify in Settings → Apps that your Royal MCP app appears in the Enabled apps list with a Connected on date. If it does, you’re good. If the app didn’t appear, start over from the New App dialog. |
| Write actions silently fail on Plus / Pro plan | Plan tier gate — write actions require Business+ on ChatGPT | Upgrade tier OR use Claude.ai (no tier gate) |
| App works in chat but ChatGPT doesn’t use it | Description field too generic — ChatGPT can’t tell when to invoke it | Edit the app, 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 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 | |
|---|---|---|
| Custom apps (formerly 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 + connector dialog |
| 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/. 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 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.