built by the makers of Gamut
Client recipe

Add DialMCP to VS Code.

Updated October 18, 2026

VS Code connects to remote MCP servers natively, so DialMCP needs no install, no package, and no API key. You add one URL, https://mcp.dialmcp.com/mcp, sign in once in the browser, and an agent in VS Code chat can place a real phone call from your own verified number. This page covers setup from the first click to a test call, plus the errors people actually hit. The shorter multi-client version is on client setup.

VS Code changed its MCP files in fall 2026. Since 1.140 (September 30), MCP: Add Server offers portable Copilot config files with an mcpServers key, and VS Code's docs prefer them for new servers. The older .vscode/mcp.json and profile mcp.json (both with a servers key) are now marked as deprecated targets in that flow, but both still work. This page gives both shapes. Checked against VS Code 1.142 docs on October 18, 2026.

What you need

1. Add the server with MCP: Add Server

This is the guided path, and it picks the right JSON shape for you.

  1. Open the Command Palette (Ctrl+Shift+P, or Cmd+Shift+P on macOS) and run MCP: Add Server. The same flow is under Chat: Open Customizations → MCP Servers → +.
  2. Choose HTTP (HTTP or Server-Sent Events), not "Command (stdio)".
  3. Enter the URL https://mcp.dialmcp.com/mcp. Include /mcp.
  4. Enter a server ID: dialmcp.
  5. Choose where to save it. Pick Global, then Copilot Global, to make DialMCP available in every workspace. .mcp.json saves it to the current workspace root, which is right only if you want to share the entry with your team. The deprecated .vscode/mcp.json and user-profile targets are still offered for compatibility.

Prefer a link? VS Code's documented install handler takes the URL-encoded server JSON. Opening this link in a browser hands it to VS Code, which opens an install prompt: install DialMCP in VS Code. Insiders uses the vscode-insiders: scheme instead. You can also search @mcp in the Extensions view to browse the MCP server gallery.

2. Or edit the config file by hand

The root key depends on the file. This is a common reason a pasted server never appears: the JSON is valid, but VS Code ignores a root key it does not expect.

Portable files (mcp-config.json, .mcp.json):

{
  "mcpServers": {
    "dialmcp": {
      "type": "http",
      "url": "https://mcp.dialmcp.com/mcp"
    }
  }
}

VS Code files (.vscode/mcp.json, profile mcp.json):

{
  "servers": {
    "dialmcp": {
      "type": "http",
      "url": "https://mcp.dialmcp.com/mcp"
    }
  }
}

That is the whole entry. Do not add headers, a bearer token, or an oauth block. VS Code's oauth.clientId field is for servers that need a pre-registered client, and DialMCP registers clients automatically. type: "sse" is legacy in VS Code and not needed: DialMCP speaks Streamable HTTP. Every client's file path side by side: MCP server configuration examples.

Settings Sync can carry servers in the profile mcp.json between machines (Settings Sync: Configure → MCP Servers). For a dev container, put the servers block under customizations.vscode.mcp in devcontainer.json.

3. Trust the server and sign in

Trust. Servers in .mcp.json or .vscode/mcp.json follow the workspace's trust setting: in a trusted folder they start with no separate prompt, and in Restricted Mode they do not start. Servers from your user configuration or the gallery show a trust dialog when they first start or when their configuration changes. MCP: Reset Trust clears those decisions.

Sign in. On first start, VS Code reads DialMCP's 401, discovers the authorization server, registers itself through OAuth dynamic client registration, and opens your browser. We checked on October 18, 2026 that DialMCP's registration endpoint accepts the two redirect URIs VS Code documents, http://127.0.0.1:33418 and https://vscode.dev/redirect. The browser steps are the same as in every client:

  1. Enter your US or Canadian mobile number.
  2. Type the SMS code.
  3. First time only: the first name the assistant should use on calls.
  4. Click Allow on the consent screen, then return to VS Code.

The full flow, token lifetimes, and every sign-in error message are on OAuth and phone verification.

4. Use DialMCP in chat

  1. Open the Chat view and choose Agent in the agent picker. MCP tools are called by agents.
  2. Make sure DialMCP's tools are switched on. In the Local harness, click the Configure Tools button in the chat input and tick the dialmcp group. In the newer Copilot harness (it may already be your default), tools are managed in Chat: Open Customizations → Tools, and the choice persists across sessions.
  3. Test without dialing anyone: "List my recent DialMCP calls." That runs the read-only list_calls. An empty list on a new account is a pass.
  4. Then ask for one concrete call: who to call, the number, and the goal. Example: "Use DialMCP to call the dentist at +1… and move my Thursday cleaning to next week."

place_call returns a call_id and a private listen_url right away, and the call runs in the background, usually 2 to 5 minutes. The agent then checks get_call, which can wait up to 50 seconds per request, until the outcome, transcript, and recording link are ready. Arguments and statuses for all four tools are in the tool reference.

Tool approvals

VS Code asks before running an MCP tool unless the tool is annotated readOnlyHint. DialMCP's four tools carry no annotations, so all of them ask the first time, including the read-only list_calls and get_call. The dialog lets you allow a tool once, for the session, for the workspace, or always. Chat: Manage Tool Approval shows the choices per server.

A sensible split: approve get_call and list_calls for the session, and keep place_call and end_call on manual approval. Do not turn on Allow all, Autopilot, or /yolo in a chat that can place calls. To force a prompt even under broader auto-approval, set place_call to false in chat.tools.eligibleForAutoApproval. place_call rings a real phone, and the confirmation is where you check the number and the objective. Server-side limits still apply whatever you approve: calling hours, rate limits, AI disclosure, and opt-outs are enforced by DialMCP. See Safety.

Troubleshooting

First stop for any failure: MCP: List Servers, select dialmcp, then Show Output. The same menu has Start, Stop, Restart, Show Configuration, and Sign Out (shown as Disconnect Account when the account is shared).

Do you need the stdio bridge?

Almost never in VS Code. The bridge, npx -y dialmcp-connector, exists for hosts that can only launch local servers, and VS Code is a remote client. If you must use it, for example behind a proxy that only a local process can traverse, it needs Node.js 20.18.1 or later. Use the stdio shape in .vscode/mcp.json:

{
  "servers": {
    "dialmcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "dialmcp-connector"]
    }
  }
}

Proxy flags and the Node check are on install. Why a hosted URL beats a local process for most people: remote MCP servers explained.

FAQ

Where does VS Code store MCP servers?

In one of four files. The portable Copilot files use an mcpServers key: .mcp.json at the workspace root, and ~/.copilot/mcp-config.json for your user. The older VS Code files use a servers key: .vscode/mcp.json and the profile mcp.json. VS Code's docs prefer the portable files for new servers. settings.json is not an MCP server file.

Do I need an API key to use DialMCP in VS Code?

No. Add only type and url. VS Code registers itself through OAuth dynamic client registration and opens a browser sign-in on first connection.

Why does VS Code ask me to approve every DialMCP tool?

VS Code skips the prompt only for tools annotated readOnlyHint, and DialMCP's tools carry no annotations. Approve the read-only ones for the session; keep place_call manual.

Does the MCP server need GitHub Copilot?

It needs chat with an agent, which needs a model: a Copilot plan (including Copilot Free) or your own model key. VS Code's docs say bring-your-own-key models work without a GitHub account or Copilot plan.

Using another editor? Claude, Codex and Cursor, ChatGPT, or the Claude Code MCP setup. Back to the docs hub.