HTTP MCP: `claude mcp add --transport http` writes invalid field, then one bad entry silently kills all user-level MCPs
Status Fixed / completed
Reported on v2.1.83
Maintainer reply ✓ Yes — localden
Workaround ✓ Mentioned in thread ↓
Activity 5 comments · opened Mar 25, 2026 · closed May 25, 2026
💡 Likely answer: A maintainer (localden, collaborator)
responded on this thread — see the highlighted reply below.
Summary
Two related bugs around HTTP MCP server configuration:
claude mcp add --transport httpwritesserverUrlinstead ofurl, producing an entry that fails its own schema validation.- One invalid entry in
mcpServerscauses the entire user-level config block to fail to parse, silently dropping all servers with no visible error (unless you run/mcpand notice the diagnostic line).
Steps to Reproduce
claude mcp add --scope user granola --transport http https://mcp.granola.ai/mcp
This writes to ~/.claude.json:
{
"mcpServers": {
"granola": {
"serverUrl": "https://mcp.granola.ai/mcp",
"type": "http"
}
}
}
The schema expects "url", not "serverUrl". On next launch, the parser hits this entry, fails validation, and skips the entire mcpServers block — all 20+ other valid servers silently disappear.
Expected Behavior
claude mcp add --transport httpshould write"url", not"serverUrl"- Config parsing should validate per-entry and skip only the invalid one, not fail the entire block
- If an entry is skipped, there should be a visible warning at startup (not just buried in
/mcpdiagnostics)
Actual Behavior
- All user-level MCP servers silently stop loading
- No error is shown at startup or in the sidebar
- The only way to discover the issue is to run
/mcpand read the diagnostic header:
````
[Failed to parse] User config (available in all your projects)
Location: /Users/user/.claude.json
└ [Error] mcpServers.granola: Does not adhere to MCP server configuration schema
Impact
This took significant debugging time to identify. The silent failure mode is particularly bad because:
- The user has no indication anything is wrong
- Working servers suddenly disappear with no change to their config
- The root cause (a single bad entry) is non-obvious
Environment
- Claude Code 2.1.83
- macOS 26
- VS Code extension v2.1.83
5 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Still reproducible on 2.1.104 (Windows 11).
Affected servers: Any HTTP MCP added via
claude mcp add --transport http— generates config with onlyurlfield, missing required"type": "http". Affected:linear,linear-server,context7.Impact:
/doctorreports[Failed to parse] User configwith zero indication of which field is missing. All three servers fail silently. Error message says "Does not adhere to MCP server configuration schema" — not actionable without reading source.Workaround: Manually add
"type": "http"to each affected entry in~/.claude.json.Suggested fix: Either (a) infer
type: httpwhenurlis present, or (b) haveclaude mcp add --transport httpwrite thetypefield it already knows. The schema error message should also name the missing field.Closing for now — inactive for too long. Please open a new issue if this is still relevant.
Thanks for the report. The per-entry validation half of this shipped: one bad
mcpServersentry now gets skipped with a warning instead of dropping the whole block. If you're still seeingclaude mcp add --transport httpwrite the wrong field on a current version, please reopen with the version number.This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.