github / github/copilot-cli

/mcp search fails with 400 Bad Request in every repo with a non-GitHub (Azure DevOps) git remote

Abierto
#4,374 0 comentarios 6 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

area:enterprise area:mcp
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

Describe the bug

/mcp search (interactive MCP registry browser) consistently fails with:

Failed to load registry: Error: Failed to fetch MCP registry policy: 400 Bad Request

whenever Copilot CLI is started inside a trusted folder whose git remote points to Azure DevOps (dev.azure.com) instead of a GitHub-hosted remote. This affects our entire engineering org, since 100% of our repositories are hosted on Azure DevOps.

Environment
  • Enterprise: GitHub Enterprise Cloud with data residency / EMU tenant
  • OS: Windows
  • Enterprise MCP Registry: configured and verified working (Azure API Center-backed registry, "Registry only" policy) — confirmed via direct curl calls that the registry itself returns HTTP 200 with the expected servers.

Workaround: Run /mcp search from a non-git folder to add servers once; they then work from any repo afterward via the persisted ~/.copilot/mcp-config.json.

Affected version

GitHub Copilot CLI 1.0.78

Steps to reproduce the behavior
  1. Configure an enterprise MCP Registry URL + "Registry only" policy (per GitHub docs).
  2. cd into any local git repository whose origin remote is an Azure DevOps URL (e.g. https://org@dev.azure.com/org/project/_git/repo).
  3. Start copilot.
  4. Run /mcp search.
  5. Observe: Failed to load registry: Error: Failed to fetch MCP registry policy: 400 Bad Request.
  6. cd outside any git repository (e.g. home directory) and start a fresh copilot process.
  7. Run /mcp search again → succeeds, returns all registry servers.
Expected behavior

/mcp search should successfully fetch the registry policy regardless of the git remote host of the current working directory, or at minimum should not derive repo/org context from non-GitHub git remotes in a way that breaks the request.

Additional context
  • The failure is tied to process startup cwd/git-remote context, not conversation state: /new inside the same running process does not recover it — only a full process relaunch outside a git-remote folder works.
  • Once servers are added via the workaround below (outside a repo), they persist in ~/.copilot/mcp-config.json and connect fine from inside our Azure DevOps repos afterward — so the registry policy fetch specifically is what's broken, not general MCP connectivity.
  • Reproduces consistently; not a timing/cache issue; not related to our enterprise's registry configuration (independently verified correct).

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza reproduciendo /mcp search desde un repositorio con un remoto de Azure DevOps y desde una carpeta que no sea un repositorio git; después, sigue el contexto de inicio utilizado para obtener la política del registro MCP. El issue estará terminado cuando la búsqueda en el registro funcione independientemente del remoto git actual, sin romper la configuración persistida existente en ~/.copilot/mcp-config.json.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github, shell
Área
api, cli
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
55/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.