Skip to main content
Glama

Delete, rename or move a website

manage_site
Destructive

Use for a whole website, as in its Settings in Ginta: delete it for good, rename it in Ginta, move it to a new Ginta address (old ones redirect), move it to another Ginta account (send or cancel a request; the other person accepts in Ginta), who can see it (public, private with a password, or offline), the "Made with Ginta" badge, form emails on/off, remove its own domain, mark its messages read (forms and Part entries), delete a form message, or send its new entries to another app (Zapier, Make: webhook). delete and remove_domain first answer what would be lost; they run only with confirm: true.

Input Schema

NameRequiredDescriptionDefault
onNoform_emails: true = email each new message (forms, orders, questions, quote requests, bookings, sign-ups), false = keep them in Ginta's Messages only.
urlNowebhook set: the https address the other app gives, e.g. a Zapier "Catch Hook" or a Make "Custom webhook".
moveNomove: send a request to another Ginta account (with email), or cancel the waiting one.
nameNorename: the website's name in Ginta ("" = from its home page title). Never changes its pages.
badgeNobadge: show, hide (paid plans), brand (the agency's own "Made by …"), or account (follow the account's setting).
emailNomove send: the other person's Ginta account email.
actionYesWhat to do (see the description).
addressNoaddress: the new Ginta address, e.g. "sugar-and-crumb" for https://sugar-and-crumb.ginta.page (check_name says if it's free).
confirmNodelete, remove_domain, move send: true only after the owner clearly said yes to what the first answer listed.
site_idYesThe site id: the first part of the site URL, e.g. "bella-roma" for https://bella-roma.ginta.page (see list_sites).
webhookNowebhook: status (default), set (with url), clear, or test (sends a made-up entry).
passwordNovisibility private: the password visitors type (needed the first time; a new one signs everyone out). Never repeat it.
all_sitesNobadge: true = show/hide it on every website of the account (paid plans), also new ones.
message_idNodelete_message: a form message's id from get_messages (kind message; Part entries stay in their Part).
visibilityNovisibility: public (everyone), private (visitors need a password) or offline ("isn't available right now"; nothing is deleted).

Output Schema

NameRequiredDescriptionDefault
urlNoThe site's address (address: the new one).
moveNomove: the request sent (to whom, until when, whether card payments pause after it) or canceled.
nameNorename: the name in Ginta (null = from the home page's title).
textYesThe answer in words, the same as the text content: read it (for get_guide the whole guide, for get_site the files' contents).
badgeNobadge: whether the badge shows now and why.
actionYesThe action that ran.
markedNomark_read: messages marked read.
addressNoaddress: the new Ginta address.
deletedNodelete / delete_message: done.
site_idYesThe site id.
webhookNowebhook: where new entries go (url null = nowhere), whether it's on, today's limit, the last send and error; secret only once, when first set.
visibilityNovisibility: who can see it now (public, private or offline).
form_emailsNoform_emails: whether new messages are emailed.
has_passwordNovisibility: whether a private password is set (the password itself is never returned).
previous_urlNoaddress: the old address, which now redirects to the new one.
removed_domainNoremove_domain: the domain removed.
badge_hidden_on_all_sitesNobadge with all_sites: the account's setting.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "delete",
      -  "rename",
      -  "address",
      -  "badge",
      -  "form_emails",
      -  "remove_domain",
      -  "mark_read",
      -  "delete_message",
      -  "visibility",
      -  "move"
      -]New value: +[
      +  "delete",
      +  "rename",
      +  "address",
      +  "badge",
      +  "form_emails",
      +  "remove_domain",
      +  "mark_read",
      +  "delete_message",
      +  "visibility",
      +  "move",
      +  "webhook"
      +]
    • addedInput schema / properties / url
      Added value: +{
      +  "description": "webhook set: the https address the other app gives, e.g. a Zapier \"Catch Hook\" or a Make \"Custom webhook\".",
      +  "maxLength": 500,
      +  "type": "string"
      +}
    • addedInput schema / properties / webhook
      Added value: +{
      +  "description": "webhook: status (default), set (with url), clear, or test (sends a made-up entry).",
      +  "enum": [
      +    "status",
      +    "set",
      +    "clear",
      +    "test"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / text
      Added value: +{
      +  "description": "The answer in words, the same as the text content: read it (for get_guide the whole guide, for get_site the files' contents).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / webhook
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "webhook: where new entries go (url null = nowhere), whether it's on, today's limit, the last send and error; secret only once, when first set.",
      +  "properties": {
      +    "active": {
      +      "type": "boolean"
      +    },
      +    "last_error": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "last_sent_at": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "off_reason": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "per_day": {
      +      "type": "number"
      +    },
      +    "secret": {
      +      "type": "string"
      +    },
      +    "test_sent": {
      +      "type": "boolean"
      +    },
      +    "url": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "url",
      +    "active",
      +    "off_reason",
      +    "per_day",
      +    "last_sent_at",
      +    "last_error"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "site_id",
      -  "action"
      -]New value: +[
      +  "site_id",
      +  "action",
      +  "text"
      +]
  2. Changed5 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "delete",
      -  "rename",
      -  "address",
      -  "badge",
      -  "form_emails",
      -  "remove_domain",
      -  "mark_read",
      -  "delete_message",
      -  "visibility"
      -]New value: +[
      +  "delete",
      +  "rename",
      +  "address",
      +  "badge",
      +  "form_emails",
      +  "remove_domain",
      +  "mark_read",
      +  "delete_message",
      +  "visibility",
      +  "move"
      +]
    • changedInput schema / properties / confirm / description
      Previous value: -"delete, remove_domain: true only after the owner clearly said yes to what the first answer listed."New value: +"delete, remove_domain, move send: true only after the owner clearly said yes to what the first answer listed."
    • addedInput schema / properties / email
      Added value: +{
      +  "description": "move send: the other person's Ginta account email.",
      +  "maxLength": 254,
      +  "type": "string"
      +}
    • addedInput schema / properties / move
      Added value: +{
      +  "description": "move: send a request to another Ginta account (with email), or cancel the waiting one.",
      +  "enum": [
      +    "send",
      +    "cancel"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / move
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "move: the request sent (to whom, until when, whether card payments pause after it) or canceled.",
      +  "properties": {
      +    "canceled": {
      +      "type": "boolean"
      +    },
      +    "expires_at": {
      +      "type": "string"
      +    },
      +    "payments_pause": {
      +      "type": "boolean"
      +    },
      +    "to": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed5 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "delete",
      -  "rename",
      -  "address",
      -  "badge",
      -  "form_emails",
      -  "remove_domain",
      -  "mark_read",
      -  "delete_message"
      -]New value: +[
      +  "delete",
      +  "rename",
      +  "address",
      +  "badge",
      +  "form_emails",
      +  "remove_domain",
      +  "mark_read",
      +  "delete_message",
      +  "visibility"
      +]
    • addedInput schema / properties / password
      Added value: +{
      +  "description": "visibility private: the password visitors type (needed the first time; a new one signs everyone out). Never repeat it.",
      +  "maxLength": 100,
      +  "type": "string"
      +}
    • addedInput schema / properties / visibility
      Added value: +{
      +  "description": "visibility: public (everyone), private (visitors need a password) or offline (\"isn't available right now\"; nothing is deleted).",
      +  "enum": [
      +    "public",
      +    "private",
      +    "offline"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / has_password
      Added value: +{
      +  "description": "visibility: whether a private password is set (the password itself is never returned).",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / visibility
      Added value: +{
      +  "description": "visibility: who can see it now (public, private or offline).",
      +  "type": "string"
      +}
  4. Changed2 schema fields changed
    • changedInput schema / properties / message_id / description
      Previous value: -"delete_message: the message's id from get_messages."New value: +"delete_message: a form message's id from get_messages (kind message; Part entries stay in their Part)."
    • changedInput schema / properties / on / description
      Previous value: -"form_emails: true = email each new form message, false = keep them in Ginta's Messages only."New value: +"form_emails: true = email each new message (forms, orders, questions, quote requests, bookings, sign-ups), false = keep them in Ginta's Messages only."
  5. Added

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Against annotations that already declare destructiveHint=true and idempotentHint=false, the description adds real operational context: destructive calls first return what would be lost, they require confirm: true, moves require the other account's acceptance, moving redirects old addresses, and offline visibility deletes nothing. This is meaningful disclosure beyond the structured hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The scope is front-loaded well, but the first sentence is a long run-on that lists all eleven actions, duplicating the action enum in the schema. The highest-value sentence — the confirm gate for destructive actions — is buried at the end rather than surfaced early.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter, multi-action mutation tool that already has annotations and an output schema, the description covers the risky paths (delete, remove_domain, move send) and the semantics of several actions. It leaves the boundary with update_site unexplained, which is the main residual gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines all 15 parameters, and the description largely re-enumerates the same action list. It does add a few facts the schema does not, notably that old Ginta addresses redirect after a move and that a new password signs everyone out. Baseline 3 is appropriate because the schema carries most of the semantic load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a concrete scope statement ("Use for a whole website, as in its Settings in Ginta") and enumerates the specific operations it performs: delete, rename, address, move, visibility, badge, form_emails, remove_domain, mark_read, delete_message, webhook. That is a specific verb-and-resource framing rather than a restatement of the name. It stops short of naming the sibling it differs from (update_site), so an agent must infer the split from the 'Settings' framing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear situational guidance by tying the tool to a website's Settings surface, and it adds a strong procedural rule: delete and remove_domain first answer what would be lost and run only with confirm: true. What's missing is an explicit contrast with update_site, the sibling most likely to be confused with this one for site-level changes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources