Skip to content

claude mcp add fails to parse bracketed IPv6 URLs #30653

Description

@shigechika

Description

claude mcp add with HTTP transport fails to parse IPv6 URLs that use standard bracket notation (RFC 2732 / RFC 6874). The CLI reports error: missing required argument 'commandOrUrl' even though the URL is valid.

Steps to Reproduce

claude mcp add --transport http my-server 'https://[2001:db8::1]:8080/mcp'
# error: missing required argument 'commandOrUrl'

Also fails with other bracket forms:

claude mcp add --transport http my-server 'https://[::1]:8080/mcp'
# error: missing required argument 'commandOrUrl'

Expected Behavior

The command should accept bracketed IPv6 URLs and add the server configuration, just as it does for IPv4 or hostname-based URLs:

# These work fine:
claude mcp add --transport http my-server 'https://example.com:8080/mcp'
claude mcp add --transport http my-server 'https://192.168.1.1:8080/mcp'

Actual Behavior

The CLI fails with error: missing required argument 'commandOrUrl'. The brackets in the IPv6 address appear to confuse the argument parser.

Workaround

Manually edit ~/.claude.json to add the server configuration:

{
  "mcpServers": {
    "my-server": {
      "type": "http",
      "url": "https://[2001:db8::1]:8080/mcp"
    }
  }
}

The MCP client itself handles IPv6 URLs correctly once configured — only the CLI add subcommand has the parsing issue.

Environment

  • Claude Code: latest (installed via npm)
  • macOS (both Apple Silicon and Intel)

Related

Split out from #29562, which also covers the custom headers issue tracked in #28293.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:cliarea:mcpbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOS

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions