Sitey — free subdomains
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Claim a working subdomain in one call — A, CNAME and TXT records. No domain to buy, no account.
| Author | my.sitey |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2187 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Sitey — free subdomains": {
"url": "https://sitey.my/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (10)
list_domainsList available root domains (e.g. sitey.my, sitey.one) that you can create subdomains under. Call this first to know which domains are available.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
check_availabilityCheck if a specific subdomain name is available for registration under a given domain. Returns true if the name is free to claim.
Parameters:
subdomain(required) — string — Subdomain name (e.g. 'demo')domain(required) — string — Root domain (e.g. 'sitey.my')
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
create_subdomainCreate a new DNS record for a subdomain. Supports A records (IP address), CNAME records (hostname) and REDIRECT records (an https:// URL — visitors to the name are sent there with a 301). Example: create demo.sitey.my pointing to 1.2.3.4. No account, API key or signup is needed. The target does not have to be serving yet: claim the name first and deploy to it second if that is your order. The result carries reachable:false when nothing answered, and the record is created either way. If you send no owner_token, the result carries a new one under 'owner_token' — save it, it is shown once and is the only way to change or delete this record later. Without an API key, a CNAME or REDIRECT may not point at a temporary tunnel (trycloudflare.com, ngrok and the like), names containing words such as login or wallet are refused with ACCOUNT_REQUIRED, and TXT records are not available.
Parameters:
subdomain(required) — string — Subdomain name (e.g. 'demo')domain(required) — string — Root domain (e.g. 'sitey.my')type(required) — string — Record type. REDIRECT answers every visit with a 301 to the URL in value.value(required) — string — Record value: an IPv4 address for A, a hostname for CNAME, an absolute https:// URL for REDIRECT (http:// is refused, and so is a URL under one of this service's own roots).owner_token— string — The owner token you were given when you created the record (starts with anon_). Omit it only if you have an API key, or if the record predates tokens and was claimed from this same IP address. Creating without one mints a new one and returns it once.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_subdomainsList all subdomains you own. Returns subdomain name, domain, record type, value, and creation date. A REDIRECT record also carries hits: how many visits it has answered in total, how many this calendar month, and when the last one was. Filtered by your API key, or by the owner_token you pass, or — for records made before tokens existed — by your IP address.
Parameters:
owner_token— string — The owner token you were given when you created the record (starts with anon_). Omit it only if you have an API key, or if the record predates tokens and was claimed from this same IP address. Creating without one mints a new one and returns it once.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
renew_subdomainExtend a subdomain you own before it expires. Subdomains are lent for a period, not given: agent-created records last one month and user records three. Nothing emails an agent, so read expires_at from list_subdomains and call this before that date. One call resets the clock from today. Renewal only opens in the last two weeks before expires_at — an earlier call is refused and tells you the date it opens.
Parameters:
subdomain(required) — string — Subdomain name (e.g. 'demo')domain(required) — string — Root domain (e.g. 'sitey.my')owner_token— string — The owner token you were given when you created the record (starts with anon_). Omit it only if you have an API key, or if the record predates tokens and was claimed from this same IP address. Creating without one mints a new one and returns it once.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
extend_subdomainPaying for a year is switched off on this server, so this always answers PAYMENT_DISABLED. Use renew_subdomain, which is free and adds a month.
Parameters:
subdomain(required) — string — Subdomain name (e.g. 'demo')domain(required) — string — Root domain (e.g. 'sitey.my')payment— string — The x402 payment payload, base64 — the X-PAYMENT header value. Omit to be told what to pay.owner_token— string — The owner token you were given when you created the record (starts with anon_). Omit it only if you have an API key, or if the record predates tokens and was claimed from this same IP address. Creating without one mints a new one and returns it once.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
update_subdomainUpdate the DNS record value of a subdomain you own. For example, change the IP address that demo.sitey.my points to. The new target does not have to be serving yet; the result carries reachable:false when nothing answered, and the record is moved either way.
Parameters:
subdomain(required) — string — Subdomain name (e.g. 'demo')domain(required) — string — Root domain (e.g. 'sitey.my')value(required) — string — New record valueowner_token— string — The owner token you were given when you created the record (starts with anon_). Omit it only if you have an API key, or if the record predates tokens and was claimed from this same IP address. Creating without one mints a new one and returns it once.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
delete_subdomainPermanently delete a subdomain DNS record you own. The subdomain will stop resolving immediately.
Parameters:
subdomain(required) — string — Subdomain name (e.g. 'demo')domain(required) — string — Root domain (e.g. 'sitey.my')owner_token— string — The owner token you were given when you created the record (starts with anon_). Omit it only if you have an API key, or if the record predates tokens and was claimed from this same IP address. Creating without one mints a new one and returns it once.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
create_txt_recordCreate or update a TXT record for domain verification. Used for services like Vercel (_vercel) and Netlify that require DNS-based ownership proof. The record is placed at the root domain under the prefix you give (e.g. _vercel.sitey.my), alongside the other owners' values — that is the name Vercel reads for a subdomain of sitey.my. Needs an account: send an API key from the dashboard (Authorization: Bearer styo_…) on the MCP request. Without one this returns ACCOUNT_REQUIRED.
Parameters:
subdomain(required) — string — Subdomain name (e.g. 'demo')domain(required) — string — Root domain (e.g. 'sitey.my')host_prefix(required) — string — TXT record host prefix (e.g. '_vercel' for Vercel verification)value(required) — string — TXT record value (the verification token)root_level— boolean — No longer supported — TXT records are always written at the root domain. Passing true returns an error.owner_token— string — The owner token you were given when you created the record (starts with anon_). Omit it only if you have an API key, or if the record predates tokens and was claimed from this same IP address. Creating without one mints a new one and returns it once.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
delete_txt_recordDelete a TXT verification record from a subdomain you own.
Parameters:
subdomain(required) — string — Subdomain name (e.g. 'demo')domain(required) — string — Root domain (e.g. 'sitey.my')host_prefix(required) — string — TXT record host prefix (e.g. '_vercel')owner_token— string — The owner token you were given when you created the record (starts with anon_). Omit it only if you have an API key, or if the record predates tokens and was claimed from this same IP address. Creating without one mints a new one and returns it once.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.