{"repo":"NousResearch/hermes-agent","public_id":"116233","display_label":"MCP OAuth metadata discovery issuer mismatch fix","summary":"These members address a bug where OAuth discovery fails due to issuer URL shape mismatches between metadata documents and authorization servers. The fix updates OAuth discovery logic to accept metadata documents that reference the same authorization server in alternate forms.","subsystem":null,"counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":116678,"merged_at":"2026-09-20T06:40:36+00:00"},"resolution":{"state":"resolved","by":"pr-116678"},"freshness":{"state":"verified","last_verified_at":"2026-09-20T06:40:36+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":116233,"pr_number":116678,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-20T06:40:36+00:00"}],"members":[{"kind":"issue","number":116233,"title":"[Bug]: Strava catalog connector OAuth issuer mismatch blocks Desktop authentication","url":null,"state":"closed"},{"kind":"pr","number":116359,"title":"fix(mcp-oauth): accept a metadata document that names the same authorization server in its other shape","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"0818892db3f1","number":0},{"kind":"pr","value":"#116678","number":116678},{"kind":"pr","value":"#116233","number":116233},{"kind":"pr","value":"#116359","number":116359}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":116678,"title":"fix(mcp): OAuth discovery accepts an origin-issued metadata document for a path-scoped authorization server (#116233, salvage #116359)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["tests/tools/test_mcp_oauth_issuer_origin.py","tools/mcp_oauth_device.py","tools/mcp_oauth_provider.py","website/docs/reference/mcp-config-reference.md","website/docs/user-guide/features/mcp.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}