🌐 Domain MCP : 106 Actions to Search and Manage Domains
Just finished building domain-mcp - an open-source MCP server to manage domains with natural language through Claude Code, Cursor, or any MCP client.
Search domains, modify DNS, check availability, configure nameservers... pair it with Cloudflare MCP and it will handle connectivity E2E. 🔗
106 Dynadot API commands organized into 10 composite tools so the AI always knows which action to call without confusion or hallucinations. 🧠
What you can do: - 🔍 "Check if example.com is available and show me similar domains" - 🛠️ "Set up DNS for mysite.com with A record pointing to my server" - 💵 "Compare prices for the 17 domains I have identified" - 🔒 "Enable WHOIS privacy and lock all my domains" - 📦 And much more once you install the package!
Getting started: - 🆓 Dynadot API key to search, check prices, etc. is free [hope to add other providers later] - 📖 The MCP itself is open-source
Add to your MCP config:
json
{
"mcpServers": {
"domain-mcp": {
"command": "npx",
"args": ["-y", "domain-mcp"],
"env": {
"DYNADOT_API_KEY": "your-key"
}
}
}
}
👉 https://github.com/joachimBrindeau/domain-mcp
🤖 Built with Claude Code + Sonnet 4.5
Vibe coded the whole thing. Some highlights:
- Tool consolidation: 106 Dynadot API commands → 10 MCP tools with discriminated unions. Each tool has an
actionparam that narrows the Zod schema, so the LLM gets exact params per action instead of a blob of optional fields - Schema-driven: Single
schema.tsdefines tools, actions, and params. Registration auto-generates from schema - no manual sync between definition and implementation - Response parsing: Dynadot returns mixed formats (JSON, weird key-value strings). Built a normalizer that handles both + extracts nested domain/DNS objects
- E2E validation: Test suite hits all 106 endpoints against sandbox API, validates response shapes match Zod schemas
- Error boundaries: Zod
.safeParse()on all responses - malformed API data doesn't crash the server, returns structured error to LLM
I've only tested this on my own domains so far - would really appreciate feedback from anyone willing to give it a try! 🙏
PS: If you need a Dynadot account, here's a referral link for $5 credit. 💵
This is very interesting. Will give it a try!