deSEC MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.23.4Updated Nov 7, 2026

Read deSEC domains, DNSSEC keys, zone files and RRsets; create or replace one DNS record set.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableCloud & InfrastructureSecurity & Monitoring

Overview

AI-generated overview

Hosted deSEC server that lets an assistant list DNS domains, read DNSSEC keys, zonefiles and record sets, and create or replace one RRset.

What you can do
  • List domains and inspect one domain, including DNSSEC DNSKEY and DS records
  • Export a domain's full zonefile in BIND format
  • List and read DNS record sets (RRsets), filtered by type or subname
  • Create one new RRset, or replace an existing RRset with new TTL and records
  • Check monthly tool-call usage, request a missing feature, upgrade or cancel the paid plan
When to use it
Useful when you want an assistant to inspect or explain the DNS records of domains in your deSEC account, back up a zonefile before changes, or make a single targeted record change such as adding an A or MX record.
Requirements
Remote MCP endpoint; no local install. Sign-in is via OAuth, and the login page asks for your deSEC account credentials. Add only the server URL to the client config, without an Authorization header or API key. A free plan allows 50 tool calls per month.
Before you install
The create and replace tools write to live DNS immediately, and a wrong record can take a site or mail offline; the server asks for confirmation before writes. The replace tool overwrites all existing records of that name and type. Zonefile export counts as an expensive operation. Paid plans cost money and are billed through a Stripe checkout link; cancellation has no refund for the current period.

Installation

In SourceWeft

  1. Open deSEC MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fdesec/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "desec-by-usefulapi": {
      "type": "http",
      "url": "https://desec.usefulapi.io/mcp"
    }
  }
}

README

deSEC MCP by usefulapi

Use deSEC from Claude, Cursor, or any MCP client — domains, DNSSEC keys, zone files and RRsets, plus guarded single-RRset writes. Hosted, no local install: connect with your own deSEC credentials.

Live endpoint: https://desec.usefulapi.io/mcp · Homepage: https://usefulapi.io/desec

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://desec.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http desec https://desec.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "desec": {      "url": "https://desec.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your deSEC credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/desec/

Tools

ToolTypeWhat it does
desec_list_domainsreadList domains
desec_get_domainreadGet domain
desec_export_zonefilereadExport zonefile
desec_list_rrsetsreadList RRsets
desec_get_rrsetreadGet RRset
desec_create_rrsetwriteCreate RRset
desec_replace_rrsetwriteReplace RRset
desec_usage_statusmetaUsage status (free-tier meter)
desec_request_featuremetaRequest a missing feature
desec_upgrademetaUpgrade to Pro or Pro+
desec_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with desec_upgrade (it returns a Stripe Checkout link). Cancel any time with desec_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running desec_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by deSEC.

Source: servers/desec/README.md at commit 4046075

Tools

7

desec_list_domains

List domains

List the DNS domains (zones) in this deSEC account, newest first, with creation and last-published times and minimum TTL. DNSSEC keys are omitted here (see desec_get_domain). Use owns_qname to find which of your domains is responsible for a DNS name (for example before adding a record for www.dev.example.net). Up to 500 per page. GET /domains/.

Parameterscursorowns_qname

desec_get_domain

Get domain

One domain with its DNSSEC key material: the DNSKEY and the DS records to publish at the registrar for the chain of trust, plus minimum TTL and publication times. GET /domains/{name}/.

Parametersdomainrequired

desec_export_zonefile

Export zonefile

The whole zone as a plain-text BIND-format zonefile (all RRsets except DNSSEC types). Handy as a backup before changing records. Counts as an expensive deSEC operation (300/min). GET /domains/{name}/zonefile/.

Parametersdomainrequired

desec_list_rrsets

List RRsets

List the DNS records of a domain as RRsets (all records of one name and type, sharing one TTL), newest first. Filter by type and/or subname. Up to 500 per page. GET /domains/{name}/rrsets/.

Parameterstypecursordomainrequiredsubname

desec_get_rrset

Get RRset

One RRset by subname and type, e.g. the A records of "www" or the MX records of the apex. GET /domains/{name}/rrsets/{subname}/{type}/.

Parameterstyperequireddomainrequiredsubname

desec_create_rrset

Create RRset

WRITE: create ONE new RRset (a set of DNS records of one type at one name) in a domain. It goes live in DNS immediately and a wrong record can take a site or mail offline. Fails if an RRset with this subname and type already exists (use desec_replace_rrset for that) or if a CNAME would conflict with other records. Never touches the apex NS or DNSSEC records and cannot delete anything. Subject to deSEC's write limits (15/min, 300/day per domain). POST /domains/{name}/rrsets/.

Parametersttlrequiredtyperequireddomainrequiredrecordsrequiredsubname

desec_replace_rrset

Replace RRset

WRITE (overwrites): set ONE RRset to exactly the given TTL and records, creating it if it does not exist and REPLACING all its current records if it does. It goes live in DNS immediately; a wrong value can take a site or mail offline. The previous RRset is read first and returned as `previous` so the change can be undone with another call. An empty record list is refused (this tool never deletes), and the apex NS and DNSSEC records cannot be changed. Subject to deSEC's write limits (15/min, 300/day per domain). PUT /domains/{name}/rrsets/ with a one-element array.

Parametersttlrequiredtyperequireddomainrequiredrecordsrequiredsubname

Version history

19
  1. v1.23.4LatestNov 7, 2026
  2. v1.22.3Nov 5, 2026
  3. v1.22.2Nov 5, 2026
  4. v1.22.1Nov 4, 2026
  5. v1.22.0Nov 3, 2026
  6. v1.21.1Nov 3, 2026
  7. v1.20.0Nov 1, 2026
  8. v1.18.0Oct 31, 2026
  9. v1.17.0Oct 31, 2026
  10. v1.16.2Oct 30, 2026
  11. v1.16.0Oct 30, 2026
  12. v1.11.0Oct 26, 2026
  13. v1.8.3Oct 25, 2026
  14. v1.8.0Oct 25, 2026
  15. v1.7.0Oct 24, 2026
  16. v1.4.0Oct 23, 2026
  17. v1.3.4Oct 22, 2026
  18. v1.3.3Oct 21, 2026
  19. v1.0.0Oct 12, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations