StableDomains
REMOTE · STABLEDOMAINS.NET
USDC/USDT domain registrar on 7 chains, card checkout for people, expiring drops, WHOIS/DNS tools.
Available components
Last scanned (5 hours ago)
Scores higher than 45% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
Recent critical change
Authorization (30 Oct 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (create_order). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability64
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 4204 tokens (~110/item across 38 items; 38 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
- Stability check failed: schema churn in the 8 days we've observed: 2 tool removals, 1 breaking changes, 0 auth/transport breaks, 15 additions. See how to fix → Fail
Tool Coverage76
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 28% of tool parameters carry a description.Partial
Tool Safety92
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 2 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "drop_radar" implies "drop" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 39 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “create_order” rewrote its description, which is the text the model reads security
- Tool “renew_domain” rewrote its description, which is the text the model reads security
- Tool “set_dns” rewrote its description, which is the text the model reads security
- Tool “set_notification_webhook” rewrote its description, which is the text the model reads security
- Tool “buy_with_balance” is now declared destructive security
- Tool “create_cart” is now declared destructive security
- Tool “create_order” is now declared destructive security
- Tool “pay_order” is now declared destructive security
- Tool “renew_domain” is now declared destructive security
- Tool “set_auto_renew” is now declared destructive security
- Tool “topup_balance” is now declared destructive security
- Tool “transfer_domain” is now declared destructive security
- “create_order” added an optional parameter “dry_run” cosmetic
- “renew_domain” added an optional parameter “dry_run” cosmetic
- Tool “contact_support” changed its title: Contact support cosmetic
- 4 Nov 26 0
- Tool “topup_balance” rewrote its description, which is the text the model reads security
- New tool “contact_support” functional
- “create_order” added an optional parameter “showcase_category” cosmetic
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 0 to 3.
- 30 Oct 26 +1
- Authorization: unverified → fail ▼ critical
- The server rewrote its instructions, which are the text every model session reads security
- New tool “apply_dns_template”, which the server declares destructive security
- New tool “set_url_forward”, which the server declares destructive security
- Tool “create_cart” rewrote its description, which is the text the model reads security
- Tool “create_order” rewrote its description, which is the text the model reads security
- Tool “get_balance” rewrote its description, which is the text the model reads security
- Tool “list_domains” rewrote its description, which is the text the model reads security
- Tool “search_domains” rewrote its description, which is the text the model reads security
- Tool “set_dns” rewrote its description, which is the text the model reads security
- Tool “suggest_domains” rewrote its description, which is the text the model reads security
- Tool “set_dns” is now declared destructive security
- Tool “set_notification_webhook” is now declared destructive security
- Tool “set_payout_address” is now declared destructive security
- Schema quality: pass → fail ▼ functional
- Destructive annotations: 0% → 67% ▲ functional
- Server version: 2.4.0 → 2.5.0 functional
- New tool “list_url_forwards” functional
- “create_order” added an optional parameter “showcase” cosmetic
- “create_order” added an optional parameter “showcase_description” cosmetic
- “create_order” added an optional parameter “showcase_title” cosmetic
- “set_dns” added an optional parameter “mode” cosmetic
- “set_dns” added an optional parameter “remove” cosmetic
- “suggest_domains” added an optional parameter “domain” cosmetic
- “suggest_domains” made “idea” optional cosmetic
- Tool “agent_signup” changed its title: Get a guest API key cosmetic
- Tool “pay_order” changed its title: Pay an order cosmetic
- Tool “buy_with_balance” changed its title: Buy a domain with balance cosmetic
- Tool “check_order” changed its title: Check order status cosmetic
- Tool “create_cart” changed its title: Create a multi-domain cart cosmetic
- Tool “create_order” changed its title: Create a domain order cosmetic
- Tool “dns_email_check” changed its title: DNS and email security check cosmetic
- Tool “drop_radar” changed its title: Domain Drop Radar search cosmetic
- Tool “estimate_domain_value” changed its title: Estimate domain value cosmetic
- Tool “find_dropping_domains” changed its title: Find expiring domains cosmetic
- Tool “get_agent” changed its title: Get agent profile cosmetic
- Tool “get_balance” changed its title: Get prepaid balance cosmetic
- Tool “get_dns” changed its title: Get DNS records cosmetic
- Tool “get_referral_link” changed its title: Get referral link cosmetic
- Tool “get_referral_stats” changed its title: Get referral stats cosmetic
- Tool “get_renewal_balance” changed its title: Get renewal balance cosmetic
- Tool “is_domain_dropping” changed its title: Check if a domain is dropping cosmetic
- Tool “list_domains” changed its title: List my domains cosmetic
- Tool “list_my_agent” changed its title: List my agent profiles cosmetic
- Tool “quote_domain” changed its title: Quote a domain price cosmetic
- Tool “radar_alert” changed its title: Save a Drop Radar alert cosmetic
- Tool “renew_domain” changed its title: Renew a domain cosmetic
- Tool “search_aftermarket” changed its title: Aftermarket links for a taken name cosmetic
- Tool “search_agents” changed its title: Search agent directory cosmetic
- Tool “search_domains” changed its title: Search domain availability cosmetic
- Tool “set_auto_renew” changed its title: Set auto-renew / fund renewal vault cosmetic
- Tool “set_dns” changed its title: Set DNS records / nameservers cosmetic
- Tool “set_notification_webhook” changed its title: Set notification webhook cosmetic
- Tool “set_payout_address” changed its title: Set referral payout address cosmetic
- Tool “suggest_domains” changed its title: Suggest available domains cosmetic
- Tool “topup_balance” changed its title: Create a balance top-up order cosmetic
- Tool “transfer_domain” changed its title: Transfer a domain in cosmetic
- Tool “watch_domain” changed its title: Watch a domain for drops cosmetic
- Tool “whois_lookup” changed its title: WHOIS / RDAP lookup cosmetic
- 29 Oct 26 0
- Stability: unverified → fail ▼ security
- Tool “referral_stats” was removed ▼ security
- Tool “request_referral_payout” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “drop_radar” rewrote its description, which is the text the model reads security
- Tool “quote_domain” rewrote its description, which is the text the model reads security
- Tool “search_domains” rewrote its description, which is the text the model reads security
- Tool “find_dropping_domains” rewrote its description, which is the text the model reads security
- Tool “set_auto_renew” rewrote its description, which is the text the model reads security
- Schema quality: 74 → 90 ▼ functional
- Schema quality: 74 → 86 ▼ functional
- “set_auto_renew” dropped the required parameter “auto_renew” ▼ functional
- Schema quality: fair → good functional
- Server version: 2.2.0 → 2.4.0 functional
- New tool “agent_signup” functional
- New tool “search_aftermarket” functional
- New tool “drop_radar” functional
- New tool “get_agent” functional
- New tool “get_referral_link” functional
- New tool “get_referral_stats” functional
- New tool “get_renewal_balance” functional
- New tool “list_my_agent” functional
- New tool “radar_alert” functional
- New tool “search_agents” functional
- New tool “set_payout_address” functional
- “drop_radar” added an optional parameter “available_only” cosmetic
- “drop_radar” added an optional parameter “cursor” cosmetic
- “drop_radar” added an optional parameter “order” cosmetic
- “find_dropping_domains” added an optional parameter “available_only” cosmetic
- “find_dropping_domains” added an optional parameter “cursor” cosmetic
- “find_dropping_domains” added an optional parameter “drops_within_days” cosmetic
- “find_dropping_domains” added an optional parameter “limit” cosmetic
- “find_dropping_domains” added an optional parameter “order” cosmetic
- “find_dropping_domains” added an optional parameter “min_quality” cosmetic
- “find_dropping_domains” added an optional parameter “show_parked” cosmetic
- “set_auto_renew” added an optional parameter “deposit_usd” cosmetic
- “set_auto_renew” added an optional parameter “enabled” cosmetic
- “set_auto_renew” added an optional parameter “withdraw_usd” cosmetic
- “drop_radar” reworded the description of “drops_within_days” cosmetic
- “drop_radar” reworded the description of “limit” cosmetic
- 28 Oct 26 61
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://stabledomains.net/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=stabledomains.net | CN=YR2,O=Let's Encrypt,C=US | 28 Oct 2026 | 26 Jan 2027 | RSA 2048 | SHA256-RSA | 6c1e7934c0d04a30f4b4c330875acc27df1 |
| SANs: stabledomains.net | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of stabledomains.net. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| net. | present | 37331 | 13 | Verified |
| stabledomains.net. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://stabledomains.net/api/mcp | Verified | 200 | |
| http (plaintext) | http://stabledomains.net/api/mcp | HTTPS enforced | 308 | https://stabledomains.net/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
agent_signup Get a guest API key ~54
Instant signup: returns an API key immediately (no form, no email). Guest tier (30 req/min) until claimed by email or wallet. Rate limited per IP (3/hour). Store the key; it is shown once.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
apply_dns_template Apply a DNS template ~96
FREE one-call DNS setup for a domain you own. template: vercel | netlify (params.site) | github-pages (params.user) | google-workspace | microsoft-365 | zoho-mail (params.region: com|eu|in|com.au). Replaces only the conflicting web or MX/SPF records.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
| params | object | – | – |
| template | string | yes | – |
No output schema declared.
No examples provided.
buy_with_balance Buy a domain with balance ~45
Register a domain and pay from prepaid balance in one call.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
| idempotency_key | string | – | – |
| years | integer | – | – |
No output schema declared.
No examples provided.
check_order Check order status ~23
Get order status and next actions.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | – |
No output schema declared.
No examples provided.
contact_support Contact support ~129
Open a support ticket with a person at StableDomains (order, payment, DNS, transfer, account or abuse issues). Pass the order_id or its SD- ref if there is one. A person replies by email to the given address; the response is a ticket ref (T-XXXXXX). Do not include secrets, API keys or wallet keys in the message.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | address the reply goes to | |
| message | string | yes | 10-4000 chars |
| order | string | – | order id or SD- ref (optional) |
| topic | string | yes | – |
No output schema declared.
No examples provided.
create_cart Create a multi-domain cart ~161
Register up to 20 available domains with ONE payment (exact total in the 402). Returns a price-locked quote, checkout_url for a human to pay, and is idempotent via idempotency_key. After payment each is registered; any failure is refunded to prepaid balance.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | – | payment network (default base). hyperevm = HyperEVM (chain 999, USDC/USDT0), bsc = BNB Chain (56, 18-decimal USDC/USDT) |
| domains | array | yes | – |
| idempotency_key | string | – | – |
| nameservers | array | – | – |
| ref | string | – | – |
| token | string | – | stablecoin (default USDC) |
No output schema declared.
No examples provided.
create_order Create a domain order ~367
Create a registration order (a price-locked quote). Returns quote{price_usd, locked_until}, payment requirements (exact amount, address, x402 accepts) and checkout_url: a prefilled /order/{id} page a human can pay from. Policy: check availability right before buying, show the quote to the human and get confirmation before paying; pass idempotency_key (retries with the same key never create a second order; if omitted, identical calls within 15 min are de-duplicated). pay_with=balance pays instantly from prepaid balance. Card: the 402 response also carries stripe_link (Stripe Link via MPP, the human approves the spend in Link) and stripe_card (card checkout); to pay by card, hand the human checkout_url and they approve the card payment themselves. dry_run=true previews quote, renewal price and blockers without creating an order.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | – | payment network (default base). hyperevm = HyperEVM (chain 999, USDC/USDT0), bsc = BNB Chain (56, 18-decimal USDC/USDT) |
| domain | string | yes | – |
| dry_run | boolean | – | preview only, nothing created or charged |
| idempotency_key | string | – | – |
| nameservers | array | – | – |
| pay_with | string | – | – |
| ref | string | – | referrer code |
| showcase | boolean | – | Opt in to the public /showcase listing (only if the user asked) |
| showcase_category | string | – | Required when showcase is true |
| showcase_description | string | – | – |
| showcase_title | string | – | – |
| token | string | – | stablecoin (default USDC) |
| years | integer | – | – |
No output schema declared.
No examples provided.
dns_email_check DNS and email security check ~70
DNS + email security audit via DNS-over-HTTPS: A/AAAA/MX/NS/CAA, SPF, DKIM (common or given selectors), DMARC policy, grade A-F and concrete fixes.
| Name | Type | Req | Description |
|---|---|---|---|
| dkim_selectors | string | – | comma-separated |
| domain | string | yes | – |
No output schema declared.
No examples provided.
drop_radar Domain Drop Radar search ~363
Domain Drop Radar: expiring, pending-delete and just-dropped domains filtered by TLD(s), length, keywords, value, quality and drop date, with presets (short-brandable, ai-names, dictionary-com, real-history, cheap-good, dropping-this-week). Returns a summary plus the top 25 with quality reasons, est. value, price, and a ready create_order body for available names or a watch body for others. For up to 500 rows call GET /api/v1/drops/full via x402 ($0.01). Page with limit + cursor (next_cursor in the response); sort with sort + order. To be alerted on future matches call radar_alert.
| Name | Type | Req | Description |
|---|---|---|---|
| available_only | boolean | – | only names registrable now |
| cursor | string | – | next_cursor from the previous call |
| dictionary | boolean | – | – |
| drops_within_days | integer | – | pending-delete names dropping within N days |
| ends_with | string | – | – |
| keywords | array | – | – |
| limit | integer | – | max 25 on the free tier |
| max_len | integer | – | – |
| max_price | number | – | – |
| max_value | integer | – | – |
| min_age | integer | – | – |
| min_len | integer | – | – |
| min_quality | integer | – | – |
| min_value | integer | – | – |
| new_within_hours | integer | – | – |
| no_digits | boolean | – | – |
| no_hyphen | boolean | – | – |
| order | string | – | sort direction; default depends on sort |
| preset | string | – | – |
| sort | string | – | – |
| starts_with | string | – | – |
| status | string | – | – |
| tlds | array | – | – |
No output schema declared.
No examples provided.
estimate_domain_value Estimate domain value ~48
Heuristic USD value estimate for any domain (length, TLD, dictionary words, brandability, Wayback age, backlinks) with factor breakdown and availability.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
No output schema declared.
No examples provided.
find_dropping_domains Find expiring domains ~351
Find expiring, pending-delete and just-dropped domains ranked by a verified quality score (0-100) built from sampled Wayback snapshots (real site vs parked/for-sale), Common Crawl presence, dictionary/brandability and spam heuristics; Majestic referring subnets only count when the archive shows a real site. Parked and spam names are hidden by default; each item includes quality_reasons. Free tier returns top 25; status=available names can be bought immediately with create_order. For presets, estimated value, multi-TLD and keyword filters use drop_radar.
| Name | Type | Req | Description |
|---|---|---|---|
| available_only | boolean | – | only names registrable now |
| cursor | string | – | next_cursor from the previous call |
| drops_within_days | integer | – | pending-delete names dropping within N days |
| include_spam | boolean | – | include spammy names (hidden by default) |
| limit | integer | – | max 25 on the free tier |
| max_len | integer | – | – |
| max_price | number | – | – |
| min_age | integer | – | min years of archive history |
| min_backlinks | integer | – | – |
| min_brand | integer | – | – |
| min_len | integer | – | – |
| min_quality | integer | – | – |
| no_digits | boolean | – | – |
| no_hyphen | boolean | – | – |
| order | string | – | sort direction; default depends on sort |
| q | string | – | – |
| show_parked | boolean | – | include names whose archive shows only parked/for-sale pages (hidden by default) |
| sort | string | – | – |
| status | string | – | – |
| tld | string | – | – |
No output schema declared.
No examples provided.
get_agent Get agent profile ~23
Get one agent directory profile by slug.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
No output schema declared.
No examples provided.
get_balance Get prepaid balance ~22
Get your prepaid USD balance and its ledger of top-ups and spends.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_dns Get DNS records ~37
Nameservers and DNS records (A/AAAA/CNAME/MX/TXT) of a domain you own.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
No output schema declared.
No examples provided.
get_referral_link Get referral link ~63
Your referral code and shareable link (?ref=<code>, 30-day attribution). Referrers earn 10% of our margin on paid orders by people/agents they refer; agents pass ref=<code> on create_order, create_cart or transfer_domain.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_referral_stats Get referral stats ~61
Referral dashboard: clicks, referred users, sales, earned / unpaid / pending / paid USD, recent sales and payouts. Payouts are USDC on Base, batched weekly (min $5, capped, admin-approved) to your payout address.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_renewal_balance Get renewal balance ~61
Auto-renew vault for a domain: renewal balance, 1-year renewal price, whether it is covered, shortfall, days to expiry and ledger. Omit domain to list all your domains' renewal balances.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | – | – |
No output schema declared.
No examples provided.
is_domain_dropping Check if a domain is dropping ~54
Is an expired domain about to become available? Returns lifecycle (grace, redemption, pending delete, available, registered), estimated drop date and backlink data if in our drop feed.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
No output schema declared.
No examples provided.
list_domains List my domains ~22
List the domains owned by the caller, with expiry dates and status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_my_agent List my agent profiles ~45
Agent profiles you submitted (any status: pending, approved, rejected) with review notes. Submit a new one with POST /api/v1/agents (auth required, moderated).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_url_forwards List URL forwards ~26
URL forwards configured on a domain you own.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
No output schema declared.
No examples provided.
pay_order Pay an order ~68
Submit payment: tx_hash (EVM hash or Solana signature) of your transfer, or x_payment (base64 x402 EIP-3009 payload, gasless).
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | – |
| tx_hash | string | – | – |
| x_payment | string | – | – |
No output schema declared.
No examples provided.
quote_domain Quote a domain price ~55
Live price quote for one domain. Returns premium (boolean) and renewal_price (USD/yr). Premium orders are refused if they exceed what we can currently fund.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
| years | integer | – | – |
No output schema declared.
No examples provided.
radar_alert Save a Drop Radar alert ~146
Save a Drop Radar search and get a signed webhook (event radar.match, header X-StableDomains-Signature = sha256 HMAC of the body with the returned secret) and/or email (double opt-in) when new names match or a pending-delete name drops. Free: 3 alerts per IP, 25 with an API key, max 20 events per alert per day. filters takes the same fields as drop_radar.
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | – | |
| filters | object | yes | same fields as drop_radar (preset, tlds, keywords, max_len, min_quality, ...) |
| name | string | – | – |
| webhook_url | string | – | – |
No output schema declared.
No examples provided.
renew_domain Renew a domain ~155
Renew a domain you own. Returns USDC payment requirements (402), or pay_with=balance to renew instantly from prepaid balance. dry_run=true previews quote, new expiry and blockers without charging.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | – | payment network (default base). hyperevm = HyperEVM (chain 999, USDC/USDT0), bsc = BNB Chain (56, 18-decimal USDC/USDT) |
| domain | string | yes | – |
| dry_run | boolean | – | preview only, nothing charged |
| idempotency_key | string | – | – |
| pay_with | string | – | – |
| token | string | – | stablecoin (default USDC) |
| years | integer | – | – |
No output schema declared.
No examples provided.
search_aftermarket Aftermarket links for a taken name ~72
For a taken name: affiliate links to Atom.com, an OUTSIDE aftermarket (not StableDomains), to find premium alternatives for the keyword. Exact-name listing on Atom is not verified (no public API). Atom handles payment/transfer.
| Name | Type | Req | Description |
|---|---|---|---|
| q | string | yes | name or domain, e.g. cloud.com |
No output schema declared.
No examples provided.
search_agents Search agent directory ~71
Search the StableDomains.net agent directory (approved AI agents and MCP servers) by keyword or capability. Returns name, description, url, endpoint_url, mcp_url, capabilities, payment_methods and profile_url.
| Name | Type | Req | Description |
|---|---|---|---|
| capability | string | – | – |
| limit | integer | – | – |
| q | string | – | – |
No output schema declared.
No examples provided.
search_domains Search domain availability ~71
Check availability and USD price for a name across TLDs. Each result has premium (boolean; premium = registry price + 12%) and renewal_price (USD/yr). If the name is taken, suggestions[] lists close AVAILABLE alternatives (live-checked, cheapest first).
| Name | Type | Req | Description |
|---|---|---|---|
| q | string | yes | – |
No output schema declared.
No examples provided.
set_auto_renew Set auto-renew / fund renewal vault ~125
Turn auto-renew on/off for a domain you own and/or fund its renewal balance (vault). deposit_usd moves USDC from your prepaid balance (topup_balance) into the domain's vault; withdraw_usd moves it back. The daily job renews 1 year when ≤30 days from expiry if the vault covers the price, otherwise emails reminders at 30/14/7/1 days.
| Name | Type | Req | Description |
|---|---|---|---|
| deposit_usd | number | – | – |
| domain | string | yes | – |
| enabled | boolean | – | – |
| withdraw_usd | number | – | – |
No output schema declared.
No examples provided.
set_dns Set DNS records / nameservers ~161
Set DNS records and/or nameservers of a domain you own. records: [{type: A|AAAA|CNAME|MX|TXT|NS (SRV/CAA/ALIAS not supported on hosted DNS: use custom nameservers), name: '@'|sub, value, ttl?, priority? (MX)}]. mode 'replace' (default) replaces the FULL record set; mode 'merge' adds/updates the given records, deletes any in remove [{type,name,value?}], and keeps everything else (safer for adding MX/TXT next to a website).
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
| mode | string | – | – |
| nameservers | array | – | – |
| records | array | – | – |
| remove | array | – | – |
No output schema declared.
No examples provided.
set_notification_webhook Set notification webhook ~101
Signed account webhook (returns secret). Events: domain.registered, domain.registration_pending, domain.registration_completed, domain.transfer_started, domain.transfer_completed, domain.renewed, domain.expiring, dns.changed. Verify X-StableDomains-Signature = sha256 HMAC of the raw body with the secret; retries for 24h, dedupe on X-StableDomains-Delivery. null to remove.
| Name | Type | Req | Description |
|---|---|---|---|
| webhook_url | string|null | yes | – |
No output schema declared.
No examples provided.
set_payout_address Set referral payout address ~36
Set the Base USDC address that receives your weekly referral payouts (null to clear).
| Name | Type | Req | Description |
|---|---|---|---|
| payout_address | string|null | yes | – |
No output schema declared.
No examples provided.
set_url_forward Set URL forwarding ~108
FREE 301 URL forwarding for a domain you registered with us: forward the whole domain (subdomain '@', also covers www) or a subdomain to any https URL. Points DNS at our redirect service. preserve_path keeps /path?query.
| Name | Type | Req | Description |
|---|---|---|---|
| code | integer | – | – |
| domain | string | yes | – |
| preserve_path | boolean | – | – |
| subdomain | string | – | @ (default) or e.g. blog |
| target | string | yes | https://destination |
No output schema declared.
No examples provided.
suggest_domains Suggest available domains ~125
Free. Pass domain (e.g. a taken name like agent.com) to get close AVAILABLE alternatives (other extensions, get/try/hq/app variants), live-checked and ranked by price. Or pass idea to generate brandable names for a product idea. Returns only names available right now with USD price and checkout_url.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | – | a (taken) domain to find alternatives for |
| idea | string | – | plain-words idea, e.g. ai bookkeeping for plumbers |
| max_price | number | – | – |
| tlds | array | – | – |
No output schema declared.
No examples provided.
topup_balance Create a balance top-up order ~110
Create a top-up order (USD 1–5000); pay it like any order.
| Name | Type | Req | Description |
|---|---|---|---|
| amount_usd | number | yes | – |
| chain | string | – | payment network (default base). hyperevm = HyperEVM (chain 999, USDC/USDT0), bsc = BNB Chain (56, 18-decimal USDC/USDT) |
| idempotency_key | string | – | – |
| token | string | – | stablecoin (default USDC) |
No output schema declared.
No examples provided.
transfer_domain Transfer a domain in ~159
Transfer a domain in from another registrar using its auth/EPP code; paid in USDC (adds 1 year). Unlock it at the current registrar first. Completes in ~5-7 days.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_code | string | yes | – |
| chain | string | – | payment network (default base). hyperevm = HyperEVM (chain 999, USDC/USDT0), bsc = BNB Chain (56, 18-decimal USDC/USDT) |
| domain | string | yes | – |
| idempotency_key | string | – | – |
| pay_with | string | – | – |
| ref | string | – | – |
| token | string | – | stablecoin (default USDC) |
| years | integer | – | – |
No output schema declared.
No examples provided.
watch_domain Watch a domain for drops ~84
Get notified when an expiring domain changes status or drops (becomes registrable). Pass webhook_url (active immediately, POSTs JSON events domain.status_changed / domain.available with a ready order_api body) and/or email (double opt-in). Free.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
| string | – | – | |
| webhook_url | string | – | public https URL |
No output schema declared.
No examples provided.
whois_lookup WHOIS / RDAP lookup ~44
RDAP (modern WHOIS) lookup for any domain: registrar, created/expires dates, status codes, nameservers, DNSSEC.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
No output schema declared.
No examples provided.
How do I install the StableDomains MCP server?
StableDomains is a hosted endpoint at https://stabledomains.net/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · stabledomains.net
claude mcp add --transport http net-stabledomains-registrar 'https://stabledomains.net/api/mcp'
What is the StableDomains MCP server?
StableDomains is an MCP server listed in the public MCP registry as net.stabledomains/registrar. USDC/USDT domain registrar on 7 chains, card checkout for people, expiring drops, WHOIS/DNS tools. This page covers its hosted endpoint (https://stabledomains.net/api/mcp).
Is the StableDomains MCP server safe to use?
StableDomains scores 65 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the StableDomains MCP server expose?
StableDomains exposes 38 tools: search_domains, search_aftermarket, agent_signup, quote_domain, create_order, and 33 more. Their descriptions and schemas cost roughly 3,812 tokens of context every time the server is loaded.
Does the StableDomains MCP server require authentication?
No. We connected to StableDomains without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the StableDomains MCP server still maintained?
StableDomains is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.