Skip to main content
Glama

Meta Ad Library Spend MCP Demo by AdSpendSpy

Inspect an ad creative

get_ad_details
Read-onlyIdempotent

Public demo: Alex Hormozi only (page_id 116482854782233). Ad listings/details expose only approved public creatives; statistics describe this advertiser only. Retrieve one ad of an advertiser you actively track by its internal AdSpendSpy ad ID (internal_ad_id), not its Meta ad ID. Saved lists and favorites do not retain MCP ad access after you remove a tracked brand on the website.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "ad_id": "<ad_id>"
    },
    "name": "get_ad_details"
  }
}

Input Schema

NameRequiredDescriptionDefault
ad_idYesInternal AdSpendSpy ad ID (internal_ad_id in ad listings); never a Meta ad ID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / ad_id / description
      Previous value: -"Internal database ad ID from list_brand_ads.internal_ad_id; never a Meta ad ID."New value: +"Internal AdSpendSpy ad ID (internal_ad_id in ad listings); never a Meta ad ID."
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful access and scope context beyond that, including the public demo limitation, approved public creatives, advertiser-specific statistics, and loss of access after removing a tracked brand.

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?

The description is reasonably sized and contains no obviously wasted sentences. It is slightly front-loaded with demo and scope caveats before the core retrieval action, but each sentence contributes useful context.

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 simple read-only, single-parameter tool with annotations and no output schema, the description provides enough scope and access context to call it correctly. It does not describe return values or error behavior, but those gaps are minor given the tool's simplicity and the existing annotations.

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 the single ad_id parameter is already fully documented in the schema. The description reinforces that it is an internal AdSpendSpy ad ID and never a Meta ad ID, but adds no new syntax or format detail beyond the 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 clearly states a specific verb and resource: retrieve one ad by its internal AdSpendSpy ad ID. It distinguishes the ID type from Meta ad IDs, but it does not explicitly name or contrast sibling tools such as list_brand_ads or get_top_ads_stats.

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?

Usage is implied by the constraints: the ad must belong to an advertiser you actively track, and the ID must be internal_ad_id rather than a Meta ad ID. However, the description does not explicitly say when to choose this tool over the sibling listing or stats tools.

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