Connect Claude and Claude Code
Everything you need for either client:
-
URL —
https://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
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
- Tool workflows — what to ask for first
- Approvals and confirmations — what a confirmation prompt looks like
- OAuth details — the flow in full, for writing your own client
- Disconnecting — removing the connector, signing out, and cutting access off

