# Connect VS Code (Copilot / MCP) **Auth:** bearer token. **Prereq:** familiar deployed over HTTPS (see [deployment](../deployment.md)). VS Code's MCP support reads an **`http`** server entry with custom headers. Put it in **`.vscode/mcp.json`** (per-workspace) or your user `mcp.json`. > ⚠️ Use **`.vscode/mcp.json`**, not a workspace-root **`.mcp.json`**. The workspace `.mcp.json` format ignores `headers`, so the bearer token never gets sent and you'll get a silent 401. This is a known VS Code quirk. `.vscode/mcp.json`: ```json { "inputs": [ { "id": "familiar_token", "type": "promptString", "description": "familiar bearer token", "password": true } ], "servers": { "familiar": { "type": "http", "url": "https://familiar.yourdomain.tld/mcp", "headers": { "Authorization": "Bearer ${input:familiar_token}" } } } } ``` On first use VS Code prompts for the token (masked, thanks to `password: true`) and reuses it. Start the server from the MCP view or the `MCP: List Servers` command, then use it from Copilot Chat's agent mode. ## Troubleshooting - **Silent 401 / "no tools"** — you're almost certainly in a root `.mcp.json`; move the config to `.vscode/mcp.json` so `headers` is honored. - **401 after entering a token** — wrong token; clear it via `MCP: Reset Cached Tokens` (or restart) and re-enter.