In CIMD (SEP-991) the `client_id` *is* a URL the authorization server dereferences to learn the client's metadata. Nothing in this repo served such a document, so a fixture could advertise `client_id_metadata_document_supported` and still be unusable — exercising CIMD meant standing up a second host by hand. That is why #2242 shipped verified by its tests alone, and why the v2.6.0 release smoke recorded it as the one contribution with an observable UI surface that could not be reached. The composable server now hosts the document itself when `oauth.clientMetadata` is set, gated on `supportCIMD` — advertising a client the server would then refuse to honour is a worse fixture than serving nothing. The document's `client_id` is derived from the **request** rather than from a configured issuer, so it stays correct when the harness picks the port, as the integration test does. `supportDCR: false` in the fixture is load-bearing rather than incidental. With DCR available a CIMD failure silently succeeds via dynamic registration and the reproduction proves nothing — during development a misconfigured run connected happily and reported `Dynamic (DCR)` with a `test_client_…` id, which reads as success until you check the client id. With DCR off, CIMD is the only path that can complete, so reaching a connected state is itself the assertion; the test pins the absent `registration_endpoint` so it stays that way. Verified end to end against the fixture: Connection Info read `Client registration — Client ID Metadata (CIMD)` with the client id equal to the metadata URL. That drive needed a self-signed HTTPS listener, because the Inspector requires the CIMD metadata URL to be HTTPS with no loopback exemption — filed separately as #2305, since it is a validation gap rather than a fixture one. Closes #2306 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RsmR1iQstcrEzJFmgZXGLi Signed-off-by: cliffhall <cliff@futurescale.com>
37 lines
803 B
JSON
37 lines
803 B
JSON
{
|
|
"serverInfo": {
|
|
"name": "oauth-cimd-showcase",
|
|
"version": "1.0.0"
|
|
},
|
|
"tools": [
|
|
{
|
|
"preset": "echo"
|
|
}
|
|
],
|
|
"oauth": {
|
|
"enabled": true,
|
|
"mode": "combined",
|
|
"requireAuth": true,
|
|
"scopesSupported": [
|
|
"mcp"
|
|
],
|
|
"supportCIMD": true,
|
|
"supportDCR": false,
|
|
"supportRefreshTokens": true,
|
|
"clientMetadata": {
|
|
"clientName": "MCP Inspector (CIMD test fixture)",
|
|
"scope": "mcp",
|
|
"redirectUris": [
|
|
"http://127.0.0.1:6274/oauth/callback",
|
|
"http://localhost:6274/oauth/callback",
|
|
"http://127.0.0.1:6330/oauth/callback",
|
|
"http://localhost:6330/oauth/callback",
|
|
"http://127.0.0.1:6276/oauth/callback"
|
|
]
|
|
}
|
|
},
|
|
"transport": {
|
|
"type": "streamable-http",
|
|
"port": 8092
|
|
}
|
|
}
|