Skip to main content
Glama
dhawalshah

meta-ads-mcp

get_delivery_estimate

Get projected daily reach and impressions for an ad set to anticipate delivery performance and refine campaign strategies.

Instructions

Get projected delivery metrics (estimated daily reach and impressions) for an existing ad set. Args: adset_id: The ID of the ad set. optimization_goal: Override the optimization goal for the estimate, e.g. REACH, LINK_CLICKS. promoted_object: The object being advertised, e.g. {"page_id": "123"}. Returns: A dictionary containing daily_outcomes_curve with projected reach/impressions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
adset_idYes
promoted_objectNo
optimization_goalNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It does state the return contract ('dictionary containing daily_outcomes_curve') and that the metrics are projections. It does not mention error conditions, permissions, rate limits, or side effects, though the 'Get' verb implies a read operation.

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 compact and front-loaded, with a single purpose sentence followed by a concise Args/Returns list. Every sentence contributes useful information, and examples are woven in without redundancy. There is no filler or repetition of schema fields.

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 three-parameter read-only estimation tool with no annotations, the description covers the essential invocation needs: what it does, how to pass each parameter, and what to expect back. The main gaps are lack of explicit routing against sibling tools like get_reach_estimate and absence of error/edge-case expectations, but the core call is fully navigable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the parameters itself, and it does so well. adset_id is given a clear role, optimization_goal is defined as an override with concrete examples, and promoted_object includes a JSON example. This is strong compensation for an otherwise bare schema.

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 opens with a specific verb and resource: 'Get projected delivery metrics ... for an existing ad set.' It clearly states what is returned (estimated daily reach and impressions) and the target entity. It does not explicitly distinguish itself from the sibling get_reach_estimate, so it stops just short of top marks.

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 description gives useful context by saying the tool operates on an existing ad set and supports an optimization_goal override. However, it does not state when to prefer this tool over alternatives such as get_reach_estimate, nor does it give any when-not-to-use guidance. Usage is therefore only implied, not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.