Don Dominio

Máy chủ MCP không chính thức cung cấp API đại lý DonDominio / MrDomain dưới dạng các công cụ có thể gọi bằng LLM.

GitHubDùng thử MCP nàyĐược tài trợ

Tài liệu

DonDominio MCP Server

An unofficial MCP server that exposes the entire DonDominio / MrDomain reseller API as 106 LLM-callable tools. Manage domains, hosting, SSL certificates, and external users from Claude, Cursor, Cline, Codex, Hermes, or any MCP-compatible client.

Not affiliated with DonDominio / MrDomain. Use at your own risk and respect the usage policy.


Quick start

git clone https://github.com/ec-dev0/don-dominio-mcp
cd don-dominio-mcp
npm install && npm run build
cp .env.example .env        # set DONDOMINIO_API_USER / DONDOMINIO_API_PASS
node dist/index.js          # stdio mode

Install from GitHub (npx)

Point any MCP client at the repo; npx clones, builds, and runs it for you:

{
  "mcpServers": {
    "don-dominio": {
      "command": "npx",
      "args": ["-y", "github:ec-dev0/don-dominio-mcp"],
      "env": {
        "DONDOMINIO_API_USER": "your_api_user",
        "DONDOMINIO_API_PASS": "your_api_password"
      }
    }
  }
}

When launched by a client via npx, .env files are not read — pass credentials only through the config's env block.

Requirements

  • Node.js ≥ 20.
  • A DonDominio / MrDomain account with API access enabled (request it here).
  • The caller's public IP must be whitelisted in the DonDominio panel. Check the IP DonDominio sees with dondominio_tool_hello or dondominio_account_info.

Configuration

VariableDefaultDescription
DONDOMINIO_API_USER(required)DonDominio API username.
DONDOMINIO_API_PASS(required)DonDominio API password.
TRANSPORTstdiostdio or http.
PORT3000HTTP port (only with TRANSPORT=http).
ALLOWED_HOSTSlocalhost,127.0.0.1,[::1]Allowed hosts (DNS-rebinding protection).
ALLOWED_ORIGINSlocalhost,127.0.0.1Allowed Origin headers.
MCP_AUTH_TOKEN(unset)If set, /mcp requires Authorization: Bearer <token>.
MCP_MAX_CONCURRENT3Max concurrent requests per IP (→ 429). Matches DonDominio's usage policy (3 connections per IP).
DEBUG1 to enableDiagnostic output to stderr.

Usage

# stdio (default) – for local agents
DONDOMINIO_API_USER=... DONDOMINIO_API_PASS=... node dist/index.js

# HTTP – for remote agents (http://localhost:3000/mcp)
TRANSPORT=http PORT=3000 DONDOMINIO_API_USER=... DONDOMINIO_API_PASS=... node dist/index.js

Inspector (interactive debugger)

npm run inspect   # npx @modelcontextprotocol/inspector dist/index.js

Opens a web UI to explore all 106 tools, their schemas, and test them risk-free.

Available tools

ModuleToolsWhat it lets you do
tool/6Hello, IDN/Punycode, domain suggest, ISO tables, DIG, zone-check.
account/3Info & balance, promotions, TLD catalogue with prices.
domain/24Check, register, transfer, renew, NS, contacts, DNSSEC…
contact/4Reusable WHOIS contact templates.
service/47Hosting: FTP, databases, subdomains, redirects, mail, DNS.
ssl/13CSR, products, certificate lifecycle, validation, SAN.
user/9External panel users and per-domain permissions.

Examples

  • "Is example.es available?" → dondominio_domain_check
  • "Convert año.es to Punycode." → dondominio_tool_idn_converter
  • "List my .com domains." → dondominio_domain_list
  • "Create mailbox info@mydomain.com on service srv-mydomain." → dondominio_service_mail_create

Do not loop on dondominio_domain_check or dondominio_tool_domain_suggests; DonDominio bans accounts for mass availability checks.

Security

  • All calls go over HTTPS to https://simple-api.dondominio.net/.
  • Hardened HTTP transport: Host/Origin validation, optional Bearer auth, and a per-IP concurrency cap.
  • Tools declare honest annotations for the LLM (readOnlyHint, destructiveHint, idempotentHint, openWorldHint).

Troubleshooting

SymptomCause / fix
Error 100 when calling a toolInvalid credentials or IP not whitelisted.
Error 12Your IP is not whitelisted with DonDominio.
Client disconnects at startupNo logs on stdout by default; use DEBUG=1 for stderr diagnostics.
HTTP 401Missing Authorization: Bearer <MCP_AUTH_TOKEN>.
HTTP 429Too many concurrent requests from one IP; wait or raise MCP_MAX_CONCURRENT.

Development

npm install
npm run dev         # tsx watch (hot reload)
npm run build       # tsc → dist/
npm run inspect     # MCP Inspector
npm run clean       # rm -rf dist

Code structure and conventions live in AGENTS.md.

Links

License

MIT — see LICENSE.