Skip to content

MCP server overwrites .mcp.json, stripping autoStart and other user-added fields #250

@PogeystickJoe

Description

@PogeystickJoe

Bug

When ruvector (and ruflo) MCP servers start via npx ruvector@latest mcp start, the .mcp.json file gets modified — specifically, "autoStart": true fields are silently removed from the config.

Steps to Reproduce

  1. Create .mcp.json with both ruvector and ruflo configured:
{
  "mcpServers": {
    "ruvector": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "ruvector@latest", "mcp", "start"],
      "autoStart": true
    },
    "ruflo": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "ruflo@latest", "mcp", "start"],
      "env": {
        "CLAUDE_FLOW_MODE": "v3",
        "CLAUDE_FLOW_HOOKS_ENABLED": "true"
      },
      "autoStart": true
    }
  }
}
  1. Start Claude Code (or restart session)
  2. Check .mcp.jsonautoStart fields have been removed from both entries

Expected

.mcp.json should not be modified by the MCP server process. User-added fields like autoStart should be preserved.

Actual

The file is rewritten without autoStart, causing both servers to fall back to lazy/on-demand startup instead of auto-starting. This happens repeatedly across sessions — every restart strips the field again.

Impact

  • Servers don't auto-start, so tools aren't available until first explicit call
  • Any statusline or dashboard integration that depends on the servers being live at session start breaks silently
  • Users have to manually re-add autoStart: true after every session

Environment

  • Windows 11, ruvector@latest + ruflo@latest via npx
  • Claude Code .mcp.json project-level config
  • Observed across multiple sessions/restarts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions