Skip to main content
Glama
hermoso-ai

Hermoso

Official

Save ads to the swipefile

save_to_swipefile
Idempotent

Save ads and creatives to a named Swipefile collection, creating it if missing. Use during research to keep competitor ads, posts, or renders; re-saving moves an ad instead of duplicating.

Instructions

Save one or more ads/creatives to a named SWIPEFILE collection, creating the collection if it does not exist — the headless twin of the ♥ on every ad card in the web app. Use it whenever research turns up something worth keeping: a competitor ad from search_meta_ads / pull_competitor_ads, an organic post, or one of your own renders. Saved ads persist to the workspace board the web Swipefile tab shows, and feed the taste signal every future ad is planned against. De-dupes: re-saving the same ad (same key/link/media) MOVES it into the named collection instead of duplicating it. Free.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYesthe ads to save
collectionYesthe collection name — an existing one, or a new one to create
Behavior4/5

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

Annotations already indicate idempotentHint=true, but the description adds valuable behavioral detail: creates the collection if missing, de-dupes by moving rather than duplicating, and is free. It explains persistence and downstream effects on future ad planning. No contradiction with annotations. It stops short of describing error conditions or return values, but the added context is strong.

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

Conciseness4/5

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

The description is information-dense, with each sentence carrying meaning: action, analogy, usage scenarios, persistence effect, dedupe behavior, and cost. It's longer than minimal but justified by the tool's complexity. The front-loading is good — the primary action and analogy come first. The final 'Free' is slightly extraneous but harmless.

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 tool with no output schema, the description covers the core aspects: what it does, when to use, behavioral details (creation, dedupe, persistence), and root sources. It lacks explicit error handling or return value info, but given that it's a save operation with idempotency hints, this is acceptable. It sufficiently equips an agent to call it correctly.

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% for both `items` and `collection`, giving baseline 3. The description adds context about the collection being named and creatable, and clarifies the items array types with examples, but does not introduce parameter syntax beyond the schema. It adds nothing critical about the parameters themselves, so a 3 is appropriate.

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 specific verb+resource ('Save one or more ads/creatives to a named SWIPEFILE collection') and immediately distinguishes itself from siblings by noting it's the 'headless twin of the ♥ on every ad card' — clear differentiation from list_swipefile and export_swipefile_deck. The purpose is singular and unambiguous.

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?

Explicitly states when to use it: 'Use it whenever research turns up something worth keeping' and lists concrete sources (competitor ad from search_meta_ads / pull_competitor_ads, organic post, own renders). It does not name alternative tools or say when not to use it, but the context is clear enough that an agent can decide. It also explains downstream effects (persists to workspace board, feeds taste signal).

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hermoso-ai/hermoso'

If you have feedback or need assistance with the MCP directory API, please join our Discord server