Skip to main content
Glama

Create invitation

create_invitation

Create an interactive invitation: an animated page on its own link with an opening scene, scratch-to-reveal, countdown, venue map and RSVP. It is a page guests read, not a questionnaire that collects answers, which is what create_form builds. A request for a "wedding invitation form" describes this page rather than a questionnaire, since that is how the page is commonly named. It arrives as a draft and publish_invitation puts it live.

A template id from list_invitation_templates is required. The programme is whatever functions the couple names: pre-wedding ones such as Mehndi, Haldi, Sangeet, Dholki, Engagement, Welcome dinner, and wedding-day ones such as Guest arrival, Baraat, Nikah, Wedding ceremony, Rukhsati, Photographs, Dinner, Reception, Walima. Which of these a couple holds varies by tradition and by family, and the lists record only what is supplied.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailsYesEverything known so far, an invitation saves fine half-filled. `preWedding` is the run-up (Mehndi, Haldi, Sangeet, Dholki…) and `ceremonies` the day itself (Baraat, Nikah, Rukhsati, Reception, Walima…); each entry needs only a `name`, with date/time/venue added as they are settled, and both lists stay in the order you send them. `blessing` is the invocation the card opens with: `bismillah` (﷽), `ganesha` (the image with the Sanskrit shloka), `cross` (with Song of Solomon 3:4), or `none`. It reflects the couple's own stated choice; names do not indicate it, since names cross traditions and interfaith weddings are common. Omitted, the card opens with no invocation. `colors.bg` and `colors.ink` override the template's ground and text colour; omitted, the template's own palette applies, which is already matched to its artwork.
templateIdYesAn invitation template id, as returned by list_invitation_templates. It sets the design and is fixed once the invitation is published.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYes
statusYes
editUrlYes
publicUrlYes
invitationIdYes
missingBeforePublishYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / details / description
      Previous value: -"Everything known so far, an invitation saves fine half-filled. `preWedding` is the run-up (Mehndi, Haldi, Sangeet, Dholki…) and `ceremonies` the day itself (Baraat, Nikah, Rukhsati, Reception, Walima…); each entry needs only a `name`, with date/time/venue added as they are settled, and both lists stay in the order you send them. `colors.bg` and `colors.ink` override the template's ground and text colour. Leave them out unless the user asked for particular colours, because the template's own palette is already matched to its artwork."New value: +"Everything known so far, an invitation saves fine half-filled. `preWedding` is the run-up (Mehndi, Haldi, Sangeet, Dholki…) and `ceremonies` the day itself (Baraat, Nikah, Rukhsati, Reception, Walima…); each entry needs only a `name`, with date/time/venue added as they are settled, and both lists stay in the order you send them. `blessing` is the invocation the card opens with: `bismillah` (﷽), `ganesha` (the image with the Sanskrit shloka), `cross` (with Song of Solomon 3:4), or `none`. It reflects the couple's own stated choice; names do not indicate it, since names cross traditions and interfaith weddings are common. Omitted, the card opens with no invocation. `colors.bg` and `colors.ink` override the template's ground and text colour; omitted, the template's own palette applies, which is already matched to its artwork."
    • changedInput schema / properties / templateId / description
      Previous value: -"From list_invitation_templates. Ask the user to choose; do not pick for them."New value: +"An invitation template id, as returned by list_invitation_templates. It sets the design and is fixed once the invitation is published."
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations are all false (readOnly, openWorld, idempotent, destructive), so the description must carry the behavioral disclosure. It does so by stating that the invitation 'arrives as a draft and publish_invitation puts it live,' which clarifies the side effect of creation (draft only) and the need for a separate publishing step. It also explains that the template id is fixed once published, a meaningful behavioral trait. It doesn't disclose any destructive implications, but none are expected for a create tool.

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 description is verbose, running into a lengthy second paragraph about pre-wedding and wedding-day functions. While informative, this detail could be condensed or moved to a later position; the core purpose and usage guidance are front-loaded, but the extended enumeration of ceremony types adds bulk. It earns a mid-range score because the structure is still logical and the content is relevant, but it is not as lean as it could be.

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?

Given the tool's complexity (nested objects, 2 required params, an existing output schema), the description covers the essential context: what it creates, when to use it, the template requirement, and the draft/publish flow. It doesn't describe error conditions or return values, but those are adequately handled by the output schema and the assumed behavior of a create operation. It is sufficiently complete for an agent to invoke it correctly.

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

Parameters4/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 each parameter. The description adds value beyond that by highlighting that templateId is required and that the programme lists are flexible ('the lists record only what is supplied'), clarifying that the agent should only include ceremonies the couple actually holds. This contextual nuance compensates for the otherwise generic schema and makes the parameters more usable.

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?

The description opens with a clear, specific statement of what the tool does: 'Create an interactive invitation: an animated page on its own link with an opening scene, scratch-to-reveal, countdown, venue map and RSVP.' It then explicitly contrasts itself with the sibling create_form ('not a questionnaire... which is what create_form builds'), making the purpose unambiguous and distinguishing it from the closest alternative.

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?

The description goes beyond stating purpose to give direct usage guidance. It names create_form as the alternative for questionnaires and provides a concrete rule: 'A request for a "wedding invitation form" describes this page rather than a questionnaire.' It also points to list_invitation_templates for the required template id and to publish_invitation for making the draft live, giving the agent a clear workflow context.

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.