Connect VS Code
Point VS Code at one local LightNow Proxy. From there, use LightNow to choose the MCP servers Copilot Chat should see, keep secrets out of local config, and inspect tool usage in one place.
Fast setup
Install the CLI and the local proxy on this machine.
Sign in so LightNow can use your account and selected workspace.
Replace direct MCP entries with one LightNow Proxy entry.
Reload VS Code so Copilot Chat loads the MCP server list again.
brew tap lightnow-ai/tap brew install lightnow-cli lightnow-proxy lightnow login lightnow sync --client vscode --local-proxy
Windows or Linux
py -m pip install --user pipx py -m pipx ensurepath py -m pipx install lightnow-cli py -m pipx install lightnow-proxy lightnow login lightnow sync --client vscode --local-proxy
python3 -m pip install --user pipx python3 -m pipx ensurepath python3 -m pipx install lightnow-cli python3 -m pipx install lightnow-proxy lightnow login lightnow sync --client vscode --local-proxy
Config files
These are the files LightNow touches for VS Code:
~/Library/Application Support/Code/User/mcp.json
%APPDATA%\Code\User\mcp.json
~/.config/Code/User/mcp.json
~/.lightnow/lightnow-proxy/vscode.yaml
LightNow may also update the adjacent settings.json so Copilot Chat can work
with larger tool sets. The Local Proxy YAML is written to
~/.lightnow/lightnow-proxy/vscode.yaml unless you pass a custom proxy config
path.
What gets written
VS Code reads MCP servers from the servers object. After sync, the user-level
MCP file contains one servers.LightNow entry:
{
"servers": {
"LightNow": {
"type": "stdio",
"command": "lightnow-proxy",
"args": [
"--config",
"~/.lightnow/lightnow-proxy/vscode.yaml",
"--transport",
"stdio"
]
}
}
}
When LightNow can resolve the full lightnow-proxy path, it writes the
absolute path. The proxy YAML stores the VS Code client name, stdio transport,
selected Runtime Profile, workspace context, policy settings, telemetry
preference and secret-resolution mode. VS Code does not receive the commands,
URLs or secret values for every server in the profile.
Existing VS Code MCP config
When Local Proxy mode replaces direct MCP entries, LightNow removes the
top-level JSON servers and mcpServers sections, then adds LightNow.
Other VS Code MCP config fields, such as inputs, stay in the file.
Run import first when your current VS Code config contains servers you want to keep:
lightnow import-config --client vscode lightnow sync --client vscode --local-proxy
Run lightnow import-config --client vscode --dry-run when you want to preview
which entries are mapped, custom, ambiguous or blocked. Only mapped
and custom entries are importable.
Large tool sets in Copilot Chat
After a VS Code Local Proxy sync, LightNow tries to update the adjacent
settings.json with:
{
"github.copilot.chat.virtualTools.threshold": 128
}
That keeps large LightNow tool sets usable without forcing every tool to be
expanded eagerly. If settings.json is JSONC, not a JSON object, locked, or
otherwise not writable, sync still completes and prints the exact setting to
add manually.
Team rollout
For a managed team rollout, switch to the organization context first, then let policy drive the sync:
lightnow context --tenant acme lightnow sync --client vscode --from-settings lightnow config-status --client vscode --json
--from-settings lets LightNow choose the profile, telemetry setting, managed
clients and unmanaged-entry policy for VS Code. Use it after the organization
profile is ready and the pilot setup works as expected.
Related guides
Move useful VS Code MCP entries into a Runtime Profile before replacing the
local servers block.
Use config-status, proxy health JSON and redacted protocol capture when
VS Code cannot see tools.
Compare client targets, default paths, Local Proxy support and import support across Codex, Claude, Cursor, VS Code and others.