MCP

An endpoint rather than a package: https://dnsmint.com/mcp. Everything else here assumes a person wrote the config first. This one does not: an agent asks for the hostname itself, mid-task, and can repoint it and read back why it is or is not resolving.

In Claude or ChatGPT, add the URL as a connector and sign in. Signing in is an OAuth flow: you choose what the connector may do, and can hold it to a single domain. Claude Code, Cursor and VS Code can send an API key instead:

$ claude mcp add --transport http dnsmint https://dnsmint.com/mcp \
    --header "Authorization: Bearer $DNSMINT_KEY"

On a server with no browser, use the device flow instead. The machine asks for a code, prints it, and polls; you open dnsmint.com/device on a phone or laptop, type the code, and approve it there. Nothing is decided on the machine, and no long-lived secret has to be copied onto it.

$ curl -s -X POST https://dnsmint.com/api/oauth/device_authorization \
    -d client_id=$CLIENT_ID -d 'scope=hostnames:read hostnames:write'

{ "user_code": "WDJB-MJHT",
  "verification_uri": "https://dnsmint.com/device",
  "interval": 5, ... }

The tools a connector is offered follow what it was granted, so a read-only connection is never shown minting or releasing at all. Releasing asks for the hostname spelled out, because it is permanent. Disconnect a connector from your API keys page and it stops on its next call.

Every recipe is verified against the client's current release. The other integrations cover the rest, and the quickstart goes from a bare address to HTTPS without any of them.