github / github/app

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

Open
#630 0 comments 0 reactions 0 assignees View on GitHub
Bugs
Dominant language
No language data
Stars
2.1k
Forks
153
PR merge metrics
No merged PRs in 30d

Description

## 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.