# Another plugin is answering OAuth sign-in for your site

> Connecting ChatGPT, Claude or Cursor to Royal MCP fails with invalid_target? Another MCP or OAuth plugin is answering sign-in. Deactivate it, then reconnect.

- Canonical: <https://royalplugins.com/support/royal-mcp/another-mcp-plugin-answers-oauth-discovery/>
- HTML version: <https://royalplugins.com/support/royal-mcp/another-mcp-plugin-answers-oauth-discovery/>

---

AI clients like ChatGPT, Claude and Cursor find a WordPress site’s sign-in pages by reading one address: `/.well-known/oauth-authorization-server`. When a second MCP or OAuth plugin is active, it can answer that address before Royal MCP does. New OAuth connections to Royal MCP are then sent to the other plugin’s sign-in and fail. Only one plugin can own OAuth sign-in on a site, so the fix is to deactivate the other plugin and reconnect.

### Detected by Royal MCP self-check

Royal MCP 1.5.7+ and Royal MCP Pro 1.0.13+ show the admin notice “Another plugin is answering OAuth sign-in for this site” when this happens. Jump to [the fix](#fix).

## What you’ll see

- Adding Royal MCP as a connector in ChatGPT, Claude or Cursor fails at sign-in, usually with `invalid_target` or “Resource parameter does not match this server”.
- The sign-in or approval screen your AI client opens doesn’t look like Royal MCP’s.
- Royal MCP shows the admin notice above, naming the sign-in address the other plugin advertises.

API-key connections are not affected

Connections that send a Royal MCP API key (the `X-Royal-MCP-API-Key` header) never use OAuth sign-in, so they keep working while you fix this.

## Why this happens

Every plugin that lets AI clients sign in with OAuth publishes the site’s sign-in details at the same address, `/.well-known/oauth-authorization-server`. A site has exactly one of those addresses, so only one plugin can answer it.

When another plugin answers first, your AI client follows that plugin’s sign-in pages while trying to connect to Royal MCP. The other plugin doesn’t recognize Royal MCP’s endpoint and rejects the request. Royal MCP can’t share sign-in with another OAuth plugin, so running both on one site isn’t supported.

## Confirm it’s this problem

Run this from a terminal, replacing `your-site.com` with your domain:

```
curl -s https://your-site.com/.well-known/oauth-authorization-server
```

Look at `authorization_endpoint` in the response:

- **Royal MCP is answering** if it’s `https://your-site.com/authorize` (or the path you set with the `royal_mcp_oauth_rewrite_paths` filter).
- **Another plugin is answering** if it’s anything else. The address often contains the other plugin’s name, which helps you find it in the next step.

If the response is an HTML page or a 404 instead of JSON, something else is blocking discovery; follow the [curl diagnostic walkthrough](https://royalplugins.com/support/royal-mcp/diagnose-mcp-with-curl/) instead.

## Fix it

#### Step 1 — Deactivate the other plugin

Go to **WP Admin → Plugins → Installed Plugins** and look for any other MCP, AI connector or OAuth server plugin. Deactivate it. If you’re not sure which one it is, match it against the sign-in address from the notice or the `curl` above.

#### Step 2 — Clear page and CDN caches

If you use a caching plugin, host cache or a CDN such as Cloudflare, purge it so the old sign-in document isn’t served from cache. Then repeat the `curl` from [Confirm it’s this problem](#confirm); `authorization_endpoint` should now be Royal MCP’s.

#### Step 3 — Revoke all Royal MCP sessions

Go to **Royal MCP → Settings** (**Royal MCP Pro → Settings** on Pro). In the **OAuth Sessions** box, click **Revoke all active sessions**. This clears any half-finished connections left over from the conflict.

#### Step 4 — Delete and re-add every Royal MCP connector

In each AI client (ChatGPT, Claude, Cursor and any others), delete the Royal MCP connector completely, then add it again with your MCP server URL. AI clients remember the sign-in details they discovered the first time, so reconnecting an existing connector can keep using the other plugin’s sign-in. A fresh connector discovers Royal MCP’s.

## Check that it’s fixed

1. The `curl` above shows Royal MCP’s `authorization_endpoint`.
2. On the Royal MCP notice, click **Re-check now**. The notice should disappear.
3. Adding the connector opens Royal MCP’s approval screen, and the connection completes.

## Still stuck?

If the other plugin is deactivated and the connection still fails:

### Community support (free)

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.

### Premium support (paid)

For direct one-on-one help with a 24-hour SLA, see [Premium Support](https://royalplugins.com/premium-support/).

#### Information to include

- The full output of the `curl` command above
- The text of the Royal MCP admin notice, if it’s still showing
- Which AI client you’re connecting and the exact error it shows
- Your Royal MCP version

## Related OAuth issues

- [Full curl diagnostic walkthrough](https://royalplugins.com/support/royal-mcp/diagnose-mcp-with-curl/) — step-by-step probes for every stage of the MCP connection, useful if you’re not sure which OAuth issue applies.
- [Connecting Royal MCP to ChatGPT](https://royalplugins.com/support/royal-mcp/connecting-to-chatgpt/) — setting up the connector from scratch once the conflict is cleared.
- [Connecting Royal MCP to Claude](https://royalplugins.com/support/royal-mcp/connecting-to-claude/) — adding Royal MCP as a custom connector in Claude.
