此 MCP 可以做什么
Deploys and manages static websites, custom domains, DNS configuration, and deployment metadata.
工具
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deployment'], 'properties': {'deployment': {'type': 'string', 'description': 'Deployment hostname to delete (e.g. "happy-cat-abc1234.shipstatic.com")'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deployment', 'status'], 'properties': {'status': {'type': 'string', 'description': 'The state the deployment is in while background cleanup runs. One of: pending, success, failed, deleting.'}, 'deployment': {'type': 'string', 'description': 'The deployment hostname that was marked for removal.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deployment'], 'properties': {'deployment': {'type': 'string', 'description': 'Deployment hostname (e.g. "happy-cat-abc1234.shipstatic.com"). Returned by deployments_upload or deployments_list.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deployment', 'url', 'files', 'size', 'status', 'config', 'password', 'labels', 'via', 'created', 'expires', 'screenshot'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the live deployment.'}, 'via': {'type': ['string', 'null'], 'description': 'How the deployment was created, as shown in deployment history (today one of: web, sdk, cli, mcp, git, n8n, gpt, vsc, cld, crs, gmn, api). Null on deployments older than the tag.'}, 'size': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Total deployment size in bytes.'}, 'files': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of files in the deployment.'}, 'config': {'type': 'boolean', 'description': 'True if the deployment includes a ship.json routing config.'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels attached to the deployment; empty when none.'}, 'status': {'type': 'string', 'description': 'Deployment lifecycle state; "success" means the site is live. One of: pending, success, failed, deleting.'}, 'created': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Unix timestamp (seconds) when the deployment was created.'}, 'expires': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when the deployment expires; null when permanent. Anonymous deployments expire 3 days after creation unless claimed; an authenticated deployment carries one only when it requested a ttl.'}, 'password': {'type': 'boolean', 'description': 'True if the deployment is password-protected.'}, 'deployment': {'type': 'string', 'description': 'Deployment hostname, e.g. "happy-cat-abc1234.shipstatic.com".'}, 'screenshot': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the deployment screenshot. Rendered on the first request for it, so the URL is returned immediately and the first request takes a few seconds; every request after that is served immediately.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Maximum number of items to return in one page. Omit for the server default.'}, 'cursor': {'type': 'string', 'description': "Opaque position from the previous response's `cursor` field; omit for the first page."}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cursor', 'deployments'], 'properties': {'cursor': {'type': ['string', 'null'], 'description': 'Opaque cursor for the next page; null on the last page. The whole has-more signal.'}, 'deployments': {'type': 'array', 'items': {'type': 'object', 'required': ['deployment', 'url', 'files', 'size', 'status', 'config', 'password', 'labels', 'via', 'created', 'expires', 'screenshot'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the live deployment.'}, 'via': {'type': ['string', 'null'], 'description': 'How the deployment was created, as shown in deployment history (today one of: web, sdk, cli, mcp, git, n8n, gpt, vsc, cld, crs, gmn, api). Null on deployments older than the tag.'}, 'size': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Total deployment size in bytes.'}, 'files': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of files in the deployment.'}, 'config': {'type': 'boolean', 'description': 'True if the deployment includes a ship.json routing config.'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels attached to the deployment; empty when none.'}, 'status': {'type': 'string', 'description': 'Deployment lifecycle state; "success" means the site is live. One of: pending, success, failed, deleting.'}, 'created': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Unix timestamp (seconds) when the deployment was created.'}, 'expires': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when the deployment expires; null when permanent. Anonymous deployments expire 3 days after creation unless claimed; an authenticated deployment carries one only when it requested a ttl.'}, 'password': {'type': 'boolean', 'description': 'True if the deployment is password-protected.'}, 'deployment': {'type': 'string', 'description': 'Deployment hostname, e.g. "happy-cat-abc1234.shipstatic.com".'}, 'screenshot': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the deployment screenshot. Rendered on the first request for it, so the URL is returned immediately and the first request takes a few seconds; every request after that is served immediately.'}}, 'additionalProperties': False}, 'description': 'The deployments on this page.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deployment', 'labels'], 'properties': {'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels to set. Replaces all existing labels. Pass empty array to clear.'}, 'deployment': {'type': 'string', 'description': 'Deployment hostname (e.g. "happy-cat-abc1234.shipstatic.com"). Use deployments_list to find deployments.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deployment', 'url', 'files', 'size', 'status', 'config', 'password', 'labels', 'via', 'created', 'expires', 'screenshot'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the live deployment.'}, 'via': {'type': ['string', 'null'], 'description': 'How the deployment was created, as shown in deployment history (today one of: web, sdk, cli, mcp, git, n8n, gpt, vsc, cld, crs, gmn, api). Null on deployments older than the tag.'}, 'size': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Total deployment size in bytes.'}, 'files': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of files in the deployment.'}, 'config': {'type': 'boolean', 'description': 'True if the deployment includes a ship.json routing config.'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels attached to the deployment; empty when none.'}, 'status': {'type': 'string', 'description': 'Deployment lifecycle state; "success" means the site is live. One of: pending, success, failed, deleting.'}, 'created': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Unix timestamp (seconds) when the deployment was created.'}, 'expires': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when the deployment expires; null when permanent. Anonymous deployments expire 3 days after creation unless claimed; an authenticated deployment carries one only when it requested a ttl.'}, 'password': {'type': 'boolean', 'description': 'True if the deployment is password-protected.'}, 'deployment': {'type': 'string', 'description': 'Deployment hostname, e.g. "happy-cat-abc1234.shipstatic.com".'}, 'screenshot': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the deployment screenshot. Rendered on the first request for it, so the URL is returned immediately and the first request takes a few seconds; every request after that is served immediately.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['files'], 'properties': {'ttl': {'type': 'number', 'description': "Seconds until this deployment expires and the platform reclaims it; omit for one that never does. Only for authenticated deploys — an anonymous deployment already expires on the platform's schedule, and a requested ttl on one is refused. A deployment carrying a ttl cannot be linked to a custom domain: deploy without one if the site needs a domain."}, 'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'content'], 'properties': {'path': {'type': 'string', 'description': 'Relative path within the site (e.g. "index.html", "assets/app.css"). No leading slash; no parent-folder wrapping.'}, 'content': {'type': 'string', 'description': 'File content as a plain text string. For HTML, CSS, JS, JSON, SVG, plain text — pass directly with no encoding step. For binary files (images, fonts) ONLY, set this entry\'s `encoding: "base64"` and pass base64-encoded bytes.'}, 'encoding': {'enum': ['utf-8', 'base64'], 'type': 'string', 'description': 'Defaults to `"utf-8"` (raw text). Set to `"base64"` ONLY for binary files. Never base64-encode text content — pass it as a plain string.'}}}, 'description': 'Files that make up the site. The site root is implied by these paths.'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels for organizing deployments (e.g. ["production", "v1.2"]). Lowercase, 3-25 chars, allows . _ - separators. Up to 10.'}, 'password': {'type': 'string', 'description': 'Optional password to gate the deployment behind an unlock prompt (6–128 characters; whitespace significant). Visitors must enter this password before viewing the site, including on any custom domains pointing at it.'}, 'idempotencyKey': {'type': 'string', 'description': 'Makes this deploy replayable instead of repeatable. A deploy is not naturally idempotent: if a call times out you cannot tell "it never landed" from "it landed and the response was lost", and retrying creates a second deployment. Send the same key on the retry and the original deployment is replayed instead (within 24 hours). Key the ATTEMPT — a run id, a commit sha, a uuid minted before the first try — never one minted fresh on each retry, which would defeat the point. Only for a connected account: without one the key is ignored and a retry deploys again.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deployment', 'url', 'files', 'size', 'status', 'config', 'password', 'labels', 'via', 'created', 'expires', 'screenshot'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the live deployment.'}, 'via': {'type': ['string', 'null'], 'description': 'How the deployment was created, as shown in deployment history (today one of: web, sdk, cli, mcp, git, n8n, gpt, vsc, cld, crs, gmn, api). Null on deployments older than the tag.'}, 'size': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Total deployment size in bytes.'}, 'claim': {'type': 'string', 'format': 'uri', 'description': 'One-time URL that claims this anonymous deployment to a free account, making it permanent. Only present on anonymous deploys; absent when the deploy was made with a connected account.'}, 'files': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Number of files in the deployment.'}, 'config': {'type': 'boolean', 'description': 'True if the deployment includes a ship.json routing config.'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels attached to the deployment; empty when none.'}, 'status': {'type': 'string', 'description': 'Deployment lifecycle state; "success" means the site is live. One of: pending, success, failed, deleting.'}, 'created': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Unix timestamp (seconds) when the deployment was created.'}, 'expires': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when the deployment expires; null when permanent. Anonymous deployments expire 3 days after creation unless claimed; an authenticated deployment carries one only when it requested a ttl.'}, 'password': {'type': 'boolean', 'description': 'True if the deployment is password-protected.'}, 'deployment': {'type': 'string', 'description': 'Deployment hostname, e.g. "happy-cat-abc1234.shipstatic.com".'}, 'screenshot': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the deployment screenshot. Rendered on the first request for it, so the URL is returned immediately and the first request takes a few seconds; every request after that is served immediately.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain name to delete (e.g. "www.example.com")'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'The domain name that was removed, normalized.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain name (e.g. "www.example.com"). Must be a domain previously created with domains_set.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain', 'dns'], 'properties': {'dns': {'anyOf': [{'type': 'object', 'properties': {'provider': {'type': 'object', 'required': ['name'], 'properties': {'url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}], 'description': "The provider's DNS dashboard, where the records get added; null or absent when unknown."}, 'name': {'type': ['string', 'null'], 'description': 'Provider name, e.g. "Cloudflare"; null if unknown.'}}, 'description': "The provider serving this domain's DNS; absent when unidentified.", 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}], 'description': "What the platform recorded about the domain's DNS provider when the domain was created; null if nothing was recorded."}, 'domain': {'type': 'string', 'description': 'The domain name.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain name (e.g. "www.example.com"). Use domains_list to find names.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain', 'url', 'status', 'deployment', 'linked', 'links', 'verification', 'verified', 'verifications', 'paused', 'labels', 'created'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the domain.'}, 'links': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many times a deployment has been linked to this domain.'}, 'domain': {'type': 'string', 'description': 'The domain name, e.g. "www.example.com".'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels attached to the domain; empty when none.'}, 'linked': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when a deployment was last linked; null if never linked.'}, 'paused': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when plan enforcement paused serving; null while the plan has room for it.'}, 'status': {'type': 'string', 'description': 'What this domain needs from its owner, derived: "live" serves the linked deployment and needs nothing; "unlinked" is verified with nothing published there, so link a deployment; "unverified" needs its DNS records configured; "paused" means the plan no longer has room for it. Read this word rather than recomputing it. One of: live, unlinked, unverified, paused.'}, 'created': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Unix timestamp (seconds) when the domain was created.'}, 'verified': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'When DNS last became verified; null if it never has, and never cleared, so a domain whose records moved away keeps it. Read `verification` for whether DNS is right now.'}, 'deployment': {'type': ['string', 'null'], 'description': 'The deployment hostname this domain points to; null when reserved but not yet linked.'}, 'verification': {'type': 'string', 'description': 'How far DNS verification has got: "pending" is the site\'s CNAME not pointing here, "partial" is a www domain\'s CNAME pointing here without its apex A record (the redirect), "verified" is every required record. The diagnostic under "unverified"; platform domains are born verified. One of: pending, partial, verified.'}, 'verifications': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many DNS verification attempts this domain has had.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Maximum number of items to return in one page. Omit for the server default.'}, 'cursor': {'type': 'string', 'description': "Opaque position from the previous response's `cursor` field; omit for the first page."}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cursor', 'domains'], 'properties': {'cursor': {'type': ['string', 'null'], 'description': 'Opaque cursor for the next page; null on the last page. The whole has-more signal.'}, 'domains': {'type': 'array', 'items': {'type': 'object', 'required': ['domain', 'url', 'status', 'deployment', 'linked', 'links', 'verification', 'verified', 'verifications', 'paused', 'labels', 'created'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the domain.'}, 'links': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many times a deployment has been linked to this domain.'}, 'domain': {'type': 'string', 'description': 'The domain name, e.g. "www.example.com".'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels attached to the domain; empty when none.'}, 'linked': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when a deployment was last linked; null if never linked.'}, 'paused': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when plan enforcement paused serving; null while the plan has room for it.'}, 'status': {'type': 'string', 'description': 'What this domain needs from its owner, derived: "live" serves the linked deployment and needs nothing; "unlinked" is verified with nothing published there, so link a deployment; "unverified" needs its DNS records configured; "paused" means the plan no longer has room for it. Read this word rather than recomputing it. One of: live, unlinked, unverified, paused.'}, 'created': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Unix timestamp (seconds) when the domain was created.'}, 'verified': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'When DNS last became verified; null if it never has, and never cleared, so a domain whose records moved away keeps it. Read `verification` for whether DNS is right now.'}, 'deployment': {'type': ['string', 'null'], 'description': 'The deployment hostname this domain points to; null when reserved but not yet linked.'}, 'verification': {'type': 'string', 'description': 'How far DNS verification has got: "pending" is the site\'s CNAME not pointing here, "partial" is a www domain\'s CNAME pointing here without its apex A record (the redirect), "verified" is every required record. The diagnostic under "unverified"; platform domains are born verified. One of: pending, partial, verified.'}, 'verifications': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many DNS verification attempts this domain has had.'}}, 'additionalProperties': False}, 'description': 'The domains on this page.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain name. Must be a domain previously created with domains_set.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain', 'apex', 'records'], 'properties': {'apex': {'type': 'string', 'description': 'The apex (registered) domain where DNS records are managed.'}, 'domain': {'type': 'string', 'description': 'The domain the records are for.'}, 'records': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'name', 'value'], 'properties': {'name': {'type': 'string', 'description': 'The DNS name to configure.'}, 'type': {'enum': ['A', 'CNAME'], 'type': 'string', 'description': 'Record type: A for the apex redirect, CNAME for the hosted subdomain.'}, 'value': {'type': 'string', 'description': 'The value to set: an IP for A, a hostname for CNAME.'}}, 'additionalProperties': False}, 'description': 'The records to configure at the DNS provider, in the order to add them.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain name (e.g. "www.example.com" or "blog.example.com")'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels for organizing domains (e.g. ["production"]).'}, 'deployment': {'type': 'string', 'description': 'Deployment to serve on this domain (e.g. "happy-cat-abc1234.shipstatic.com"). Omit to reserve the domain without linking.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain', 'url', 'status', 'deployment', 'linked', 'links', 'verification', 'verified', 'verifications', 'paused', 'labels', 'created', 'isCreate'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Full URL to the domain.'}, 'links': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many times a deployment has been linked to this domain.'}, 'domain': {'type': 'string', 'description': 'The domain name, e.g. "www.example.com".'}, 'labels': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Labels attached to the domain; empty when none.'}, 'linked': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when a deployment was last linked; null if never linked.'}, 'paused': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'Unix timestamp (seconds) when plan enforcement paused serving; null while the plan has room for it.'}, 'status': {'type': 'string', 'description': 'What this domain needs from its owner, derived: "live" serves the linked deployment and needs nothing; "unlinked" is verified with nothing published there, so link a deployment; "unverified" needs its DNS records configured; "paused" means the plan no longer has room for it. Read this word rather than recomputing it. One of: live, unlinked, unverified, paused.'}, 'created': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Unix timestamp (seconds) when the domain was created.'}, 'isCreate': {'type': 'boolean', 'description': 'True when this call created the domain; false when it updated an existing one.'}, 'verified': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'When DNS last became verified; null if it never has, and never cleared, so a domain whose records moved away keeps it. Read `verification` for whether DNS is right now.'}, 'deployment': {'type': ['string', 'null'], 'description': 'The deployment hostname this domain points to; null when reserved but not yet linked.'}, 'verification': {'type': 'string', 'description': 'How far DNS verification has got: "pending" is the site\'s CNAME not pointing here, "partial" is a www domain\'s CNAME pointing here without its apex A record (the redirect), "verified" is every required record. The diagnostic under "unverified"; platform domains are born verified. One of: pending, partial, verified.'}, 'verifications': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many DNS verification attempts this domain has had.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain name to generate a share link for. Must be a domain previously created with domains_set.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The shareable DNS setup URL; whoever opens it sees the records to configure, with no API key.'}, 'domain': {'type': 'string', 'description': 'The domain the setup link is for.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain name to check (e.g. "www.example.com"). Call before domains_set to check availability.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['valid', 'normalized', 'available', 'reason'], 'properties': {'valid': {'type': 'boolean', 'description': "Whether the domain's shape is usable."}, 'reason': {'type': ['string', 'null'], 'description': 'Why the name is unusable, for display; null when it is usable.'}, 'available': {'type': ['boolean', 'null'], 'description': 'Whether nobody has registered the name yet; null when invalid. Creating it would be new; re-pointing your own domain is a write, not a create.'}, 'normalized': {'type': ['string', 'null'], 'description': 'The normalized domain name; null when invalid.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain name to verify DNS for. Must be a domain previously created with domains_set.'}}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': "The domain whose DNS verification was queued, normalized. The check runs asynchronously; the domain's `verification` and `status` update once DNS propagates, so read the domain again rather than trusting this acknowledgement for a verdict."}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['email', 'name', 'plan', 'usage', 'caps'], 'properties': {'caps': {'type': 'object', 'required': ['deployments', 'platformDomains', 'customDomains', 'members'], 'properties': {'members': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Members of the account, the owner included; a pending invitation is not one.'}, 'deployments': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Deployments, every row whatever its status.'}, 'customDomains': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Hostnames the customer owns, paused ones included.'}, 'platformDomains': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Names chosen under the platform\'s own suffix, e.g. "my-app.shipstatic.com".'}}, 'description': 'What the account is allowed to hold: the same keys as usage, so the pair divides.', 'additionalProperties': False}, 'name': {'type': ['string', 'null'], 'description': 'Display name; null if not set.'}, 'plan': {'type': 'string', 'description': 'The plan the account is on. One of: free, pro, team, scale, sponsored.'}, 'email': {'type': 'string', 'description': 'The account email address.'}, 'usage': {'type': 'object', 'required': ['deployments', 'platformDomains', 'customDomains', 'members'], 'properties': {'members': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Members of the account, the owner included; a pending invitation is not one.'}, 'deployments': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Deployments, every row whatever its status.'}, 'customDomains': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Hostnames the customer owns, paused ones included.'}, 'platformDomains': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Names chosen under the platform\'s own suffix, e.g. "my-app.shipstatic.com".'}}, 'description': 'What the account currently holds.', 'additionalProperties': False}}, 'additionalProperties': False}
近期工具变更
类似的 MCP 服务器
shiply
Publishes and manages web applications with SQL databases, serverless functions, domains, email tests, client intake, contracts, …
Fine Structure
Builds and hosts full-stack applications from prompts and supports agent communication through WhatsApp and email.
mcp
Provisions and manages cloud instances, networks, storage, databases, backups, VPNs, application deployments, and autocoding-agen…
EchoRelay
Manages a hosted API relay runtime, including projects, endpoints, credentials, publishing, keys, delivery logs, and dead-letter …
Supero
Builds, validates, publishes, tests, and deploys multi-tenant applications with schemas, CRUD operations, external data connector…
Replicate
Provides access to Replicate models, versions, collections, hardware, predictions, and deployments for running and managing hoste…
Relin
Configures webhook sources and destinations, monitors delivery health, investigates failures, manages retries, and replays events.
Scalix Cloud
Provides managed databases, SQL tools, container builds, persistent Linux machines, domains, scheduled functions, storage, and pr…