AgentXM

SatsDNS

mcp remote · streamable-http · v0.2.0 · source: crawl

https://api.satsdns.com/mcp

DNS hosting, secondary DNS and dynamic DNS paid per call in sats; optional Nostr account tools.

AgentXM badge

Works

100

Verified Oct 31, 2026 · p50 576 ms · p95 590 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'satsdns'
tools_listed15pass20 tools
schema_complete15pass20 of 20 tools have a description and a typed schema
latency_p5010passp50 576 ms
latency_p955passp95 590 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (20)

NameDescriptionSchema
hostname_statusFree: state, expiry and current records of a dynamic hostname. Pass the hostname token (jdh_...) from the create answer, or a scoped account API key (jdk_...) made in the dashboard. Either passes throtyped
dnssec_infoFree: the DS record(s) to enter at the registrar, and what the parent zone publishes now. Pass the zone token (jdz_...) from the create answer, or a scoped account API key (jdk_...) made in the dashbotyped
infoFree: prices in sats per product and period, nameservers, limits, record types, accepted Cashu mints, how paying works, and the steps to host a zone.typed
checkFree: runs the checks a paid call runs before payment (name rules, availability, delegation, limits) without creating an invoice, and returns the price. For zone_create and secondary_create of a new ztyped
domain_checkFree: whether a .com, .net or .org name is available and its price in sats. Tightly rate-limited. Registration itself is not offered through this server.typed
zone_createCreates a hosted, DNSSEC-signed zone on our nameservers. First call check (tool zone_create): a new zone gets its own nameserver pair, which must be set at the registrar before the payment step; pass typed
secondary_createWe serve your zone as secondaries, transferred from your primaries (public IPv4) with a TSIG key that the answer gives once. The same nameserver-pair step as zone_create applies (check first). Paid, ntyped
hostname_createCreates a dynamic hostname such as myhome.dynkite.com. The answer gives the hostname token once (keep it: hostname_update and routers use it). Paid, no account. Without payment the call returns paymentyped
renewExtends a hosted zone, secondary zone or dynamic hostname by 30d or 1y from its current expiry. Needs no token: anyone may pay to extend any name. Paid, no account. Without payment the call returns patyped
zone_add_queriesAdds 1 million queries to a hosted zone's monthly allowance. Paid, no account. Without payment the call returns payment_required with the price, a Lightning invoice and a Cashu payment request; pay ontyped
zone_statusFree: state, expiry, nameservers, delegation and usage of a hosted zone. Pass the zone token (jdz_...) from the create answer, or a scoped account API key (jdk_...) made in the dashboard. Either passetyped
records_listFree: the zone's rrsets, optionally only one owner name and/or type. Pass the zone token (jdz_...) from the create answer, or a scoped account API key (jdk_...) made in the dashboard. Either passes thtyped
records_changeFree: applies up to 100 rrset changes at once, all or none. Each item REPLACEs one rrset (name and type) with the given records, or DELETEs it. Deleting records can take a site or mail offline: changetyped
hostname_updateFree: sets the hostname's A, AAAA, TXT, ACME TXT or HTTPS records; fields left out stay as they are, [] deletes. Give explicit public addresses: the caller's own address ('auto') is not available heretyped
renewal_addressFree: the Lightning address and LNURL that extend this zone or hostname pro rata when anyone pays it (no token needed to pay). Made once, then the same address is returned. Pass the zone token (jdz_..typed
account_objectsFree, read-only: the account's state and limits, or the zones, hostnames or invoices it owns. With api_key, only the objects the key's scope covers and only their invoices (the account view of limits typed
account_orderOrders a product into your account, paid by its own invoice: Lightning (15 min) or a new on-chain address (orders of 5,000 sats and up). Prices as in info. pay=check runs the free checks only and maketyped
order_statusFree: the invoice's state (paid, fulfilled, expired, ...) and, after fulfilment, the result. A new object's token (and TSIG key) is shown once, only to a nip98 call, within 1 hour of fulfilment; an aptyped
claimFree: puts a zone or hostname bought with a token into your Nostr account, so you get expiry reminders by DM and can manage it with API keys. If another account owns it, a 72-hour recovery starts insttyped
token_rotateFree: makes a new token for a zone or hostname; the old one stops working at once. Use it when a token may have leaked (tokens pass through model context). Authorize with the current token or, for an typed

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/com-satsdns-satsdns.svg)](https://app.agent-xm.com/a/com-satsdns-satsdns)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.