[DOCS] Inconsistent MCP Transport Type requirements in JSON configuration examples
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
stdioservers, thetypefield defaults tostdioif acommandis provided. For all other transports (e.g.,http,sse), thetypefield is required." - Update the
stdioJSON 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
- Related documentation for environment variables: https://code.claude.com/docs/en/settings
- Model Context Protocol specification details: https://modelcontextprotocol.io/introduction
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗