OpusDNS MCP server
The OpusDNS MCP server is a remote Model Context Protocol server that exposes the OpusDNS Domain API to AI clients. It is hosted by OpusDNS — there is nothing to install and no server to run. Point any MCP client that speaks remote Streamable HTTP at the endpoint, sign in with your OpusDNS account, and the client gets nine tools that cover the whole API.
New here? The Quickstart gets you from nothing to an approved change in about ten minutes. Building unattended automation instead? Read MCP or the REST API? first.
Try asking
Once your client is connected, you talk to it in your own words — the model picks the tools. A few that exercise each family:
- "How many domains do I have, and what is expiring in the next 90 days?"
- "Which of my .com domains expire in the next 30 days? Just the names and dates."
- "Lock transfers on everything tagged migration."
- "Renew acme-labs.com for a year."
- "Turn off auto-renew on every .io that expires this quarter."
- "Batch batch_01k3n0m5xrf9pab6t2wqzhkvr3 has failures — retry only the ones that ran out of funds."
The first two answer straight away. The rest write, so each one stops and asks you to approve it before anything reaches the OpusDNS API — and the bulk ones show you how many domains matched before you decide.
Endpoints
| Environment | MCP endpoint |
|---|---|
| Production | https://api.opusdns.com/mcp |
| Sandbox | https://sandbox.opusdns.com/mcp |
The MCP endpoint lives on the API host: https://api.opusdns.com/mcp.
There is no mcp.opusdns.com — that hostname does not resolve.
The sandbox is a separate account and a separate identity realm, free and fully isolated from production. Use it to try the tools out.
What you get: nine tools
Discovery — every operation in the OpusDNS API is reachable through three tools, so the client's context holds three tool definitions instead of hundreds.
| Tool | Purpose |
|---|---|
search_operations |
Relevance-ranked search of the API catalog |
describe_operation |
Parameters, request body and safety for one operation |
call_operation |
Call one operation |
Bulk — multi-domain mutations run through OpusDNS Jobs, never a loop.
| Tool | Purpose |
|---|---|
bulk_preview |
Resolve a selector and show the planned batch. Submits nothing |
bulk_submit |
Submit the batch, after you approve it |
job_batch_status |
Progress and per-state job counts |
job_batch_control |
Pause, resume, retry or cancel a batch |
Portfolio — compact reads that stay small on large accounts.
| Tool | Purpose |
|---|---|
portfolio_summary |
Totals and breakdowns by status, TLD and expiry |
portfolio_query |
List domains, projecting only the fields you ask for |
Full parameter reference: Tools reference. Worked examples: Tool workflows.
Approvals
Anything that is not a read — every write, every cost-bearing operation, every deletion or transfer — is blocked before any request reaches the OpusDNS API and requires your explicit approval.
Approval is enforced by the server, not by instructions to the model. A model cannot talk its way past the gate, and the approval is bound to the exact action — including the exact resolved list of domains for a bulk operation. See Approvals and confirmations.
Limits
| Limit | Value |
|---|---|
| Approval lifetime | About 5 minutes, single use |
| Domains one bulk selector may resolve to | 1,000 |
portfolio_query page size |
200 maximum |
| Concurrent in-flight requests per server instance | 32; above that, 503 with Retry-After: 1 |
| API response size per tool call | 512 KiB; larger responses come back marked "truncated": true |
| Upstream API timeout | 10 seconds |
| Tool-list freshness hint | 15 minutes |
Defaults, where you do not say otherwise:
| Default | Value |
|---|---|
search_operations results |
25 |
portfolio_query page / page size |
page 1, 50 rows |
bulk_preview sample size |
10 resolved domains |
The 1,000-domain limit is the Jobs API's cap on instances in a single bulk command, and a batch built from a selector is one command. To change more than 1,000 domains, narrow the selector and submit more than one batch — for example one TLD at a time.
Protocol
-
MCP protocol revision
2026-07-28, negotiating down to earlier revisions for clients that do not speak it. - Transport: Streamable HTTP. Not SSE-only, not stdio.
- Server identity:
opusdns-mcp. - Capabilities: tools only. No prompts, no resources, no sampling.
-
Stateless. No session is established, so
Mcp-Session-Idis not required and should not be relied on.
Next
- Quickstart — connected, asking and approving in ten minutes
- Connect your client — Claude, Cursor, VS Code, ChatGPT
- Recipes — worked examples for the jobs people actually do
- Tool workflows — one worked example per tool family
- Sub-organizations — acting on an organization below your own
- Bulk operations with Jobs
- Results and errors — every shape a tool can return
- Data handling — what the agent sees and where it goes
- API Quickstart — the same operations over plain HTTP with an API key
- API Reference — every endpoint the tools can reach

