don-dominio-mcp
Unofficial MCP server exposing the DonDominio / MrDomain reseller API as LLM-callable tools
Documentation
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 modeInstall 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
- 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
| Variable | Default | Description |
|---|---|---|
| `DONDOMINIO_API_USER` | _(required)_ | DonDominio API username. |
| `DONDOMINIO_API_PASS` | _(required)_ | DonDominio API password. |
| `TRANSPORT` | `stdio` | `stdio` or `http`. |
| `PORT` | `3000` | HTTP port (only with `TRANSPORT=http`). |
| `ALLOWED_HOSTS` | `localhost,127.0.0.1,[::1]` | Allowed hosts (DNS-rebinding protection). |
| `ALLOWED_ORIGINS` | `localhost,127.0.0.1` | Allowed `Origin` headers. |
| `MCP_AUTH_TOKEN` | _(unset)_ | If set, `/mcp` requires `Authorization: Bearer `. |
| `MCP_MAX_CONCURRENT` | `3` | Max concurrent requests per IP (→ 429). Matches DonDominio's usage policy (3 connections per IP). |
| `DEBUG` | `1` to enable | Diagnostic 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.jsInspector (interactive debugger)
npm run inspect # npx @modelcontextprotocol/inspector dist/index.jsOpens a web UI to explore all 106 tools, their schemas, and test them risk-free.
Available tools
| Module | Tools | What it lets you do |
|---|---|---|
| `tool/` | 6 | Hello, IDN/Punycode, domain suggest, ISO tables, DIG, zone-check. |
| `account/` | 3 | Info & balance, promotions, TLD catalogue with prices. |
| `domain/` | 24 | Check, register, transfer, renew, NS, contacts, DNSSEC… |
| `contact/` | 4 | Reusable WHOIS contact templates. |
| `service/` | 47 | Hosting: FTP, databases, subdomains, redirects, mail, DNS. |
| `ssl/` | 13 | CSR, products, certificate lifecycle, validation, SAN. |
| `user/` | 9 | External 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
| Symptom | Cause / fix |
|---|---|
| Error `100` when calling a tool | Invalid credentials or IP not whitelisted. |
| Error `12` | Your IP is not whitelisted with DonDominio. |
| Client disconnects at startup | No logs on `stdout` by default; use `DEBUG=1` for stderr diagnostics. |
| HTTP 401 | Missing `Authorization: Bearer `. |
| HTTP 429 | Too 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 distCode structure and conventions live in `AGENTS.md`.
Links
- DonDominio API docs:
- Usage policy:
- MCP specification:
License
MIT — see `LICENSE`.
Frequently asked questions
What is don-dominio-mcp?
don-dominio-mcp is Unofficial MCP server exposing the DonDominio / MrDomain reseller API as LLM-callable tools
How do I install don-dominio-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is don-dominio-mcp open source?
Yes — it is hosted on GitHub at https://github.com/ec-dev0/don-dominio-mcp.
Related MCP tools
Model Context Protocol Servers
The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
MCP server to provide Figma layout information to AI coding agents like Cursor
The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams — everything you need to ship apps your users will love.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP