github / github/copilot-cli

HTTP MCP server with Bearer token fails OAuth discovery instead of falling back to headers auth

未關閉
#3,100 0 則留言 9 個 reaction 已指派 0 人 在 GitHub 檢視
area:authentication area:mcp
主要語言
Shell
星號
11.2k
分支
1.9k
平均合併
14 小時 16 分鐘
30 天內合併 PR
6

描述

### Describe the bug

When an HTTP MCP server is configured in .mcp.json with "type": "http" and "headers": { "Authorization": "Bearer " }, the CLI attempts OAuth discovery
(/.well-known/oauth-authorization-server
) and fails with:

MCPOAuthError: Failed to discover authorization server metadata

The CLI does not fall back to using the provided Bearer token from headers, causing a hard auth failure even though valid credentials are present in the config.

### Affected version

_No response_

### Steps to reproduce the behavior

1. Configure the mcp config for server which using custom token authorization
2. Run /mcp
3. Select the configured server
4. Pay attention to the error

Actual behavior: Hard fail on OAuth discovery, server stays disabled.

Image

### Expected behavior

Expected behavior: If OAuth discovery fails and headers contains Authorization: Bearer, the CLI should skip OAuth and proceed to MCP initialize using the provided token.

### Additional context

Workaround: Manually enabling the server via /mcp enable bypasses OAuth discovery and connects successfully using the Bearer token.

MCP spec reference: OAuth is optional — clients should fall back to configured credentials when authorization server metadata is not found.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。