create_ecard_draft
Create a pending single-card ecard draft for personalization. Do not collect recipient or purchaser email in MCP.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cardId | Yes |
Create a pending single-card ecard draft for personalization. Do not collect recipient or purchaser email in MCP.
| Name | Required | Description | Default |
|---|---|---|---|
| cardId | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the 'pending' state and explicitly instructs not to collect recipient/purchaser email. However, it does not mention side effects, permissions, or return behavior, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundancy. It front-loads the purpose and includes a relevant constraint without unnecessary wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a single parameter and no output schema. The description covers the core purpose and a key constraint. However, it lacks context about what 'pending' implies in the workflow, how cardId is obtained, or how this step relates to sibling tools like personalize_message.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage for cardId, and the tool description does not explain its meaning or origin. While the name 'cardId' is self-explanatory, the description adds no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action (create) and resource (pending single-card ecard draft), and the qualifier 'for personalization' helps distinguish it from sibling tools like browse_cards or personalize_message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (creating a draft for personalization) and includes a directive not to collect emails. However, it does not explicitly mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool targets a distinct action: browsing/searching cards, retrieving a specific card, creating a draft, personalizing the message, selecting music, and generating the preview. There is no overlap between searching and retrieving, and the draft modification tools are clearly separate from creation and finalization.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., browse_cards, create_ecard_draft, generate_preview). The verbs are specific to the action, and the nouns clearly indicate the entity being acted upon, making the pattern predictable.
With 6 tools, the set is well-scoped for the ecard personalization workflow. Each tool covers a necessary step in the process, and the count is neither bloated nor too sparse for the domain.
The tool surface covers the full lifecycle from discovering cards, creating a draft, personalizing message and music, to generating a preview handoff. Missing draft retrieval or deletion are not gaps in this context since the workflow is linear and completion occurs on the website.