mcpField
G
GoDaddy MCP

GoDaddy MCP

Local
github.com/davidcjwCloud & Infra0Updated 17w ago

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

  1. 01List DNS records with optional filters
  2. 02Add DNS records without overwriting
  3. 03Replace records with dry-run preview
  4. 04Delete records with dry-run preview
  5. 05Check domain availability and price

Use cases

  1. 01Inspect records for a domain
  2. 02Add a DNS record while retaining existing records
  3. 03Preview a record replacement or deletion
  4. 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.

mcp.json · Universal config
{
"mcpServers": {
"godaddy-mcp-davidcjw": {
"command": "uvx",
"args": [
"godaddy-mcp"
],
"env": {
"GODADDY_API_KEY": "<GODADDY_API_KEY>",
"GODADDY_API_SECRET": "<GODADDY_API_SECRET>"
}
}
}
}
Run commanduvx godaddy-mcp
Environment variables to set
GODADDY_API_KEYSecret
GODADDY_API_SECRETSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypigodaddy-mcp

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

godaddy-mcp

License: MIT Python MCP CI

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.com pointing to cname.vercel-dns.com"

"List all A records for example.com"

"Delete the TXT record _vercel from example.com"

Tools

ToolDescription
list_dns_recordsList all records for a domain, optionally filtered by type and/or name
add_dns_recordAdd a record without overwriting existing ones of the same type (PATCH)
replace_dns_recordsOverwrite 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_recordDelete all records matching a given type and name. Pass dry_run=true to preview the deletion without applying it
check_domain_availabilityCheck whether a domain is available to register, with price and currency

Safety tip: The destructive tools replace_dns_records and delete_dns_record accept an optional dry_run argument (default false). When dry_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.

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/your-feature)
  3. Commit your changes (git commit -m 'feat: describe change')
  4. 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

Markdown supported

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.