Skip to main content
Glama
hermoso-ai

Hermoso

Official

Search Meta ads

search_meta_ads
Read-only

Fetch structured Facebook and Instagram ads by keyword or specific advertiser to get ad copy, CTAs, links, and media in compact JSON for competitive research.

Instructions

Structured Meta (Facebook/Instagram) Ad Library pull — use when you know exactly WHAT to fetch: a keyword (query) OR one advertiser (companyName / pageId). Returns compact JSON {page_name, body, cta, link, dates, media} per ad. For open-ended research that needs judgment across platforms, use research_ads instead. Spends a credit or two.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNomax ads returned (1–25, default 8)
queryNokeyword search across ALL advertisers (use INSTEAD of companyName/pageId)
pageIdNoone advertiser’s ads by Facebook page id (most precise)
statusNoACTIVE = currently running; default ALL (includes proven past winners)
countryNo2-letter code or 'ALL' (default ALL)
mediaTypeNofilter by creative type (default ALL)
companyNameNoone advertiser’s ads by brand name

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": {
      -    "ads": {
      -      "description": "the compact ad objects ({page_name, body, cta, link, dates, media})",
      -      "items": {},
      -      "type": "array"
      -    },
      -    "found": {
      -      "description": "total ads found upstream",
      -      "type": "number"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  2. Addedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable non-obvious behavioral context: the operation spends credits and returns a compact JSON object with specific fields. It could also mention rate limits or failure behavior, but it exceeds what annotations alone provide.

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?

The description is four short sentences, front-loaded with the core purpose, then usage guidance, return shape, alternative, and cost. Every sentence earns its place and no information is redundant with the schema or annotations.

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?

Given 7 optional parameters with full schema documentation and no output schema, the description provides the key missing context: when to use it, what it returns, and that it costs credits. The only minor gap is not explicitly stating that at least one of query/companyName/pageId should be supplied, but the phrase 'use when you know exactly WHAT to fetch' strongly implies it.

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 the baseline is 3. The description adds useful grouping semantics by explaining the core choice between a keyword ('query') and one advertiser ('companyName / pageId'), which clarifies mutual exclusivity beyond the individual schema entries. It does not need to repeat the other field-level details already in the schema.

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 names the specific resource ('Meta (Facebook/Instagram) Ad Library'), the exact verb ('pull'), and the two supported fetch modes: a keyword or one advertiser. It also explicitly distinguishes itself from research_ads, making the tool's scope clear.

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?

It explicitly states when to use this tool ('when you know exactly WHAT to fetch') and when not to ('open-ended research that needs judgment across platforms'), and names the alternative (research_ads). This gives an agent unambiguous routing criteria.

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