{
  "markdown": "# DNSMint MCP server\n\n> **Most people want the hosted endpoint instead: `https://dnsmint.com/mcp`.**\n>\n> It needs nothing installed. In Claude or ChatGPT, add the URL as a connector\n> and sign in. In Claude Code, Cursor or VS Code, point them at the URL with an\n> API key. On a server with no browser, use the device flow. The recipe for each\n> is on [dnsmint.com/integrations](https://dnsmint.com/integrations).\n>\n> This package is the same tools over stdio, for the case where you want the\n> server running as a local subprocess rather than talking to ours.\n\nLets an agent mint and manage its own hostnames on [DNSMint](https://dnsmint.com), through the [Model Context Protocol](https://modelcontextprotocol.io).\n\nEvery 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.\n\n## Which one to use\n\n|  | Hosted `dnsmint.com/mcp` | This package |\n|---|---|---|\n| Install | nothing | Node, and an entry in a config file |\n| Claude / ChatGPT connectors | yes, via OAuth | no — they cannot spawn a subprocess |\n| Headless server | yes, via the device flow | yes |\n| Credential | API key, or an OAuth grant you can revoke from the dashboard | API key in the client's environment |\n| Tool updates | reach you immediately | when you upgrade the package |\n\nThe hosted endpoint is the one that gets improvements first. Use this if you\nspecifically want a local process — an air-gapped setup pointed at a private\ndeployment, or a client that only speaks stdio.\n\n## Configure\n\n```json\n{\n  \"mcpServers\": {\n    \"dnsmint\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"dnsmint-mcp-server\"],\n      \"env\": {\n        \"DNSMINT_API_KEY\": \"dnsm_...\"\n      }\n    }\n  }\n}\n```\n\nThe 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.\n\n| Variable | |\n|---|---|\n| `DNSMINT_API_KEY` | Required. |\n| `DNSMINT_ALLOW_RELEASE` | `true` to expose `release_hostname`. Off by default. |\n| `DNSMINT_API_URL` | API base URL. Defaults to `https://dnsmint.com/api/v1`. |\n\n## Tools\n\n| Tool | |\n|---|---|\n| `list_hostnames` | Every name the key can see, plus how many are active against the plan's cap. |\n| `get_hostname` | One name's status and certificate mode. |\n| `mint_hostname` | Register an address, get a stable name back. |\n| `repoint_hostname` | The machine moved; the name does not. |\n| `diagnose_hostname` | Why a name is or is not working. |\n| `release_hostname` | Only when `DNSMINT_ALLOW_RELEASE=true`. See below. |\n\nThe hosted endpoint carries the same six, and decides which to offer from what\nthe credential was granted rather than from an environment variable.\n\n## Releasing is off by default, on purpose\n\nA released hostname is tombstoned and never issued again, to anyone, including you. There is no undo.\n\nThat 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.\n\nIf the goal is to stop serving, repoint the name or stop the machine. Releasing is for names that are genuinely finished with.\n\n## What the tool descriptions carry\n\nThe 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:\n\n- A hostname is one label above a domain. Names below a hostname are not hostnames.\n- 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.\n- A newly minted name is `pending` and goes `live` within about a minute.\n- The API does not say where a name points. DNS is the authoritative answer, which is what `diagnose_hostname` reports.\n\n## Development\n\n```sh\nnpm install\nnpm run build\n```\n\n## Support\n\nSomething not working, or a case this does not cover? Open an issue here, or write to [hello@dnsmint.com](mailto:hello@dnsmint.com). This server is maintained by the DNSMint team.\n",
  "bytes": 4311,
  "sha": "7851f8a92ed5fbb41f903755e288028746f4412a8663f758fa6ce57ecf4c359e",
  "repo_slug": "dnsmint/dnsmint-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_dnsmint_mcp_db53535e/readme"
}