github / github/app

[Bugs] OAuth flow never triggers for BigQuery MCP — oauthClientId config has no effect

未关闭
#630 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Bugs
主要语言
没有语言数据
星标
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。