Skip to main content
Glama

Save to My Looks

save_my_look

Save a new look to the user's BeautySpark My Looks. Photos can't be added from chat: if the user attached or mentions a photo, tell them before saving that only the text is saved and that they can add the photo in BeautySpark from the returned link. Repeating the same save within 10 minutes returns the first look instead of a copy.

Input Schema

NameRequiredDescriptionDefault
notesNoFree-text notes about the look.
stepsNoOrdered steps, first to last. Each step: instruction (required); title; area; positions = where on the eye, only when area is "eyes"; technique (free text); toolsNeeded = tool slugs from the allowed values only; intensity; estimatedTime in minutes (max 120); notes; productRefs = 0-based indexes into this look's products; shadeRefs = {productIndex, shadeIndex}, 0-based indexes into products and that product's shades. Leave photoAssetId and position unset.
titleYesShort name for the look, e.g. "Soft bronze smoky eye".
productsNoProducts used. Each: name (required); productType, e.g. "eyeshadow palette"; area; userPaletteId = the paletteId from list_my_palettes when it is a palette the user owns; shades = the pans used, each with name, hexColor (#RRGGBB) and position in the palette.
tagNamesNoTag names. A name the user already has reuses that tag; a new name creates one.
occasionsNoFree-text occasions, e.g. ["office", "wedding guest"].
personNameNoName of one of the user's persons in BeautySpark (exact name, any case). Leave it out unless the user names someone.
isFavouriteNoMark the look as a favourite.
categorySlugsNoCategories: preset slugs (everyday, work, date_night, evening, party, festival, wedding_guest, bridal, prom, holiday, vacation, photoshoot, editorial, no_makeup, smokey, glam, natural_glow, bold_color) or the names of the user's own categories.
inspirationUrlNoAn http(s) link to what inspired the look, kept as text. Never fetched.
intensityLevelNoHow strong the whole look is.
difficultyLevelNoHow hard the look is to do.
estimatedTotalTimeNoTime for the whole look, in minutes.

Output Schema

NameRequiredDescriptionDefault
lookYes
createdYes
summaryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare the safety profile (not read-only, non-destructive, closed-world). The description adds two behaviors the annotations cannot convey: photos are silently not persisted and must be added later via the returned link, and identical saves within 10 minutes are idempotent, returning the original look. Those are exactly the traits an agent would otherwise get wrong. It stops short of describing what the returned link looks like or failure modes.

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?

Three sentences, each carrying distinct load: identity of the action, the photo exception with the required user-facing behavior, and the dedupe rule. The photo constraint is front-loaded before the save semantics, which is the right order for an agent deciding whether to call.

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?

With 13 params, an output schema, and full schema documentation, the description only needs to carry behavior — which it largely does. The remaining gap is sibling disambiguation against save_generation_to_my_looks and update_my_look, which matters for a save tool in a crowded namespace.

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%, and the field docs are unusually detailed (step ordering, allowed tool slugs, 0-based productRefs/shadeRefs, leaving photoAssetId and position unset). The description adds no parameter-level meaning beyond the photo caveat. Baseline 3 is appropriate when the schema does this much of the work.

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 specific verb and destination: "Save a new look to the user's BeautySpark My Looks." That is unambiguous about what the tool creates. It does not, however, distinguish itself from the close siblings save_generation_to_my_looks or update_my_look, leaving the agent to infer which save path applies.

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

Usage Guidelines3/5

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

It gives concrete situational guidance for one case — when the user attaches or mentions a photo, warn them before saving that only text is stored. It also implicitly covers the repeat-save case via the 10-minute dedupe note. But there is no explicit when-to-use versus save_generation_to_my_looks or update_my_look, which are the most likely routing confusions for an agent.

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