Skip to main content
Glama

list_ads

Retrieve ads from a Meta ad account and filter by campaign, ad set, or status to review or manage specific ad results.

Instructions

List ads in the ad account. Optionally filter by campaign, ad set, or status.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_ads"
  }
}

Input Schema

NameRequiredDescriptionDefault
afterNoPagination cursor for next page
limitNoNumber of results (default 25)
fieldsNoComma-separated fields to return
statusNoFilter by status: ACTIVE, PAUSED, DELETED, ARCHIVED
adset_idNoFilter by ad set ID
account_idNoAd account ID to query (e.g. 'act_123' or '123'). Falls back to META_AD_ACCOUNT_ID env var if omitted.
campaign_idNoFilter by campaign ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.6.1
    • addedInput schema / properties / account_id
      Added value: +{
      +  "description": "Ad account ID to query (e.g. 'act_123' or '123'). Falls back to META_AD_ACCOUNT_ID env var if omitted.",
      +  "type": "string"
      +}
  2. First observedv1.2.0

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, yet it only states the listing action. It does not mention that this is a read-only operation, whether pagination is automatic, what permissions are required, or any other behavioral trait beyond what the schema already provides.

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 two short sentences with zero waste, and the main purpose is front-loaded before the optional filtering note. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal but adequate for a list tool whose parameter details are fully covered by the schema. However, with no annotations or output schema, it should provide more context about the read-only nature, return format, and pagination to be complete.

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 all seven parameters are already documented in detail. The description mentions filtering by campaign, ad set, or status, which corresponds to some parameters, but adds no syntax, format, or fallback details beyond what the schema already specifies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb 'List' and resource 'ads' within the ad account, making the core operation clear. However, it does not differentiate from sibling tools like get_campaign_ads or get_adset_ads that also retrieve ads, so an agent cannot tell when to use this account-level list versus a nested one without inspecting schemas.

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

Usage Guidelines3/5

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

The phrase 'Optionally filter by campaign, ad set, or status' implies how to narrow results, but there is no explicit guidance on when to use this tool versus alternatives such as get_campaign_ads. No when-not conditions or prerequisites are provided.

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