Connect Claude and Claude Code

Everything you need for either client:

  • URLhttps://api.opusdns.com/mcp (sandbox: https://sandbox.opusdns.com/mcp)
  • Transport — remote Streamable HTTP
  • Authentication — OAuth 2.1 in the browser. No API key, no token to paste.

You do not create a credential for the MCP server. The client registers itself with the OpusDNS identity provider automatically and then opens a browser for you to sign in. The API keys described in Authentication are for direct API calls and are not accepted by the MCP endpoint.

Claude Code

Add the server:

claude mcp add --transport http opusdns https://api.opusdns.com/mcp

Then, inside Claude Code, run /mcp, select opusdns, and complete the browser sign-in. From a shell instead:

claude mcp login opusdns

By default the server is registered for the current project only. To make it available everywhere, or to check it in for your team:

claude mcp add --transport http --scope user opusdns https://api.opusdns.com/mcp
claude mcp add --transport http --scope project opusdns https://api.opusdns.com/mcp

The project scope writes a shared .mcp.json:

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

The "type" field is required. An entry with a url and no type is read as a local command, and the server is skipped.

Inspect and remove:

claude mcp list
claude mcp get opusdns
claude mcp remove opusdns

Adding the sandbox alongside production

claude mcp add --transport http opusdns-sandbox https://sandbox.opusdns.com/mcp

Production and sandbox are separate identity realms, so each connector needs its own sign-in and neither can see the other's domains. Give them distinct names — an agent offered two connectors with the same name will pick one arbitrarily.

Check it worked

claude mcp list

The server should show as connected. Then ask for something read-only — "how many domains do I have?" — and expect a count back. If it does not connect, the symptom is almost certainly in Troubleshooting.

Claude desktop and Claude on the web

Open Settings → Connectors → Add custom connector, name it OpusDNS, paste https://api.opusdns.com/mcp, add it, then choose Connect and complete the browser sign-in.

Custom connectors are a paid-plan feature, and on team and enterprise plans an administrator may need to allow custom connectors for the organization first.

Clients that only speak stdio

Older clients cannot open a remote HTTP connection themselves and need a local bridge:

{
  "mcpServers": {
    "opusdns": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.opusdns.com/mcp"]
    }
  }
}

For Claude desktop that file is claude_desktop_config.json, under ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows. The bridge runs the OAuth flow on first use and caches the tokens on disk; delete its cache directory to force a fresh sign-in.

mcp-remote is a third-party npm package, not maintained or supported by OpusDNS. Prefer a client with native remote HTTP support. If you use the bridge, you are running third-party code that holds your OpusDNS access token on disk.

Next