switch-mcp-config
Use a different .mcp_config.json for each of your projects, and easily switch between them in Claude Desktop, VSCode, Cursor, and Windsurf.
How it works
- Looks for
.mcp_config.jsonin the project root - Copies or symlinks the config file for each tool in the paths specified in your environment variables.
Installation
Clone the repository and place the script in your PATH:
git clone https://github.com/kevintraver/switch-mcp-config.git
cd switch-mcp-config
chmod +x switch-mcp
cp switch-mcp /usr/local/bin/
Environment Variable Setup
Set the following environment variables with the configuration paths for each tool you want to use:
export CLAUDE_MCP_CONFIG_PATH="$HOME/Library/Application Support/Claude/claude_desktop_config.json"
export WINDSURF_MCP_CONFIG_PATH="$HOME/.codeium/windsurf/mcp_config.json"
export CURSOR_MCP_CONFIG_PATH="$HOME/.cursor/mcp.json"
export VSCODE_MCP_CONFIG_PATH="$HOME/.vscode/mcp.json"
By default, the script copies the project specific config file to each tool destination path.
⚠️ Copying will overwrite the destination file every time. If you have unsaved changes in those files, they will be lost.
Symlinking avoids this but may not be compatible with some tools.
Some tools, such as Cursor and Windsurf, may not work reliably with symlinked config files.
If you prefer to create symlinks, set the following environment variable:
export MCP_SWITCHER_USE_SYMLINK=true
Usage
From any folder within a project that has a .mcp_config.json file:
switch-mcp
To use a default config instead of project-specific ($HOME/.mcp_config.json):
switch-mcp default
License
MIT