list_ads
List ads from a Meta Ads account, ad set, or campaign. Pass account, ad set, or campaign ID to get ad ID, name, creative, and status.
Instructions
List ads. Pass either ad_account_id (all ads in account), adset_id (ads in one ad set), or campaign_id (ads in a campaign). Returns id, name, adset_id, creative, status.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad_account_id | No | ||
| adset_id | No | ||
| campaign_id | No | ||
| limit | No | ||
| after | No | ||
| effective_status | No | ||
| fields | No |
Implementation Reference
- src/tools/ads.ts:29-48 (handler)The handler function for list_ads. It determines the parent entity (ad_account_id, adset_id, or campaign_id) and calls metaGet to fetch ads from the Meta Graph API.
handler: async (args) => { const parent = args.adset_id ? String(args.adset_id) : args.campaign_id ? String(args.campaign_id) : args.ad_account_id ? toAdAccountPath(String(args.ad_account_id)) : null; if (!parent) { throw new Error( "Must provide one of: ad_account_id, adset_id, or campaign_id.", ); } return metaGet(`/${parent}/ads`, { fields: args.fields ?? DEFAULT_AD_FIELDS, limit: args.limit ?? 100, after: args.after, effective_status: args.effective_status, }); }, - src/tools/ads.ts:20-28 (schema)Input schema for list_ads defining optional parameters: ad_account_id, adset_id, campaign_id, limit, after, effective_status, and fields.
inputSchema: { ad_account_id: z.string().optional(), adset_id: z.string().optional(), campaign_id: z.string().optional(), limit: z.number().int().positive().max(500).optional(), after: z.string().optional(), effective_status: z.array(z.string()).optional(), fields: z.string().optional(), }, - src/tools/ads.ts:14-16 (registration)The ToolDef array 'adTools' containing the list_ads tool definition with name, description, inputSchema, and handler.
export const adTools: ToolDef[] = [ { name: "list_ads", - src/index.ts:47-51 (registration)All tools (including adTools) are spread into the allTools array and registered via server.registerTool in a loop.
const allTools: ToolDef[] = [ ...accountTools, ...campaignTools, ...adsetTools, ...adTools,