About GoDaddy MCP
GoDaddy MCP is an MCP server for managing GoDaddy DNS records through AI assistants and other MCP clients. It supports record operations and domain availability checks, with dry-run previews for replacements and deletions.
Key features
- 01List DNS records with optional filters
- 02Add DNS records without overwriting
- 03Replace records with dry-run preview
- 04Delete records with dry-run preview
- 05Check domain availability and price
Use cases
- 01Inspect records for a domain
- 02Add a DNS record while retaining existing records
- 03Preview a record replacement or deletion
- 04Check whether a domain is available to register
MCP support
The MCP server exposes tools for listing, adding, replacing, and deleting GoDaddy DNS records, as well as checking domain availability. Destructive changes can be previewed with dry_run.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEgodaddy-mcp
A Model Context Protocol (MCP) server for managing GoDaddy DNS records. Lets AI assistants (Claude, etc.) list, add, replace, and delete DNS records on any domain in your GoDaddy account.
Table of Contents
Installation
Option A — PyPI (recommended)
Requires uv (Python 3.11+).
uvx godaddy-mcp
No cloning or path configuration needed.
Option B — from source
git clone https://github.com/davidcjw/godaddy-mcp
cd godaddy-mcp
uv sync
Configuration
1. Get GoDaddy API credentials
Generate a Production API key at developer.godaddy.com (select Production, not OTE).
2. Register with Claude Code
Add the following to the mcpServers section of ~/.claude.json:
With PyPI install (recommended):
"godaddy-dns": {
"command": "uvx",
"args": ["godaddy-mcp"],
"env": {
"GODADDY_API_KEY": "your_api_key",
"GODADDY_API_SECRET": "your_api_secret"
}
}
With source install:
"godaddy-dns": {
"command": "/path/to/godaddy-mcp/.venv/bin/python",
"args": ["/path/to/godaddy-mcp/server.py"],
"env": {
"GODADDY_API_KEY": "your_api_key",
"GODADDY_API_SECRET": "your_api_secret"
}
}
Restart Claude Code to activate the server.
3. Other MCP clients
Run the server directly:
GODADDY_API_KEY=your_key GODADDY_API_SECRET=your_secret uvx godaddy-mcp
# or from source:
GODADDY_API_KEY=your_key GODADDY_API_SECRET=your_secret uv run python server.py
Usage
Once registered, Claude (or any MCP client) can manage DNS records conversationally:
"Add a CNAME record for
app.example.compointing tocname.vercel-dns.com"
"List all A records for
example.com"
"Delete the TXT record
_vercelfromexample.com"
Tools
| Tool | Description |
|---|---|
list_dns_records | List all records for a domain, optionally filtered by type and/or name |
add_dns_record | Add a record without overwriting existing ones of the same type (PATCH) |
replace_dns_records | Overwrite all records of a given type+name — use when you need exactly one record (PUT). Pass dry_run=true to preview the change without applying it |
delete_dns_record | Delete all records matching a given type and name. Pass dry_run=true to preview the deletion without applying it |
check_domain_availability | Check whether a domain is available to register, with price and currency |
Safety tip: The destructive tools
replace_dns_recordsanddelete_dns_recordaccept an optionaldry_runargument (defaultfalse). Whendry_run=true, the tool returns a description of what would change and makes no call to the GoDaddy API — useful for previewing a change before committing to it.
Supported record types: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, and others supported by the GoDaddy API.
Testing
Tests use respx to mock all HTTP traffic — they never make real GoDaddy API calls. Install the dev dependencies and run the suite:
uv sync
uv run pytest
Continuous integration runs the same suite on every push and pull request via GitHub Actions.
Contributing
Contributions are welcome! Please open an issue first to discuss what you'd like to change.
- Fork the repo
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'feat: describe change') - Push and open a pull request
Please make sure the tests pass (uv run pytest) and the server starts cleanly (uv run python server.py) before submitting a PR.
Code of Conduct
This project follows the Contributor Covenant v2.1. By participating you agree to uphold a welcoming, harassment-free environment.
License
Distributed under the MIT License. See LICENSE for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.