Skip to main content
Glama

Report Meta ads

report_meta_ads

Mirror one Facebook ad account's ads WITHOUT a Graph token — id, status, effective status, Meta's review feedback (why an ad was rejected), creative thumbnail — what the Torvex browser extension reads from a logged-in Ads Manager session on its health timer. Lands under the same tokenless Meta profile as register_meta_cabinet; an ad already mirrored that flips into DISAPPROVED / WITH_ISSUES raises an 'ad rejected' notice to the profile owner. The list is the cabinet's complete live-ad list: ads missing from a non-partial report are dropped from the mirror.

Input Schema

NameRequiredDescriptionDefault
adsYes
fb_userYes
partialNotrue on every chunk but the last when one cabinet is split over several requests (no pruning)
ad_account_idYesFB ad account id (with or without act_)

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only say write/no-destroy/non-idempotent; the description adds real behavior: data provenance (tokenless browser session), where records land (same Meta profile as register_meta_cabinet), the side effect of raising an 'ad rejected' notice when an ad flips to DISAPPROVED/WITH_ISSUES, and the pruning rule that drops ads absent from a non-partial report. The pruning disclosure is notable given destructiveHint=false, but it is explicitly stated rather than hidden, so the agent is not misled.

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?

Front-loaded with the key distinction (no Graph token) and structured as payload → destination → side effect → pruning semantics, with no filler sentences. The em-dash chain is dense and slightly run-on, costing a point on readability.

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 mutation tool with a nested 3-required-param payload and no output schema, the description covers provenance, destination, side effects, and pruning conditions. It doesn't state what the call returns or how errors surface, which is the main remaining gap given the absent output schema.

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 50% and the nested 'ads' items are largely undocumented, but the description compensates by naming the fields actually mirrored (id, status, effective status, review feedback, thumbnail). It also clarifies that 'partial' suppresses pruning, adding meaning beyond the schema's terse note.

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 ('Mirror') plus resource ('one Facebook ad account's ads'), with the differentiator front-loaded: 'WITHOUT a Graph token', sourced from a browser extension reading a logged-in Ads Manager session. The enumerated payload (id, status, effective status, review feedback, creative thumbnail) separates it cleanly from report_meta_ad_stats and report_meta_adsets without opening their schemas.

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?

Explains the operational context (extension health timer pushing data) and the chunking rule via 'non-partial report', which tells the caller when pruning applies. It never explicitly names a sibling alternative (e.g. 'use report_meta_ad_stats for metrics'), so routing is inferable from the field list rather than stated.

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