Skip to main content
How-to

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.

VS Code setupVS Code starts one LightNow Proxy; LightNow manages the server set
AI clientVS Codereads User/mcp.json with servers.LightNow
stdio
LightNow Local Proxylightnow-proxykeeps upstream commands, URLs and secrets behind the proxy
LightNow
LightNowConfig + Analyzeprofile, workspace, policy, events and tool usage

Fast setup

1
Install LightNow

Install the CLI and the local proxy on this machine.

2
Sign in

Sign in so LightNow can use your account and selected workspace.

3
Sync VS Code

Replace direct MCP entries with one LightNow Proxy entry.

4
Reload VS Code

Reload VS Code so Copilot Chat loads the MCP server list again.

Recommended for macOS
brew tap lightnow-ai/tap
brew install lightnow-cli lightnow-proxy
lightnow login
lightnow sync --client vscode --local-proxy
Windows or Linux
Windows
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
Linux
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:

macOS mcp.json
~/Library/Application Support/Code/User/mcp.json
Windows mcp.json
%APPDATA%\Code\User\mcp.json
Linux mcp.json
~/.config/Code/User/mcp.json
Local Proxy config
~/.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:

User/mcp.json
{
"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:

Import before replacing direct VS Code entries
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:

User/settings.json
{
"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:

Use LightNow-managed client policy
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.