Skip to main content
Glama
README.md
# Dynadot MCP

Model Context Protocol server for the [Dynadot v3 API](https://www.dynadot.com/domain/api-document) (`api3.json`). Lets Claude (or any MCP client) manage your Dynadot domains, DNS, contacts, nameservers, folders, and the aftermarket.

## Tools

The server exposes tools across the following Dynadot API surface areas:

- **Domains** — search (single / bulk), register (single / bulk), renew, transfer-in, delete (grace), restore, list, get info, appraisal, lock, forwarding (HTTP / stealth / email), renew option, WHOIS contacts, folder, nameservers, hosting, parking, privacy, DNSSEC, DNS records (set/get/clear), push (request / send), notes, transfer status / auth code
- **Contacts** — CRUD plus EU / LT / LV TLD-specific settings, and the .CN audit flow
- **Nameservers** — register, add, set IP, list, delete (single / by-domain)
- **Orders** — list, get status, processing check, cancel transfer, authorize transfer-away, set transfer auth code
- **Account** — info, balance, default WHOIS / nameservers / parking / forwarding / stealth / hosting / renew option / DNS / email-forward, clear defaults, list coupons
- **Folders** — list, create, delete, rename, apply WHOIS / nameservers / parking / forwarding / stealth / hosting / DNS / email-forward / renew option, clear settings
- **Aftermarket** — backorders (add / delete / list), expired-domain auctions (open / closed / details / bids / place bid), backorder auctions, expired closeout (list / buy), public marketplace listings (browse / get item / Buy-It-Now), set-for-sale, Afternic / Sedo confirmations
- **TLDs** — pricing

All tool names are prefixed `dynadot_`. Domain names passed to any tool are automatically punycoded for IDN support (`krämer.ai` → `xn--krmer-hra.ai`).

> **Note on auctions**: The auction-related endpoints (`get_open_auctions`, `place_auction_bid`, etc.) require Dynadot to grant your account auction-API access. Without it, those calls return 403 — contact Dynadot support to enable.

## Install

### From npm

```bash
npm install -g dynadot-mcp-server
```

### From GitHub Packages

```bash
npm install -g @eyalm321/dynadot-mcp --registry=https://npm.pkg.github.com
```

## Configuration

Set the API key as an environment variable:

```bash
export DYNADOT_API_KEY=your_api_key_here
```

Get an API key from the [Dynadot API Settings](https://www.dynadot.com/account/domain/setting/api.html) page.

## Use with Claude Desktop / Claude Code

Add to your MCP client config:

```json
{
  "mcpServers": {
    "dynadot": {
      "command": "npx",
      "args": ["-y", "dynadot-mcp-server"],
      "env": {
        "DYNADOT_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

## Development

```bash
npm install
npm run build
npm test
```

Run the server against your local build:

```bash
DYNADOT_API_KEY=your_key node dist/index.js
```

## Releasing

Pushing to `main` runs CI (tests + build on Node 20 and 22). Publishing to npm and GitHub Packages happens when a GitHub Release is published — bump the version in `package.json`, tag, and create a release; the `Publish` workflow takes it from there.

## License

MIT

TDQS

C2.6/5.0

Scored across 105 tools

Disambiguation3/5

Many tools have very similar purposes (e.g., eight set_default_* tools, multiple folder settings), but descriptions are detailed enough to distinguish them. However, with 105 tools, an agent may struggle to pick the right one quickly.

Naming Consistency5/5

All tools use the dynadot_ prefix followed by a consistent verb_noun pattern in snake_case (e.g., dynadot_register, dynadot_set_dns). No mixing of conventions.

Tool Count1/5

105 tools is far too many for a single server. This dramatically increases cognitive load and makes selection error-prone. The tool set should be split into multiple specialized servers.

Completeness4/5

The server covers an extensive range of domain management operations: registration, transfers, DNS, DNSSEC, contacts, folders, marketplace, auctions, and defaults. Minor gaps exist (e.g., no bulk update operation), but the surface is remarkably complete.

Maintenance

ActivityInactive
ResponsivenessNo issues