Which version line?
v2 — current (@modelcontextprotocol/inspector@latest)
Which client?
Web
Inspector version
2.5.0
Node version
22.19.0
Operating system (and browser, for the web client)
No response
Transport
Streamable HTTP
MCP server under inspection
- MCP Inspector version: 2.5.0
- MCP server: ASP.NET Core,
ModelContextProtocol.AspNetCore, Streamable HTTP transport
- Authorization server: Keycloak 26.0
npx -y @modelcontextprotocol/inspector@2.5.0 --server mcp-server
Steps to reproduce
- Point Inspector at an MCP server (Streamable HTTP) that requires OAuth and serves RFC 9728 protected-resource
metadata correctly.
- Server responds
401 with WWW-Authenticate: Bearer resource_metadata="<server>/.well-known/oauth-protected-resource/mcp".
- Inspector fetches that URL successfully and reads
authorization_servers: ["https://keycloak:9090/realms/tenant"].
- Inspector then requests
https://keycloak:9090/.well-known/oauth-authorization-server/realms/tenant → 404.
- The OAuth flow terminates here with no further attempt.
Expected behavior
Per RFC 8414 §3.1 and common client fallback practice, when the plain-OAuth well-known metadata request fails, the
client should also try:
- The same well-known name in "simple append" form:
https://keycloak:9090/realms/tenant/.well-known/oauth-authorization-server (confirmed working, returns 200 with
valid metadata — see evidence below)
- OIDC discovery as a fallback:
https://keycloak:9090/realms/tenant/.well-known/openid-configuration (also
confirmed working)
Actual behavior
Only the RFC 8414 canonical form (.well-known/oauth-authorization-server inserted before the issuer path) is
attempted. On 404, the flow dies with no fallback, and the connection cannot be authenticated via Inspector's OAuth
button at all.
Logs, errors, or screenshots
$ curl -sk -i "https://keycloak:9090/.well-known/oauth-authorization-server/realms/tenant"
HTTP/1.1 404 Not Found
$ curl -sk -i "https://keycloak:9090/realms/tenant/.well-known/oauth-authorization-server"
HTTP/1.1 200 OK
{"issuer":"https://keycloak:9090/realms/tenant", ...valid RFC 8414 metadata...}
$ curl -sk -i "https://keycloak:9090/realms/tenant/.well-known/openid-configuration"
HTTP/1.1 200 OK
{"issuer":"https://keycloak:9090/realms/tenant", ...valid OIDC metadata...}
Already prototyped a fix?
No response
Before you submit
Which version line?
v2 — current (
@modelcontextprotocol/inspector@latest)Which client?
Web
Inspector version
2.5.0
Node version
22.19.0
Operating system (and browser, for the web client)
No response
Transport
Streamable HTTP
MCP server under inspection
ModelContextProtocol.AspNetCore, Streamable HTTP transportnpx -y @modelcontextprotocol/inspector@2.5.0 --server mcp-server
Steps to reproduce
metadata correctly.
401withWWW-Authenticate: Bearer resource_metadata="<server>/.well-known/oauth-protected-resource/mcp".authorization_servers: ["https://keycloak:9090/realms/tenant"].https://keycloak:9090/.well-known/oauth-authorization-server/realms/tenant→ 404.Expected behavior
Per RFC 8414 §3.1 and common client fallback practice, when the plain-OAuth well-known metadata request fails, the
client should also try:
https://keycloak:9090/realms/tenant/.well-known/oauth-authorization-server(confirmed working, returns 200 withvalid metadata — see evidence below)
https://keycloak:9090/realms/tenant/.well-known/openid-configuration(alsoconfirmed working)
Actual behavior
Only the RFC 8414 canonical form (
.well-known/oauth-authorization-serverinserted before the issuer path) isattempted. On 404, the flow dies with no fallback, and the connection cannot be authenticated via Inspector's OAuth
button at all.
Logs, errors, or screenshots
$ curl -sk -i "https://keycloak:9090/.well-known/oauth-authorization-server/realms/tenant"
HTTP/1.1 404 Not Found
$ curl -sk -i "https://keycloak:9090/realms/tenant/.well-known/oauth-authorization-server"
HTTP/1.1 200 OK
{"issuer":"https://keycloak:9090/realms/tenant", ...valid RFC 8414 metadata...}
$ curl -sk -i "https://keycloak:9090/realms/tenant/.well-known/openid-configuration"
HTTP/1.1 200 OK
{"issuer":"https://keycloak:9090/realms/tenant", ...valid OIDC metadata...}
Already prototyped a fix?
No response
Before you submit