Skip to main content
Glama

Apogee: Bulk Ad Launcher for Meta, TikTok & Snapchat

List posts usable as Meta ads

list_posts
Read-onlyIdempotent

Existing Facebook and Instagram posts to run as Meta ads with their likes and comments. Existing posts a new ad can reuse, keeping their likes, comments and shares (create_ad_from_post):

  • source "ads" (default): the posts behind the ad account's ads (dark posts included), with the ads using each one: the usual "reuse my winning ad's post";

  • source "facebook": the page's published posts (page_id);

  • source "instagram": the posts of the page's Instagram account (page_id + instagram_account_id).

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_posts"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
cursorNonext_cursor of the previous page
sourceNo
page_idNosource facebook / instagram
campaign_idNosource ads: only this campaign's ads
ad_account_idNosource ads
instagram_account_idNosource instagram (list_instagram_accounts)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

While annotations already cover safety (readOnlyHint: true), the description adds crucial behavioral context like defining the scope of the 'ads' source, specifically noting that it includes 'dark posts'. This is valuable operational detail not in the schema.

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 use of bullet points and clear section headers makes the complex source differentiation highly readable. It is concise and structured to prioritize the agent's decision-making process.

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 the complexity of the conditional parameters, the description fully addresses the decision tree required for a correct invocation. No major behavioral or structural details are missing.

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?

The description adds significant meaning by explaining that the choice of the 'source' enum dictates which other IDs are applicable (e.g., page_id for facebook, ad_account_id for ads). This guides the agent on which parameters are semantically required based on the main choice.

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 tool clearly states its function: listing existing Facebook and Instagram posts specifically to be reused as Meta ads. The definition is specific and immediately tells the agent the application of the tool.

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 provides excellent guidance on when to use which specific parameter combination by detailing the three distinct sources: 'ads', 'facebook', and 'instagram', and what constitutes each source.

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.