Command Palette

Search for a command to run...

UnylyUnyly
Browse all

DNSMint

FreeMaintained

Mint and manage hostnames on domains DNSMint operates, so an agent can name a machine mid-task.

GitHubEmbed

About

Mint and manage hostnames on domains DNSMint operates, so an agent can name a machine mid-task.

README

Most people want the hosted endpoint instead: https://dnsmint.com/mcp.

It needs nothing installed. In Claude or ChatGPT, add the URL as a connector and sign in. In Claude Code, Cursor or VS Code, point them at the URL with an API key. On a server with no browser, use the device flow. The recipe for each is on dnsmint.com/integrations.

This package is the same tools over stdio, for the case where you want the server running as a local subprocess rather than talking to ours.

Lets an agent mint and manage its own hostnames on DNSMint, through the Model Context Protocol.

Every other DNSMint integration assumes a human wrote the config first. This one does not: an agent that has just been given a machine can ask for a name for it, mid-task.

Which one to use

Hosted dnsmint.com/mcp This package
Install nothing Node, and an entry in a config file
Claude / ChatGPT connectors yes, via OAuth no — they cannot spawn a subprocess
Headless server yes, via the device flow yes
Credential API key, or an OAuth grant you can revoke from the dashboard API key in the client's environment
Tool updates reach you immediately when you upgrade the package

The hosted endpoint is the one that gets improvements first. Use this if you specifically want a local process — an air-gapped setup pointed at a private deployment, or a client that only speaks stdio.

Configure

{
  "mcpServers": {
    "dnsmint": {
      "command": "npx",
      "args": ["-y", "dnsmint-mcp-server"],
      "env": {
        "DNSMINT_API_KEY": "dnsm_..."
      }
    }
  }
}

The key needs hostnames:read and hostnames:write. Scope it to one domain and the agent reaches nothing else on the account, which is the point of scoping.

Variable
DNSMINT_API_KEY Required.
DNSMINT_ALLOW_RELEASE true to expose release_hostname. Off by default.
DNSMINT_API_URL API base URL. Defaults to https://dnsmint.com/api/v1.

Tools

Tool
list_hostnames Every name the key can see, plus how many are active against the plan's cap.
get_hostname One name's status and certificate mode.
mint_hostname Register an address, get a stable name back.
repoint_hostname The machine moved; the name does not.
diagnose_hostname Why a name is or is not working.
release_hostname Only when DNSMINT_ALLOW_RELEASE=true. See below.

The hosted endpoint carries the same six, and decides which to offer from what the credential was granted rather than from an environment variable.

Releasing is off by default, on purpose

A released hostname is tombstoned and never issued again, to anyone, including you. There is no undo.

That is a bad thing to leave within reach of a model deciding to tidy up, so release_hostname is not registered unless you set DNSMINT_ALLOW_RELEASE=true. When it is, the tool takes a confirm argument that must equal the hostname exactly, checked against the id before anything happens — so a name cannot be released by guessing an id or half-remembering a name.

If the goal is to stop serving, repoint the name or stop the machine. Releasing is for names that are genuinely finished with.

What the tool descriptions carry

The descriptions are the interface a model actually reads, so they state the rules the API enforces rather than leaving a model to discover them by being refused:

  • A hostname is one label above a domain. Names below a hostname are not hostnames.
  • The address class is fixed for life. Public stays public, private stays private; crossing is refused, because one name resolving public then private is how DNS rebinding works.
  • A newly minted name is pending and goes live within about a minute.
  • The API does not say where a name points. DNS is the authoritative answer, which is what diagnose_hostname reports.

Development

npm install
npm run build

Support

Something not working, or a case this does not cover? Open an issue here, or write to [email protected]. This server is maintained by the DNSMint team.

from github.com/dnsmint/dnsmint-mcp-server

Install DNSMint in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install dnsmint

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add dnsmint --env DNSMINT_API_KEY="" -- npx -y dnsmint-mcp-server

Step-by-step: how to install DNSMint

FAQ

Is DNSMint MCP free?

Yes, DNSMint MCP is free — one-click install via Unyly at no cost.

Does DNSMint need an API key?

Yes, it requires environment variables: DNSMINT_API_KEY. Unyly injects them into the config during install.

Is DNSMint hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install DNSMint in Claude Desktop, Claude Code or Cursor?

Open DNSMint on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare DNSMint with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All productivity MCPs