Sitey — free subdomains

Claim a working subdomain in one call — A, CNAME and TXT records. No domain to buy, no account.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
91%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,900Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (1.48% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "subdomains": {
      "url": "https://sitey.my/mcp"
    }
  }
}

Remote endpoints

https://sitey.my/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡list_domains

List available root domains (e.g. sitey.my, sitey.one) that you can create subdomains under. Call this first to know which domains are available.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_availability(subdomain, domain)

Check if a specific subdomain name is available for registration under a given domain. Returns true if the name is free to claim.

Input Schema

{
  "type": "object",
  "properties": {
    "subdomain": {
      "type": "string",
      "description": "Subdomain name (e.g. 'demo')"
    },
    "domain": {
      "type": "string",
      "description": "Root domain (e.g. 'sitey.my')"
    }
  },
  "required": [
    "subdomain",
    "domain"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴create_subdomain(subdomain, domain, type, value, owner_token)

Create 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.

Input Schema

{
  "type": "object",
  "properties": {
    "subdomain": {
      "type": "string",
      "description": "Subdomain name (e.g. 'demo')"
    },
    "domain": {
      "type": "string",
      "description": "Root domain (e.g. 'sitey.my')"
    },
    "type": {
      "type": "string",
      "enum": [
        "A",
        "CNAME",
        "REDIRECT"
      ],
      "description": "Record type. REDIRECT answers every visit with a 301 to the URL in value."
    },
    "value": {
      "type": "string",
      "description": "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": {
      "description": "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.",
      "type": "string"
    }
  },
  "required": [
    "subdomain",
    "domain",
    "type",
    "value"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_subdomains(owner_token)

List 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.

Input Schema

{
  "type": "object",
  "properties": {
    "owner_token": {
      "description": "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.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢renew_subdomain(subdomain, domain, owner_token)

Extend 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.

Input Schema

{
  "type": "object",
  "properties": {
    "subdomain": {
      "type": "string",
      "description": "Subdomain name (e.g. 'demo')"
    },
    "domain": {
      "type": "string",
      "description": "Root domain (e.g. 'sitey.my')"
    },
    "owner_token": {
      "description": "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.",
      "type": "string"
    }
  },
  "required": [
    "subdomain",
    "domain"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_subdomain(subdomain, domain, value, owner_token)

Update 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.

Input Schema

{
  "type": "object",
  "properties": {
    "subdomain": {
      "type": "string",
      "description": "Subdomain name (e.g. 'demo')"
    },
    "domain": {
      "type": "string",
      "description": "Root domain (e.g. 'sitey.my')"
    },
    "value": {
      "type": "string",
      "description": "New record value"
    },
    "owner_token": {
      "description": "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.",
      "type": "string"
    }
  },
  "required": [
    "subdomain",
    "domain",
    "value"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_subdomain(subdomain, domain, owner_token)

Permanently delete a subdomain DNS record you own. The subdomain will stop resolving immediately.

Input Schema

{
  "type": "object",
  "properties": {
    "subdomain": {
      "type": "string",
      "description": "Subdomain name (e.g. 'demo')"
    },
    "domain": {
      "type": "string",
      "description": "Root domain (e.g. 'sitey.my')"
    },
    "owner_token": {
      "description": "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.",
      "type": "string"
    }
  },
  "required": [
    "subdomain",
    "domain"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_txt_record(subdomain, domain, host_prefix, value, root_level, ...)

Create 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.

Input Schema

{
  "type": "object",
  "properties": {
    "subdomain": {
      "type": "string",
      "description": "Subdomain name (e.g. 'demo')"
    },
    "domain": {
      "type": "string",
      "description": "Root domain (e.g. 'sitey.my')"
    },
    "host_prefix": {
      "type": "string",
      "description": "TXT record host prefix (e.g. '_vercel' for Vercel verification)"
    },
    "value": {
      "type": "string",
      "description": "TXT record value (the verification token)"
    },
    "root_level": {
      "description": "No longer supported — TXT records are always written at the root domain. Passing true returns an error.",
      "type": "boolean"
    },
    "owner_token": {
      "description": "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.",
      "type": "string"
    }
  },
  "required": [
    "subdomain",
    "domain",
    "host_prefix",
    "value"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_txt_record(subdomain, domain, host_prefix, owner_token)

Delete a TXT verification record from a subdomain you own.

Input Schema

{
  "type": "object",
  "properties": {
    "subdomain": {
      "type": "string",
      "description": "Subdomain name (e.g. 'demo')"
    },
    "domain": {
      "type": "string",
      "description": "Root domain (e.g. 'sitey.my')"
    },
    "host_prefix": {
      "type": "string",
      "description": "TXT record host prefix (e.g. '_vercel')"
    },
    "owner_token": {
      "description": "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.",
      "type": "string"
    }
  },
  "required": [
    "subdomain",
    "domain",
    "host_prefix"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools
verifiedversion not recorded9 tools
verifiedversion not recorded9 tools