Skip to main content
Glama
hermoso-ai

Hermoso

Official

Research ads

research_ads
Read-only

Identify winning ad angles and competitor strategies across platforms when you need judgment-based research. Get a written synthesis comparing approaches, ideal for open-ended questions where sources aren't known upfront.

Instructions

Open-ended ad research that needs JUDGMENT across platforms — comparisons, "what angle is working", "who else is doing this", anything where the right sources are not known up front. It is an agentic loop (several rounds of library pulls plus a written synthesis) and typically takes 30-60 seconds, so it is the WRONG tool for a question that names its own answer. For one named brand’s live ads use pull_competitor_ads; for one keyword or one advertiser on Meta use search_meta_ads — both are a single call and return in a few seconds. Spends credits — an agentic loop, so a handful rather than the one-call cost of a targeted search.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
brandNobrand name or profile object to tailor the research to; omit to use the workspace’s saved brand
queryYeswhat to research, e.g. "the longest-running protein-pancake ads on Meta"

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.161
    • changedOutput schema / (root)
      Previous value: -{
      -  "$schema": "http://json-schema.org/draft-07/schema#",
      -  "additionalProperties": false,
      -  "properties": {
      -    "actions": {
      -      "description": "follow-up actions the research loop suggested"
      -    },
      -    "reply": {
      -      "description": "the research summary",
      -      "type": "string"
      -    },
      -    "results": {
      -      "description": "the found ads/videos (normalized card objects with served URLs)",
      -      "items": {},
      -      "type": "array"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  2. Addedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false. The description goes well beyond that by disclosing the agentic multi-round loop, written synthesis output, 30-60 second duration, and credit cost compared to a single targeted search. This gives the agent important operational expectations without contradicting annotations.

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 well-structured and front-loaded: the core purpose is in the first sentence, followed by usage boundaries and alternatives. It is slightly repetitive around 'agentic loop' and cost, appearing twice, but each sentence otherwise adds distinct value.

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 complex, open-ended, cost-incurring tool with no output schema, the description covers the key operational facts: exploratory nature, agentic loop, timing, credit cost, and alternatives. It does not detail the exact format of the 'written synthesis' output, but the description is otherwise sufficiently complete for an agent to decide when to invoke it.

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%, so the schema already documents both 'query' and 'brand' parameters, including the optional brand object and the saved-brand fallback. The tool description adds some contextual flavor (e.g., 'what to research') but no new parameter-level semantics beyond what the schema provides. Baseline 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 states a specific verb and resource ('Open-ended ad research that needs JUDGMENT across platforms') and clearly distinguishes itself from siblings like pull_competitor_ads and search_meta_ads. It conveys the tool's unique niche: exploratory, cross-platform research where the right sources are not known up front.

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?

The description explicitly says when to use it (open-ended comparisons, 'what angle is working', 'who else is doing this') and when NOT to use it ('the WRONG tool for a question that names its own answer'). It names concrete alternatives: pull_competitor_ads for one named brand's live ads, search_meta_ads for one keyword or advertiser on Meta.

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

Deploy Server

Other Tools