Claude Code doesn't know how to register MCP servers into itself

Resolved 💬 3 comments Opened Apr 15, 2026 by enermark Closed Apr 19, 2026

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):

  1. Train Claude to use claude mcp add when asked to install/configure MCP servers — it's the tool's own interface
  2. Warn or error if mcpServers appears in settings.json, since that key is silently ignored and creates a false sense of success

Environment

  • Claude Code CLI (macOS)
  • Claude Opus

View original on GitHub ↗

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