[DOCS] Inconsistent MCP Transport Type requirements in JSON configuration examples

Resolved 💬 3 comments Opened Jan 19, 2026 by coygeek Closed Feb 27, 2026

Documentation Type

Missing documentation (feature not documented)

Documentation Location

https://code.claude.com/docs/en/mcp

Section/Topic

The "MCP installation scopes" (specifically the Project scope example) and the "Managed MCP configuration" sections.

Current Documentation

In the Project scope section, the stdio server example is provided as:

{
  "mcpServers": {
    "shared-server": {
      "command": "/path/to/server",
      "args": [],
      "env": {}
    }
  }
}

However, in the Managed MCP configuration section, the http server example is provided as:

{
  "mcpServers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

What's Wrong or Missing?

There is a potential logic error or inconsistency regarding the requirement of the type field (or transport) within the JSON manifest. The stdio example implies that the transport is inferred from the presence of command and args, whereas the http example explicitly includes a type field. This lack of clarity could lead to "Unknown transport" errors during startup if a user assumes the field is optional for all types or if the inference logic is not explicitly defined.

Suggested Improvement

The documentation should explicitly define whether the type field is mandatory for all server types in the JSON manifest.

Suggested additions:

  • Explicitly state: "For stdio servers, the type field defaults to stdio if a command is provided. For all other transports (e.g., http, sse), the type field is required."
  • Update the stdio JSON example to include "type": "stdio" to promote a standard, explicit configuration style that prevents ambiguity.

Impact

High - Prevents users from using a feature

Additional Context

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗