MCP server configuration examples.
Updated November 1, 2026
Same remote server, five different files. This page is the copy-ready
DialMCP snippets — not a protocol tutorial. The endpoint never changes:
https://mcp.dialmcp.com/mcp, Streamable HTTP,
OAuth 2.1, no API key.
settings.json. Claude Code does not read
claude_desktop_config.json. Cursor does not
read VS Code’s servers key. Paste the block
that matches the client you actually opened.
What every client needs
- URL:
https://mcp.dialmcp.com/mcp - Transport: Streamable HTTP (clients usually label this
http) - Auth: browser OAuth, then SMS verification of a US or Canadian mobile number
- No
headers, bearer token, or env API key
After the client connects, the four tools in the
tool reference show up. The host lists them with
tools/list and runs them with
tools/call
(MCP server commands). If the client only
speaks local stdio, use the npx bridge
instead of a URL.
Which file is which
- Claude Code (project) —
.mcp.jsonat the repo root. Team-shared. Needs a workspace trust / approval on first run. - Claude Code (user) —
~/.claude.json. Useclaude mcp add --scope user. - Claude Code approvals —
~/.claude/settings.jsonor.claude/settings.local.json. These files do not define the server. - Claude Desktop / claude.ai (remote) — Customize → Connectors → + Add → Add custom connector (Team/Enterprise owners: Organization settings → Connectors). Not a JSON file.
- Claude Desktop (local stdio) — macOS
~/Library/Application Support/Claude/claude_desktop_config.json; Windows%APPDATA%\Claude\claude_desktop_config.json. - Cursor — project
.cursor/mcp.jsonor global~/.cursor/mcp.json. - VS Code (portable, preferred for new servers) — user
~/.copilot/mcp-config.json(or$COPILOT_HOME/mcp-config.json) and workspace-root.mcp.json. Root keymcpServers. - VS Code (older format) — workspace
.vscode/mcp.json, or the profilemcp.jsonvia MCP: Open User Configuration. Root keyservers. Notsettings.json. - Codex —
~/.codex/config.toml(project override:.codex/config.tomlin a trusted project). - Windsurf / Devin Desktop — Cascade agent
~/.codeium/windsurf/mcp_config.json; Devin Local agent~/.config/devin/mcp_config.jsonor project.devin/mcp_config.json.
Claude Code
CLI (recommended):
claude mcp add --transport http dialmcp https://mcp.dialmcp.com/mcp
# Add --scope user to enable it in every project
Project .mcp.json — the
type field is required. Claude Code treats a
url with no type as stdio and skips the
server. streamable-http is accepted as an
alias for http.
{
"mcpServers": {
"dialmcp": {
"type": "http",
"url": "https://mcp.dialmcp.com/mcp"
}
}
}
Source: Claude Code MCP docs (checked September 6, 2026). Walkthrough: Claude Code MCP setup.
Claude.ai and Claude Desktop
Remote DialMCP is a custom connector, not a Desktop JSON
entry. Open Customize → Connectors → + Add → Add custom connector
(Free, Pro, Max; Free allows one custom connector) or have an Owner add it under
Organization settings → Connectors → Add → Custom → Web
(Team/Enterprise), then paste https://mcp.dialmcp.com/mcp.
Complete the browser sign-in.
Anthropic reaches the server from its cloud, not from your laptop. That is fine for DialMCP — the endpoint is public. A server on localhost or behind a VPN will not work as a custom connector.
claude_desktop_config.json is only for
local stdio servers. Putting the DialMCP URL there will not
register a remote connector. Use the stdio bridge block at the bottom if
you specifically need Desktop’s local config file.
Source: Claude Help: custom connectors (checked September 6, 2026).
Cursor
Project file .cursor/mcp.json, or
~/.cursor/mcp.json for every workspace.
Remote servers use url under
mcpServers. Cursor infers Streamable HTTP
from the URL; do not copy VS Code’s servers
key into this file.
{
"mcpServers": {
"dialmcp": {
"url": "https://mcp.dialmcp.com/mcp"
}
}
}
Source: Cursor MCP docs (checked September 6, 2026).
VS Code
VS Code 1.140+ has two formats. For new servers its docs prefer the
portable Copilot files: ~/.copilot/mcp-config.json for you
(MCP: Add Server → HTTP → Global → Copilot Global), or
.mcp.json at the workspace root to share with a team. The
root key is mcpServers, so this is the same block as Claude
Code’s project file:
{
"mcpServers": {
"dialmcp": {
"type": "http",
"url": "https://mcp.dialmcp.com/mcp"
}
}
}
The older .vscode/mcp.json and the profile
mcp.json (MCP: Open User Configuration) still
work, labeled deprecated in the Add Server flow. Their root key is
servers. A block with the wrong root key for its file is
valid JSON and silently ignored.
{
"servers": {
"dialmcp": {
"type": "http",
"url": "https://mcp.dialmcp.com/mcp"
}
}
}
MCP has been generally available since VS Code 1.102. The tools run in chat with an agent, which needs a model: a Copilot plan (signing in with no subscription enrolls you in 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. Sources: Add MCP servers in VS Code, the MCP configuration reference and AI language models in VS Code (checked October 23, 2026). Sign-in, trust and tool approvals: VS Code MCP setup.
Codex
User config ~/.codex/config.toml:
[mcp_servers.dialmcp]
url = "https://mcp.dialmcp.com/mcp"
Or:
codex mcp add dialmcp --url https://mcp.dialmcp.com/mcp
Leave bearer_token_env_var unset. DialMCP
speaks OAuth; a bearer-token field is the wrong auth shape.
Source:
Codex configuration reference
(checked September 6, 2026).
Windsurf (Devin Desktop)
Windsurf was renamed Devin Desktop on June 2, 2026, and it now has two
agents. The legacy Cascade agent reads the file below.
The default Devin Local agent reads
~/.config/devin/mcp_config.json (project:
.devin/mcp_config.json) with a
url field, and imports the Cascade file by
default. Both setups, sign-in and fixes:
Windsurf MCP setup.
Cascade file: ~/.codeium/windsurf/mcp_config.json
(not ~/.windsurf/). Official examples use
serverUrl for remote HTTP. Current docs also
mention url; prefer
serverUrl so a Cursor paste does not fail
silently.
{
"mcpServers": {
"dialmcp": {
"serverUrl": "https://mcp.dialmcp.com/mcp"
}
}
}
Source: Windsurf Cascade MCP and Devin CLI MCP configuration (checked November 1, 2026).
Gamut
Open Settings → Connectors → Add MCP server, paste
https://mcp.dialmcp.com/mcp, choose HTTP /
OAuth, and finish SMS verification. No JSON file.
Stdio bridge (no remote HTTP)
For clients that only spawn local processes. Requires Node.js 20.18.1+. This is a transport shim — it still talks to the hosted server after OAuth. Details: install DialMCP.
Claude Desktop / Cursor / Windsurf / VS Code portable-file shape:
{
"mcpServers": {
"dialmcp": {
"command": "npx",
"args": ["-y", "dialmcp-connector"]
}
}
}
VS Code .vscode/mcp.json shape:
{
"servers": {
"dialmcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "dialmcp-connector"]
}
}
}
Mistakes that look like a dead server
- Wrong root key in VS Code.
.vscode/mcp.jsonand the profilemcp.jsonneedservers;.mcp.jsonandmcp-config.jsonneedmcpServers. Remote entries need"type": "http". - VS Code JSON in Cursor. Cursor wants
mcpServersandurl, notservers. - Claude Code URL without type. Add
"type": "http". The error used to read ascommand: expected string. - Editing settings.json for VS Code MCP. Use
mcp.json. - Putting the remote URL in claude_desktop_config.json. Use Connectors for remote DialMCP.
- Adding an API key. DialMCP has none. Extra headers can break the OAuth handshake.
- Wrong path on Windsurf.
~/.codeium/windsurf/mcp_config.json, fieldserverUrl.
Walkthroughs by client, without the file-shape comparison, live on client setup. Building a server that other people will paste into these files? How to build an MCP server covers stdio versus Streamable HTTP. The category page is remote MCP servers explained. Back to the docs hub.