[BUG] MCP server argument list gets truncated when using claude mcp add

Resolved 💬 4 comments Opened Jul 28, 2025 by philescandon Closed Jan 5, 2026

Environment

  • OS: Windows with WSL2 (Linux 6.6.87.2-microsoft-standard-WSL2)
  • Claude Code: Running inside WSL2 environment
  • Shell: bash
  • MCP Server: SQLite MCP server using uv package manager
  • Path format: Mixed Windows/WSL mount paths (/mnt/d/...)

Bug Description

  • The claude mcp add command truncates long argument lists
  • Only the first argument is preserved, rest are lost
  • Affects SQLite MCP server configuration specifically
  • Workaround: Use shell script wrapper instead

Steps to Reproduce

From WSL command line at my project directory:
claude mcp add sqlite /home/phil/.local/bin/uv -- --directory
/mnt/d/servers/servers-archived-main/src/sqlite run mcp-server-sqlite --db-path /path/to/db.db

Expected behavior: All arguments should be preserved

Actual behavior: Only --directory is stored in config

  1. Workaround: Shell script wrapper works correctly

Additional Context

  • Issue occurs when using long argument lists with claude mcp add
  • Arguments after --directory get completely dropped
  • Same configuration works when manually created in .mcp.json
  • Shell script workaround bypasses the parsing issue entirely
  • WSL path mounting may be contributing to the parsing complexity

View original on GitHub ↗

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