[Bugs] OAuth flow never triggers for BigQuery MCP — oauthClientId config has no effect
- 主要语言
- 没有语言数据
- 星标
- 2.1k
- 派生
- 153
- PR 合并指标
- 30 天内没有已合并 PR
描述
## Description
When configuring a remote MCP server with `oauthClientId` in `mcp-config.json`, the expected behavior is that Copilot opens a browser window to authenticate the user via OAuth. This works correctly for some servers (e.g. Datadog), but **never happens for BigQuery** (`https://bigquery.googleapis.com/mcp`).
From the user's perspective:
- The config looks correct
- No browser window ever opens
- Every tool call silently fails with an authentication error
- There is no feedback explaining why OAuth didn't trigger or what to do
The only workaround discovered is to manually inject a static `Authorization: Bearer ` header — which expires every hour and requires manual renewal. This is not a viable long-term solution.
## Steps to reproduce
1. Add BigQuery MCP to `mcp-config.json` with `oauthClientId`
2. Restart Copilot
3. Try any BigQuery tool → auth error, no OAuth prompt
**Expected:** Browser opens for Google OAuth consent, token stored, tools work
**Actual:** Silent failure, `oauthClientId` has no effect
## Related
#306
Technical context (unverified)
The OAuth flow appears to only be triggered when the initial `tools/list` request returns a 401. BigQuery MCP allows `tools/list` without authentication, so the connection is established without an auth provider. When `tools/call` later returns 401, there is no mechanism to recover via OAuth at that point.
贡献指南
调研方向
从 mcp-config.json 中的 OAuth 配置开始,跟踪 tools/list 和 tools/call 请求流程,确认身份验证是否仅在收到 401 响应后初始化。未指定任何仓库文件或测试;完成标准是:当工具调用需要身份验证时,BigQuery MCP 会触发 browser OAuth,存储令牌,并在不使用 manual bearer headers 的情况下完成工具调用。
由索引模型根据 Issue 内容生成。
评估
- 领域
- api, authentication
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100