Skip to main content
Glama
hermoso-ai

Hermoso

Official

Search Meta ads

search_meta_ads

Find Meta (Facebook/Instagram) Ad Library ads by keyword, advertiser, or page ID to retrieve compact JSON ad details: copy, CTA, links, dates, and media.

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.3/5.0
Behavior4/5

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

Annotations cover the safety profile (destructiveHint=false, openWorldHint=true), so the bar is lower. The description adds two things annotations cannot: cost ('Spends a credit or two') and the return shape ({page_name, body, cta, link, dates, media}). It does not mention rate limits or result freshness, keeping it short of a 5.

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?

Three tightly packed clauses with zero filler and the core scoping rule front-loaded. The em-dash constructions and stacked alternatives make it dense, though nothing is redundant.

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?

With no output schema, the description helpfully names the returned fields, and it covers the alternative-tool routing and credit cost. It leaves the credit amount and result cap/freshness unstated, but those are minor for a filtered search tool.

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%, so every parameter is already documented, including the query-vs-companyName/pageId mutual exclusivity. The description's 'OR' phrasing mirrors what the schema says without adding format, syntax, or edge-case guidance. Baseline 3 applies.

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+resource ('Structured Meta (Facebook/Instagram) Ad Library pull') and immediately scopes it: a keyword query OR one advertiser. It names the sibling it is not (research_ads) for open-ended work, so an agent can disambiguate without opening either schema.

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?

Explicit when-to-use ('use when you know exactly WHAT to fetch: a keyword (query) OR one advertiser (companyName / pageId)') and explicit when-not ('For open-ended research that needs judgment across platforms, use research_ads instead'). The condition selecting the alternative is spelled out.

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