Skip to main content
Glama

Create a brand from a website

create_brand

Create a saved brand from a website URL by crawling the site for logo, colors, tone, and value props; ingestion runs in the background for later video generation.

Instructions

Create a saved brand by ingesting a website URL. EzUGC crawls the site and extracts brand DNA (logo, colors, tone, value props). Ingestion runs in the background; poll the brand status. After it's ready, use generate_brand_video.

Input Schema

NameRequiredDescriptionDefault
websiteUrlYesThe brand's website, e.g. https://acme.com

Output Schema

NameRequiredDescriptionDefault
brandYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, destructiveHint=false, so the safety profile is covered; the description adds the genuinely new behavior that ingestion is asynchronous and must be polled. It also discloses what the crawl produces. It doesn't say whether a failed crawl leaves a partial brand, or whether re-creating with the same URL errors or duplicates.

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 short sentences, front-loaded with the action and its mechanism, then the async caveat, then the next step. No filler or restatement of the title.

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?

An output schema exists, so return values needn't be explained, and the async behavior is called out. The one gap is that "poll the brand status" names no tool in a sibling list that contains get_brand, get_job and list_jobs, leaving the agent to guess which to poll.

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 coverage is 100% with a single required `websiteUrl` that already carries a format and example, so the schema does the work. The description only characterizes the URL as "the site" to be crawled, adding no format or constraint detail beyond that.

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?

States a specific verb and resource ("Create a saved brand") plus the mechanism ("ingesting a website URL") and the derived artifact (brand DNA: logo, colors, tone, value props). This distinguishes it cleanly from read-side siblings like get_brand, list_brands and from the downstream generate_brand_video.

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?

Gives clear post-call sequencing: "Ingestion runs in the background; poll the brand status" and "After it's ready, use generate_brand_video." What's missing is the negative case — it never says to use get_brand/list_brands instead when the brand already exists, so an agent could re-create a duplicate.

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