docs/errors/MCPX_OAUTH_REFRESH_403.md
MCPX_OAUTH_REFRESH_403Severity: error Domain: OAuth
mcpproxy presented a refresh token to the provider's token endpoint and got an
HTTP 403 (or invalid_grant) back. The token was technically still in our
store, but the provider considers it unusable.
mcpproxy upstream login <server-name>
Or click Log in again on the server's web UI page. This is the only deterministic recovery — silent retry will keep failing.
If re-login still 403s, the OAuth client itself may be misconfigured:
client_id / client_secret in the upstream config still exist on
the provider side.MCPX_OAUTH_CALLBACK_MISMATCH).Many providers expose a sign-in / token audit log that says exactly why the refresh was denied (revoked, scope changed, conditional access, etc.).
MCPX_OAUTH_REFRESH_EXPIRED — natural expiryMCPX_OAUTH_CALLBACK_MISMATCH — wrong redirect URI