Skip to content

llms-install.md and README use invalid MCP server name for GitHub Copilot CLI (spaces in JSON key) #2589

@mike-mo

Description

@mike-mo

Problem

When an AI agent (GitHub Copilot CLI, Claude Code, etc.) is asked to install the Azure MCP Server, it reads llms-install.md and generates a config using "Azure MCP Server" as the JSON key — exactly as documented. However, GitHub Copilot CLI rejects this name:

Error: MCP server 'Azure MCP Server' in C:\Users\<user>\.copilot/mcp-config.json
contains invalid characters: '  '. Only alphanumeric characters, underscores, and
hyphens are allowed. Consider renaming to 'Azure-MCP-Server'.

Reproduction

  1. Open GitHub Copilot CLI
  2. Ask: "Add the Azure MCP Server to my sessions"
  3. The agent reads llms-install.md (or the README) and generates ~/.copilot/mcp-config.json with "Azure MCP Server" as the key
  4. Restart the CLI → error on startup

Root cause

llms-install.md (the file specifically designed for AI agents to follow) uses "Azure MCP Server" with spaces as the JSON key in all config examples:

{
  "mcpServers": {
    "Azure MCP Server": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start"]
    }
  }
}

The same pattern appears in servers/Azure.Mcp.Server/README.md under the "GitHub Copilot CLI" manual setup section.

Note: the project's own Copilot CLI E2E tester (eng/tools/CopilotCliTester/) already uses "azure" as the key, so the team is aware that spaces don't work in this context.

Suggested fix

Rename "Azure MCP Server""azure-mcp-server" in all JSON key positions across the docs.

I'd recommend lowercase with hyphens specifically because:

  • Convention: MCP ecosystem overwhelmingly uses lowercase-hyphenated names (github-mcp-server, kusto-mcp, adx-mcp-server). The Copilot CLI's own built-in server is github-mcp-server.
  • Matches the npm package: The npm package is @azure/mcp (lowercase), so azure-mcp-server is a natural derivative.
  • Client compatibility: Some MCP clients are case-sensitive or impose naming restrictions. Lowercase-hyphenated is the safest common denominator.
  • This project's own tester uses it: eng/tools/CopilotCliTester/ uses "azure" (lowercase).

Files to update

  1. llms-install.md — Rename the key in all JSON config blocks. Also add a GitHub Copilot CLI section (currently missing) pointing to ~/.copilot/mcp-config.json.
  2. servers/Azure.Mcp.Server/README.md — Same rename in the "GitHub Copilot CLI" config block under "Manual Setup", and ideally all other client examples for consistency.

Workaround

Manually rename the key in ~/.copilot/mcp-config.json:

{
  "mcpServers": {
    "azure-mcp-server": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start"]
    }
  }
}

Environment

  • GitHub Copilot CLI v1.0.42
  • Windows 11
  • @azure/mcp@latest (npm)

Metadata

Metadata

Assignees

Labels

customer-reportedneeds-team-attentionWorkflow: This issue needs attention from Azure service team or MCP team.questionFurther information is requestedserver-Azure.McpAzure.Mcp.Servertools-CoreAZMCP Core functionality that all other tools build on top of

Type

No type

Projects

Status

Untriaged

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions