Summary
squad init generates .copilot/mcp-config.json with a reference to @anthropic/github-mcp-server — a package that does not exist on npm. The entry is a no-op that silently fails on every npx invocation.
The GitHub MCP server tools (github-mcp-server-*) are platform-provided — Copilot CLI injects them natively. The config entry is unnecessary.
Root Cause
File: packages/squad-sdk/src/config/init.ts lines 1148–1175
During squad init, when the repo is detected as GitHub-hosted (isGitHub), the init code generates:
json { "mcpServers": { "github": { "command": "npx", "args": ["-y", "@anthropic/github-mcp-server"] } } }
@anthropic/github-mcp-server does not exist on npm. The correct package would be @modelcontextprotocol/server-github, but even that is unnecessary since GitHub MCP tools are platform-built-in.
Scope
- Every repo that ran
squad init on a GitHub-hosted repo has this phantom entry in .copilot/mcp-config.json
- Found across 13+ repos in the ecosystem (identified 2026-04-16)
- Squad's own repo (
.copilot/mcp-config.json) appears to have been manually cleaned (contains only a Trello example)
Files to Fix
| File |
Action |
packages/squad-sdk/src/config/init.ts:1150-1160 |
Remove the github-mcp-server entry from the generated config for GitHub repos. GitHub MCP tools are platform-provided. |
templates/mcp-config.md |
Review — references @modelcontextprotocol/server-github which is a real package but equally unnecessary |
.squad-templates/mcp-config.md |
Same as above (must stay in sync per template-sync tests) |
packages/squad-cli/templates/mcp-config.md |
Same |
packages/squad-sdk/templates/mcp-config.md |
Same |
Suggested Fix
For init.ts: For GitHub repos, either skip the MCP config generation entirely (since GitHub MCP is built-in) or generate an empty/example config like the one already in Squad's own repo (Trello example with EXAMPLE- prefix).
For template docs: Add a note that GitHub MCP tools are platform-provided and don't need a config entry. The @modelcontextprotocol/server-github sample could be kept as a reference for self-hosted GitHub instances that might need explicit config, but should be clearly marked as optional.
This is the same class of bug as the --message flag issue fixed in PR bradygaster#988 — an incorrect value that got copy-pasted across repos because it looked established. The phantom package was likely copied from early MCP setup examples before GitHub MCP became a built-in platform feature.
Summary
squad initgenerates.copilot/mcp-config.jsonwith a reference to@anthropic/github-mcp-server— a package that does not exist on npm. The entry is a no-op that silently fails on everynpxinvocation.The GitHub MCP server tools (
github-mcp-server-*) are platform-provided — Copilot CLI injects them natively. The config entry is unnecessary.Root Cause
File:
packages/squad-sdk/src/config/init.tslines 1148–1175During
squad init, when the repo is detected as GitHub-hosted (isGitHub), the init code generates:json { "mcpServers": { "github": { "command": "npx", "args": ["-y", "@anthropic/github-mcp-server"] } } }@anthropic/github-mcp-serverdoes not exist on npm. The correct package would be@modelcontextprotocol/server-github, but even that is unnecessary since GitHub MCP tools are platform-built-in.Scope
squad initon a GitHub-hosted repo has this phantom entry in.copilot/mcp-config.json.copilot/mcp-config.json) appears to have been manually cleaned (contains only a Trello example)Files to Fix
packages/squad-sdk/src/config/init.ts:1150-1160github-mcp-serverentry from the generated config for GitHub repos. GitHub MCP tools are platform-provided.templates/mcp-config.md@modelcontextprotocol/server-githubwhich is a real package but equally unnecessary.squad-templates/mcp-config.mdpackages/squad-cli/templates/mcp-config.mdpackages/squad-sdk/templates/mcp-config.mdSuggested Fix
For
init.ts: For GitHub repos, either skip the MCP config generation entirely (since GitHub MCP is built-in) or generate an empty/example config like the one already in Squad's own repo (Trello example withEXAMPLE-prefix).For template docs: Add a note that GitHub MCP tools are platform-provided and don't need a config entry. The
@modelcontextprotocol/server-githubsample could be kept as a reference for self-hosted GitHub instances that might need explicit config, but should be clearly marked as optional.Connection to PR bradygaster#988
This is the same class of bug as the
--messageflag issue fixed in PR bradygaster#988 — an incorrect value that got copy-pasted across repos because it looked established. The phantom package was likely copied from early MCP setup examples before GitHub MCP became a built-in platform feature.