Skip to content

copilot plugin install does not register plugin MCP servers into ~/.copilot/mcp-config.json #4004

Description

@Sozhan308

Describe the bug

When a plugin ships an .mcp.json (referenced via "mcpServers": ".mcp.json" in plugin.json, running

copilot plugin install correctly copies the file to ~/.copilot/installed-plugins/_direct//.mcp.json — but those servers are never registered in ~/.copilot/mcp-config.json and are therefore invisible to the CLI.

Affected version

1.0.68

Steps to reproduce the behavior

  • Create a plugin with plugin.json declaring "mcpServers": ".mcp.json" and a .mcp.json with one or more stdio servers.
  • Run copilot plugin install ./my-plugin
  • Run copilot mcp list → shows "No MCP servers configured"
  • Verify the .mcp.json was copied: cat ~/.copilot/installed-plugins/_direct/my-plugin/.mcp.json → file exists with correct content
  • Start a session with copilot cli and switch to agent from plugin invoke any tool from the plugin's MCP server → tool not found

Expected behavior

  • copilot plugin install should merge the plugin's MCP server definitions into ~/.copilot/mcp-config.json

Additional context

Actual behavior: copilot mcp list reports "No MCP servers configured" even after installing a plugin that declares MCP servers. The agent in the same plugin references those tools by name (e.g. jira-mcp-server/jira_request) but they are unavailable at runtime, causing tool-not-found errors.

Environment:

Copilot CLI: 1.0.68
OS: Linux
Plugin manifest field: "mcpServers": ".mcp.json"

The .mcp.json uses VS Code's ${input:...} syntax for secure credential prompting. The CLI has no equivalent interactive input mechanism, so a complete fix would also need either:

Support for ${input:...} resolution at session start (prompt user for values)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions