MCP server configuration examples.
Updated September 6, 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. 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) — Settings → Connectors → Add custom connector. 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 — workspace
.vscode/mcp.json, or usermcp.jsonvia MCP: Open User Configuration. Notsettings.json. - Codex —
~/.codex/config.toml(project override:.codex/config.tomlin a trusted project). - Windsurf / Cascade —
~/.codeium/windsurf/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).
Claude.ai and Claude Desktop
Remote DialMCP is a custom connector, not a Desktop JSON
entry. Open Settings → Connectors → Add custom connector
(Pro/Max) or have an Owner add it under Organization settings
(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
Create .vscode/mcp.json, or run
MCP: Open User Configuration. The root key is
servers. A Cursor or Claude Desktop block
pasted unchanged is valid JSON and silently ignored.
{
"servers": {
"dialmcp": {
"type": "http",
"url": "https://mcp.dialmcp.com/mcp"
}
}
}
VS Code 1.102+ has MCP generally available. Copilot chat is required to invoke the tools. Source: VS Code MCP servers and the MCP configuration reference (checked September 6, 2026).
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
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 (checked September 6, 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 18+. This is a transport shim — it still talks to the hosted server after OAuth. Details: install DialMCP.
Claude Desktop / Cursor / Windsurf shape:
{
"mcpServers": {
"dialmcp": {
"command": "npx",
"args": ["-y", "dialmcp-connector"]
}
}
}
VS Code shape:
{
"servers": {
"dialmcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "dialmcp-connector"]
}
}
}
Mistakes that look like a dead server
- Cursor JSON in VS Code. Root key must be
servers, and 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. Back to the docs hub.