Skip to content

fix: remove phantom @anthropic/github-mcp-server from squad init #154

@diberry

Description

@diberry

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.

Connection to PR bradygaster#988

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions