Claude Code doesn't know how to register MCP servers into itself
Problem
When asked to install an MCP server (in this case, an Obsidian MCP), Claude configured it by adding an mcpServers block to ~/.claude/settings.json. This is silently ignored — Claude Code reads MCP servers from a separate registry managed by claude mcp add.
Claude confidently made the change and reported success. The server never connected. There is zero feedback that the settings.json approach is wrong — no warning, no error, nothing. It just doesn't work.
Diagnosing and fixing this took over an hour.
Expected Behavior
Claude Code should know how to register MCP servers into itself. The correct method is:
claude mcp add <name> -s user -- <command> [args]
claude mcp list # verify connected
This is Claude Code's own CLI. It should know its own configuration mechanisms.
Suggested Fix
Either (or both):
- Train Claude to use
claude mcp addwhen asked to install/configure MCP servers — it's the tool's own interface - Warn or error if
mcpServersappears insettings.json, since that key is silently ignored and creates a false sense of success
Environment
- Claude Code CLI (macOS)
- Claude Opus
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗