Skip to main content
Glama

create_wedding_draft

Create an unpaid draft of a wedding invitation website on wedding30s.com and return the URLs the couple needs.

Use it when the human wants a wedding website and has given both names, the date, the place and an email. Call list_templates first if they have not chosen a look, and get_pricing if the cost has not been agreed.

Behaviour: every call creates a NEW draft — there is no update or delete tool, so confirm the details with the human before calling. The couple is emailed a dashboard link. The preview URL is free and works immediately, but the page stays unlisted until it is paid for. Publishing requires a human to open the checkout URL and pay EUR 49: an assistant cannot publish the site and cannot spend money. Unpaid drafts are deleted 7 days after creation.

Returns: preview_url, checkout_url and expires_at.

Input Schema

NameRequiredDescriptionDefault
dateYesWedding date in ISO format YYYY-MM-DD
emailYesCouple email. Receives the confirmation and the private dashboard link, so it must belong to the couple and not to the assistant
storyNoHow the couple met, in their own words. Rendered as the "our story" section; the section is left out when omitted
venueNoName of the ceremony or reception venue, shown under the location. Omit if not decided
languageNoLanguage of the published page and of its RSVP form. Defaults to es
locationYesCity or town where the wedding takes place
maps_urlNoGoogle Maps link to the venue. Adds a map and a directions button to the page
templateNoVisual template id. Call list_templates for the options; omit to use the default
partner1_nameYesFull name of the first partner, as it should appear on the page
partner2_nameYesFull name of the second partner, as it should appear on the page

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / email / pattern
      Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly: every call creates a NEW draft with no update/delete, the couple is emailed a dashboard link, the preview is free but stays unlisted until paid, publishing requires a human to pay EUR 49, the assistant cannot publish or spend money, and unpaid drafts are deleted after 7 days. This is exactly the side-effect, idempotency and lifecycle context an agent needs.

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

Conciseness5/5

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

Purpose and return values are front-loaded, followed by usage conditions and a clearly labelled Behaviour paragraph. Three tight blocks with zero filler; the length is justified by the amount of behavioral risk (money, deletion, emailing) being disclosed.

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

Completeness5/5

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

For a 10-parameter, no-output-schema mutation tool, the description covers returns (preview_url, checkout_url, expires_at), prerequisites, side effects and expiry, so the agent has everything needed to call it correctly. Nothing material is missing.

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 documents all 10 parameters including enums and formats. The description adds little parameter-level detail beyond what the schema provides (it does not, for example, restate the email-ownership rule beyond the schema). Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb (create), resource (unpaid wedding invitation draft on wedding30s.com) and output (URLs the couple needs). It is clearly distinguishable from siblings like get_draft_status, list_templates and get_pricing without opening any schema.

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

Usage Guidelines5/5

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

Explicitly names the preconditions (both names, date, place, email) and routes the agent to alternatives by condition: list_templates if no look chosen, get_pricing if cost not agreed. Nothing is left to inference.

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