Skip to main content
Glama
hermoso-ai

Hermoso

Official

Create a Meta product catalog

create_meta_catalog

Create a Meta product catalog on a specific business portfolio for Advantage+ ads. Set the permanent vertical and owning portfolio, with duplicate-name prevention to avoid indistinguishable twins.

Instructions

Create a NEW product catalog on one of the merchant’s Meta business portfolios. A catalog is the input to Advantage+ catalog ads (dynamic product ads) — build it first, then fill it from the merchant’s feed or Shopify, then point a campaign at it. Name the owning portfolio EITHER by its numeric businessId OR by businessName, exactly as list_meta_catalogs prints it (“DMDB Group”) — a name that matches no portfolio, or more than one, is refused BY NAME with the portfolios that really exist and their ids, never guessed, and it never falls back to “the only portfolio”. Vertical defaults to commerce and CANNOT be changed afterwards, nor can the owning portfolio, so both are worth getting right the first time. IMPORTANT — META DOES NOT REFUSE A DUPLICATE NAME: it silently creates a SECOND catalog with the same name and nothing to tell the two apart, so Hermoso refuses a name the portfolio already uses and tells you the existing id (if a previous create seemed to fail, that id is very likely the catalog it actually made). Pass allowDuplicateName:true if you genuinely want a twin. The confirmation is READ BACK from Meta — its create returns only an id, so the name, vertical and portfolio in the summary were fetched, not echoed. Free, 0 credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYeswhat to call the catalog
verticalNothe catalog’s industry (default commerce). PERMANENT — Meta publishes no way to change it after creation.
businessIdNonumeric business-portfolio id that will OWN the catalog (from list_meta_catalogs). Meta will not let a catalog move to another portfolio later. A portfolio NAME is accepted here too and is resolved server-side.
businessNameNothe owning business portfolio by NAME instead of by id, exactly as list_meta_catalogs prints it (e.g. "DMDB Group"). Unknown or ambiguous names are refused with the real ids rather than guessed. Give this or businessId.
allowDuplicateNameNocreate it even though the portfolio already has a catalog with this name. Off by default: Meta would build an indistinguishable twin without complaining.
Behavior5/5

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

The description goes far beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false) by disclosing numerous behavioral traits: it refuses ambiguous or unknown portfolio names by listing real portfolios, never guesses, will not let vertical or owning portfolio be changed later, and Meta silently allows duplicate names — prompting Hermoso to preemptively refuse duplicates and report the existing id. It also explains that the confirmation is read back from Meta (only an id returned) and that the tool is free. These are critical non-obvious behaviors that an agent must know to use the tool correctly, and the description provides them all.

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 relatively long but every sentence carries essential information—no filler. It is logically structured: starts with the purpose, then covers portfolio identification (with exact matching rules), then the permanence of vertical/portfolio, then the critical duplicate-name nuance, then response confirmation, and finally cost. The use of 'IMPORTANT' highlights the most critical warning. While it could be tightened, the density is justified for the complexity of the tool.

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 tool with 5 parameters, one enum, and nuanced external behavior, the description is remarkably complete. It covers the full workflow, edge cases (ambiguous/unknown names, duplicate names), permanence constraints, the response format (read back from Meta with only an id), and the credit cost. There is no output schema, but the description adequately explains what the confirmation is. Nothing an agent needs to invoke this tool correctly is missing.

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

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds substantial meaning beyond the schema. It clarifies that businessId and businessName are alternative ways to specify the owning portfolio and explains how names are resolved (exactly as printed by list_meta_catalogs, refused if ambiguous). It emphasizes that vertical defaults to commerce and is permanent, and explains the purpose and default of allowDuplicateName. This goes well beyond the schema descriptions, which are terse; the description effectively teaches the agent how to use each parameter correctly.

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 clearly states it creates a NEW product catalog on a Meta business portfolio, with a specific verb and resource. It explicitly positions it as the first step in Advantage+ catalog ads ('build it first, then fill it... then point a campaign at it'), which distinguishes it from sibling tools like list_meta_catalogs, update_meta_catalog, and delete_meta_catalog. The purpose is unambiguous and includes context on how it fits into a workflow.

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?

The description gives clear context on when to use the tool (create a catalog before filling it with products) and references list_meta_catalogs for obtaining portfolio identifiers, implicitly distinguishing itself from that read-only tool. However, it does not explicitly contrast with update_meta_catalog or delete_meta_catalog, nor does it state 'use this instead of X when...' — though the distinction is obvious given the create/update/delete split. The detailed guidance on naming portfolios and duplicate handling effectively covers the 'when' and 'how' but lacks an explicit 'when not to use' alternative.

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