Strip Copilot-only MCP tools field from Claude gateway config#44868
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
tools field from Claude gateway config
|
Great work on this fix, The change is small, surgical, and directly addresses the Claude MCP tool registration failure. The regression test covering the dropped
|
There was a problem hiding this comment.
Pull request overview
Removes Copilot-specific tools data from Claude MCP gateway configuration.
Changes:
- Deletes
toolsduring Claude entry transformation. - Adds regression coverage while preserving Copilot behavior.
Show a summary per file
| File | Description |
|---|---|
actions/setup/js/convert_gateway_config_claude.cjs |
Removes unsupported tools field. |
actions/setup/js/convert_gateway_config_adapters.test.cjs |
Verifies Claude output omits tools. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Medium
|
✅ Test Quality Sentinel completed test quality analysis. |
|
✅ PR Code Quality Reviewer completed the code quality review. |
|
🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅ |
|
✅ Design Decision Gate 🏗️ completed the design decision gate check. No ADR enforcement needed: PR #44868 does not have the 'implementation' label and has 0 new lines of code in business logic directories (threshold: 100). |
|
🚀 Smoke Antigravity MISSION COMPLETE! Antigravity has spoken. ✨ |
|
🚀 Smoke Pi MISSION COMPLETE! Pi delivered. 🥧 |
|
✅ All tools validated successfully! Agent Container Smoke Test confirms agent container is ready. |
|
🚀 Smoke Gemini MISSION COMPLETE! Gemini has spoken. ✨ |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
|
❌ Smoke Copilot Small failed. Please review the logs for details. |
|
📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing... |
|
📰 BREAKING: Smoke Copilot - AOAI (Entra) is now investigating this pull request. Sources say the story is developing... |
🧪 Test Quality Sentinel Report✅ Test Quality Score: 100/100 — Excellent
📊 Metrics (1 test)
Verdict
Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
|
Caution agentic threat detected DetailsThe threat detection engine failed to produce results. Review the workflow run logs for details. Pull request created: #44897
|
|
Smoke Test: Codex - 29143649512 Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
Comment MemoryNote This comment is managed by comment memory.It stores persistent context for this thread in the code block at the top of this comment. Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
💥 Smoke Test: Claude — Run 29143649515Core #1-12: all ✅ Overall: PASS — Claude engine nominal! 🦸 Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
There was a problem hiding this comment.
💥 Automated smoke test review - all systems nominal!
Warning
Firewall blocked 6 domains
The following domains were blocked by the firewall during workflow execution:
accounts.google.comandroid.clients.google.comclients2.google.comcontentautofill.googleapis.comsafebrowsingohttpgateway.googleapis.comwww.google.com
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
💥 [THE END] — Illustrated by Smoke Claude · 75.3 AIC · ⌖ 31.4 AIC · ⊞ 8.4K
Comment /smoke-claude to run again
| transformed.type = "http"; | ||
| // The MCP gateway may include a "tools" field for Copilot, but Claude's | ||
| // MCP config format does not support that field. | ||
| delete transformed.tools; |
There was a problem hiding this comment.
Good defensive cleanup — explicitly deleting the Copilot-only tools field keeps Claude's MCP config schema-clean. 👍
| it("claude adapter enforces type=http and rewrites url", () => { | ||
| const converted = transformClaudeEntry({ type: "ignored", url: "http://old/mcp/github", headers: { Authorization: "token" } }, urlPrefix); | ||
| it("claude adapter enforces type=http, rewrites url, and drops Copilot-only tools", () => { | ||
| const converted = transformClaudeEntry({ type: "ignored", url: "http://old/mcp/github", headers: { Authorization: "token" }, tools: ["read"] }, urlPrefix); |
There was a problem hiding this comment.
Nice regression coverage — asserting the tools field is dropped guards against future leakage.
Comment MemoryNote This comment is managed by comment memory.It stores persistent context for this thread in the code block at the top of this comment. Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
|
Smoke test 29143662082 summary:
|
🤖 PR Triage
Score breakdown: Impact 35/50 · Urgency 25/30 · Quality 15/20 Rationale: Small targeted bug fix (+6/-2 lines) with clear root-cause that restores Claude MCP tool registration. CI passing, 1 review. High urgency — directly unblocks Claude sessions from failing to register GitHub MCP tools.
|
|
@copilot investigate https://github.com/github/gh-aw/actions/runs/29143649515/job/86521396282 and ensure the issue is fixed |
Investigated job 86521396282 in run 29143649515: the run completed successfully and audit shows |
Claude sessions were consistently failing to register GitHub MCP tools even when the MCP gateway and
github-mcp-serverwere healthy and answeringtools/list. The break was in the Claude-specific gateway config path: Copilot-only fields could leak into the config Claude consumes.Root cause
toolsfield.Change
actions/setup/js/convert_gateway_config_claude.cjsto explicitly removetoolsfrom each transformed server entry while still:type: "http"Regression coverage
toolswhile preserving the expectedtype,url, andheaders.✨ PR Review Safe Output Test - Run 29143649515
Warning
Firewall blocked 6 domains
The following domains were blocked by the firewall during workflow execution:
accounts.google.comandroid.clients.google.comclients2.google.comcontentautofill.googleapis.comsafebrowsingohttpgateway.googleapis.comwww.google.comSee Network Configuration for more information.