Skip to main content
Glama

brand_read

Read a brand from its website and save it as the brand profile: name, logo, colours, voice, products, audiences, competitors and market white space. Free, takes 1 to 3 minutes. Start it with "url". It answers with a jobId: call this tool again with only "jobId" to follow it (each call waits up to 20 seconds for progress). When status is "done", call brand_profile. Reading again replaces the current profile, so only do it when the user asks or when brand_profile has nothing.

Input Schema

NameRequiredDescriptionDefault
urlNoThe brand website, e.g. "hookbird.ai", to start a read
jobIdNoThe jobId of a read that was started, to get its progress

Output Schema

NameRequiredDescriptionDefault
stepNo
errorNo
jobIdNo
labelNo
stepsNo
statusNo
partialNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations it discloses cost (free), latency (1–3 minutes), the async polling contract (each call waits up to 20 seconds), and the state side effect of overwriting an existing profile. That overwrite note is the kind of consequence annotations (destructiveHint=false) do not convey on their own.

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 paragraphs, front-loaded with what the tool does and how long it takes, then the call sequence, then the guardrail against redundant runs. No sentence is filler.

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?

With an output schema present, return values need no explanation, and the description covers the only non-obvious part of the contract: the async job handshake and handoff to brand_profile. Nothing an agent needs to invoke this correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so both parameters are already documented; the description adds the operational rule that the two are used in separate modes (start with "url", follow with "jobId" only). It stops short of clarifying what happens if both or neither are supplied.

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?

Specific verb+resource: reads a brand from its website and saves it as a profile, with the extracted facets enumerated (name, logo, colours, voice, products, audiences, competitors, white space). It is clearly distinct from the sibling brand_profile, which it names as the downstream consumer of the result.

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

Usage Guidelines5/5

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

Gives an explicit lifecycle: start with "url", poll with "jobId" only, and call brand_profile when status is "done". It also states the when-not condition — reading again replaces the current profile, so only do it when the user asks or when brand_profile is empty.

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