Skip to main content
Glama

Adbloop Meta Ads

Server Details

Meta Ads MCP: bulk-create Facebook & Instagram ads across accounts from Drive folders, guardrailed.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 3.9/5 across 23 of 23 tools scored. Lowest: 2.7/5.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes, but creation tools (create_campaign, bulk_create_campaigns, create_structured, add_ad_to_adset) overlap in scope, potentially causing misselection. However, descriptions clarify differences.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, such as 'bulk_create_campaigns', 'get_insights', 'pause_campaigns'. No mixing of conventions.

Tool Count4/5

23 tools cover the Meta Ads domain well, but the count is slightly high. Most tools are justified, though some could be merged (e.g., creation variants).

Completeness3/5

Core CRUD is covered for campaigns and ads, but there is no tool to create an ad set independently (only via create_structured). Creative editing and standalone ad set creation are missing, leaving notable gaps.

Available Tools

23 tools
add_ad_to_adsetAInspect

Add a NEW ad (with creative) to an EXISTING ad set. Created PAUSED. Accepts either an existing creative_id, a library image_hash (this is where saved library creatives CAN be used), or ad copy fields. WRITES live.

ParametersJSON Schema
NameRequiredDescriptionDefault
ctaNoe.g. LEARN_MORE
ad_nameNo
page_idNo
adset_idYes
headlineNo
image_hashNoUse a saved library creative's image_hash — supported here (unlike bulk-create).
creative_idNoUse an existing Meta creative as-is.
descriptionNo
website_urlNo
primary_textNo
meta_account_idNo
Behavior4/5

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

The description discloses key behaviors: created PAUSED, WRITES live, and accepts three creative sources. This adds value over annotations (only readOnlyHint false) by specifying state and write impact. However, it does not cover error handling or behavior with conflicting inputs.

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?

Two sentences, front-loaded with action and key constraints (paused, write live, creative options). Every sentence adds essential information without redundancy.

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

Completeness2/5

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

Despite covering purpose and creative options, the description omits details on most parameters, return values (e.g., ad ID), prerequisites (e.g., adset must exist), and potential errors. For a tool with 11 parameters and no output schema, this is insufficient.

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

Parameters2/5

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

Schema description coverage is only 27% (3 of 11 parameters described). The description mentions three ways to provide creative but does not explain the other 8 parameters (ad_name, page_id, etc.). It groups 'ad copy fields' vaguely without mapping to schema properties, leaving significant gaps.

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 description clearly states it adds a new ad to an existing ad set, specifies it is created paused, and lists creative options. The verb 'add', resource 'ad to adset', and scope are precise, distinguishing it from bulk operations.

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 implies usage context (add single ad to existing ad set) but does not explicitly compare to alternatives like bulk creation tools, nor provides when-not guidance. The sibling list contains no direct equivalent, so implicit use is clear but not formally guided.

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

bulk_create_campaignsAInspect

Create many Meta campaigns at once on ONE account (rate-limit-safe, validated). WRITES live. Honors plan limits, spend guardrails, and capacity. Auto-uses the correct Page/Instagram/pixel. Each campaign needs an imageUrl (public image, or Drive/Dropbox share link).

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
page_idNo
pixel_idNo
campaignsYes
catalogIdNo
productSetIdNo
meta_account_idNo
instagram_account_idNo
Behavior4/5

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

Beyond the readOnlyHint annotation (false, indicating writes), the description adds 'WRITES live', 'rate-limit-safe, validated', and 'Honors plan limits, spend guardrails, and capacity'. This provides behavioral context not in annotations, though it could detail error handling.

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?

Three sentences, front-loaded with main purpose. Concise but could be structured better for readability.

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?

No output schema and complex bulk creation. Description mentions validation and limits but lacks explanation of return values, partial failure behavior, or full parameter details. Adequate but not thorough.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate. It mentions imageUrl and its source types, and hints at auto-used Page/Instagram/pixel, but does not explain other top-level parameters (confirm, catalogId, etc.). The mention of imageUrl as needed contradicts the schema where it is not required.

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 description clearly states 'Create many Meta campaigns at once on ONE account', specifying the verb and resource. It distinguishes from sibling tools like 'create_campaign' (single) and 'bulk_create_multi_account' (multi-account) by emphasizing single account and bulk nature.

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

Usage Guidelines4/5

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

It provides context on when to use: when creating multiple campaigns on one account, with assurances of rate-limit safety and validation. It implies but does not explicitly state when to use alternatives (e.g., single creation).

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

bulk_create_multi_accountAInspect

Launch the SAME campaign set across MULTIPLE ad accounts in one call (up to 5 accounts; chain calls for more). Each account gets its own currency-aware guardrails, capacity check (throttled accounts are skipped, not hammered), and correct Page/Instagram/pixel. WRITES live.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
campaignsYes
account_idsYesUp to 5 Meta ad account IDs.
Behavior5/5

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

Discloses that it writes live (non-readOnly), performs capacity checks, skips throttled accounts (not hammered), and applies currency-aware guardrails. These details add significant value beyond the readOnlyHint=false annotation.

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?

Four sentences, each adding value: purpose + limit, behavioral details for each account, specific aspects (guardrails, capacity), and write emphasis. No fluff.

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?

Covers core constraints (account limit, throttled skip, guardrails) but lacks details on return value, error handling, confirmation parameter, and chain mechanism. Acceptable given complexity.

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

Parameters2/5

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

Schema description coverage is only 33%, and the tool description does not explain parameter syntax or semantics beyond what's in the schema. It mentions the account limit but does not clarify the confirm parameter or campaign structure details.

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 description clearly states it launches the same campaign set across multiple ad accounts, with explicit limits (up to 5 accounts). It distinguishes from siblings like bulk_create_campaigns (single account) and create_campaign (single campaign).

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

Usage Guidelines4/5

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

Provides clear context: use for launching same campaigns across multiple accounts, with account limit and chain calls for more. Mentions throttled accounts are skipped. Lacks explicit exclusions or alternatives to other tools, but overall usage is clear.

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

check_capacityA
Read-only
Inspect

Check an ad account's current Meta API rate-limit headroom BEFORE a bulk run. Read-only. Returns GO/TIGHT/SPLIT/WAIT_OR_SPLIT/WAIT + utilization + regain minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_countNo
meta_account_idYes
Behavior4/5

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

Description declares read-only, consistent with readOnlyHint annotation. Also specifies return values (GO/TIGHT/SPLIT/WAIT_OR_SPLIT/WAIT + utilization + regain minutes), adding behavioral detail beyond annotations.

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?

Two sentences front-loaded with purpose and return values. No wasted words. Could add parameter details without losing conciseness.

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?

With no output schema and 0% schema coverage, description provides purpose, usage context, and return format but omits parameter details. Adequate for a simple tool but incomplete regarding inputs.

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

Parameters2/5

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

Schema has 0% description coverage, so description must compensate. However, description does not explain the parameters (meta_account_id, campaign_count). campaign_count is left unexplained, which is a significant gap.

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?

Description explicitly states verb (check), resource (ad account's Meta API rate-limit headroom), and context (before a bulk run). Clearly distinguishes from sibling tools by focusing on capacity checking.

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

Usage Guidelines4/5

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

States explicit usage context ('BEFORE a bulk run') and read-only nature. No explicit when-not-to-use or alternatives, but context implies appropriate usage.

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

create_campaignAInspect

Create ONE Meta campaign (created PAUSED for review). Free-plan friendly — counts toward your monthly campaign limit. To launch many at once or from a Drive folder, use bulk_create_campaigns (Pro). Needs a public imageUrl (or Drive/Dropbox share link) for image ads. WRITES live.

ParametersJSON Schema
NameRequiredDescriptionDefault
useCBONo
headlineNo
imageUrlNoImage for the ad. Paste a PUBLIC https image URL, OR a single Google Drive / Dropbox file share link (shared so 'Anyone with the link can view') — these are auto-converted. For a single campaign, ask the user for ONE image's share link. (Listing a whole Drive folder to spin up one campaign per image is a Pro feature.)
videoUrlNo
cboBudgetNo
ctaButtonNo
objectiveYes
websiteUrlNo
dailyBudgetNo
descriptionNo
primaryTextNo
campaignNameYes
meta_account_idNoAd account to create on (defaults to your primary).
performanceGoalNo
conversionLocationNo
Behavior4/5

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

The description adds behavioral context beyond annotations: the campaign is created paused, counts toward monthly limit, and requires a public imageUrl or share link. It also mentions auto-conversion for Drive/Dropbox links. Annotations already signal write (readOnlyHint=false), but description enriches with specific creation behavior.

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 concise with three sentences, each serving a purpose: first states the core action and paused state, second mentions plan and limit, third adds critical input requirement. No redundant phrases, well front-loaded.

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?

Given the tool's complexity (15 parameters, no output schema), the description covers essential purpose and key parameter nuance (imageUrl), but lacks details on return values, error handling, or behavior of optional parameters like videoUrl or useCBO. It is adequate but not fully comprehensive.

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 low (13%). The description provides meaningful extra context for the imageUrl parameter (public URL or share link, auto-conversion). However, most other parameters (e.g., objective, budget) lack additional explanation beyond schema enums, so the description doesn't fully compensate for low coverage.

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 description clearly states it creates a single Meta campaign in a paused state. It explicitly mentions 'Create ONE Meta campaign (created PAUSED for review)' and contrasts with bulk_create_campaigns for multiple campaigns, making the purpose distinct from siblings.

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

Usage Guidelines4/5

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

The description provides clear guidelines: it's for single campaign creation, free-plan friendly, and counts toward monthly limit. It explicitly refers to bulk_create_campaigns for multiple creation. However, it lacks explicit 'when not to use' scenarios beyond the alternative tool.

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

create_structuredAInspect

Create ONE campaign with MULTIPLE ad sets and MULTIPLE ads each (1 campaign -> N ad sets -> M ads), image or video, including DPA/Catalog dynamic product ads. Created PAUSED. Honors spend guardrails. Pro feature. WRITES live.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignsYesOne or more structured campaigns (usually one).
meta_account_idNoAd account (defaults to primary).
Behavior5/5

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

The description adds significant behavioral context beyond the readOnlyHint annotation: campaigns are created PAUSED, respects spend guardrails, is a pro feature, and writes live data. No contradictions with annotations.

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 exceptionally concise: two sentences front-loading the core structure, then additional key details (PAUSED, guardrails, pro feature). Every sentence adds value with no redundancy.

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?

Given the tool's complexity (nested schemas) and no output schema, the description covers the primary structure and constraints. It does not explain error behavior or guardrail limits, but overall is sufficient for an agent to select and invoke the tool correctly.

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 description does not need to repeat parameter details. The description mentions image/video and DPA, but these are already covered in the schema. No additional semantic depth beyond schema.

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 description clearly states the tool creates ONE campaign with multiple ad sets and multiple ads, specifying supported types (image, video, DPA/catalog). The verb 'Create' and resource 'structured campaign' are explicit, distinguishing it from simpler or bulk creation tools.

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

Usage Guidelines4/5

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

The description implies usage for complex campaign structures (1:N:M) and includes DPA support. It notes the campaign is created PAUSED and honours spend guardrails, but does not explicitly state when to use this tool vs. alternatives like 'create_campaign' or 'bulk_create_campaigns'. Still, context from sibling tools helps differentiation.

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

delete_campaignsA
Destructive
Inspect

PERMANENTLY delete campaigns/ad sets/ads by ID. Irreversible — requires confirm:true. Use pause instead if unsure.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true — deletion is permanent.
campaign_idsYes
meta_account_idNo
Behavior5/5

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

Aligns with annotations (destructiveHint=true). Adds context: irreversible, requires confirm:true, and permanent nature.

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?

Two sentences convey purpose, irreversibility, and alternative succinctly with no waste.

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?

Covers key deletion behavior but lacks detail on account-level parameters and output, given no output schema and moderate complexity.

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

Parameters2/5

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

Only mentions confirm parameter and its requirement. With 33% schema coverage, description fails to explain campaign_ids or meta_account_id.

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?

Description clearly states it permanently deletes campaigns/ad sets/ads by ID, distinguishing it from pause or resume siblings.

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

Usage Guidelines4/5

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

Explicitly advises using pause instead if unsure, giving clear alternative. Could further specify scenarios for deletion.

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

estimate_bulk_createA
Read-only
Inspect

Estimate how long bulk creation will take for N campaigns. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
countYes
Behavior3/5

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

The description adds 'Read-only' which is already covered by the readOnlyHint annotation. It adds the context that this is an estimate, but does not disclose other behaviors like required permissions or what happens with invalid count values. No contradiction with annotations.

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?

Two sentences, no wasted words. Purpose is front-loaded and immediately actionable. Every sentence adds essential information.

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 tool with one parameter and a readOnly annotation, the description is fairly complete: it states purpose, parameter meaning, and safety. However, it does not describe the return format (time estimate), which would be helpful given no output schema.

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 single parameter 'count' has no schema description (0% coverage), but the description adds meaning by stating 'for N campaigns', clarifying that count represents the number of campaigns. This compensates for the schema gap, though bounds or defaults are not specified.

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 description clearly states the tool estimates time for bulk creation of N campaigns. It uses a specific verb ('estimate') and resource ('bulk creation time'), distinguishing it from siblings like 'bulk_create_campaigns' which actually perform the creation.

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 says 'Read-only' implying no side effects, but lacks explicit guidance on when to use this tool versus alternatives like 'bulk_create_campaigns'. It is implied that this is for previewing time before executing bulk create, but no when-not or alternative names are mentioned.

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

get_ad_accountsA
Read-only
Inspect

List the Meta ad accounts connected to this Adbloop user, with the Page NAME + Instagram username + pixel each account uses. Use this to resolve a spoken account/page name to IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint: true, so the description does not need to restate that. The description adds value by specifying the returned fields (Page NAME, Instagram username, pixel), which goes beyond the schema. No contradictions with annotations.

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?

Two sentences, no wasted words. The first sentence states the action and output details; the second gives the use case. Front-loaded and efficient.

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?

Given no output schema, the description explains the return values (Page NAME, Instagram username, pixel). For a simple list tool, this is adequate. It could mention pagination or filtering, but the tool has no parameters and is likely a straightforward list, so completeness is high.

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 tool has 0 parameters and schema coverage is 100% (trivially). The description does not need to explain parameters. It correctly focuses on the output behavior, which is appropriate for a parameterless tool.

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 description clearly states the tool lists Meta ad accounts connected to the user, including specific details (Page NAME, Instagram username, pixel). It also provides a concrete use case (resolving spoken account names to IDs), distinguishing it from sibling tools that work with campaigns, adsets, etc.

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

Usage Guidelines4/5

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

The description explicitly suggests using the tool to resolve spoken account/page names to IDs, giving clear context. While it doesn't list exclusions or alternative tools, the read-only annotation and sibling list make it sufficiently clear that this is for account listing only.

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

get_campaign_structureA
Read-only
Inspect

Full tree of one campaign: its ad sets and every ad inside each. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idYes
meta_account_idNo
Behavior4/5

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

Annotations provide readOnlyHint=true, and the description adds 'Read-only' and clarifies the hierarchical nature of the output (ad sets and ads inside each), which adds value beyond the annotation.

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 a single sentence that efficiently communicates the core purpose and behavior with no unnecessary words.

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 tool with two parameters and no output schema, the description covers the essential purpose and behavioral trait. However, it could mention error cases or default behavior.

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

Parameters2/5

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

The description does not mention any parameters, and schema description coverage is 0%. While it implies campaign_id is needed, it fails to explain the purpose of meta_account_id or provide context for either parameter.

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 description clearly states the tool retrieves the full tree of a campaign including all ad sets and ads. It uses specific verb 'get' and resource 'campaign structure', distinguishing it from siblings like list_campaigns, list_adsets, and list_ads.

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 implies the tool is for exploring hierarchical campaign structure but does not explicitly state when to use it versus alternatives, nor does it mention any preconditions or limitations.

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

get_creative_libraryA
Read-only
Inspect

List the user's saved creatives. NOTE: image_hash works with add_ad_to_adset, but bulk_create_campaigns needs a public imageUrl (or Drive/Dropbox link). Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior3/5

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

The annotation already declares readOnlyHint=true, and the description reiterates 'Read-only' without adding new behavioral details beyond the image_hash/imageUrl note. More context (e.g., pagination, rate limits) would improve transparency.

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 concise (two sentences), front-loaded with the purpose, and includes a relevant note. Every sentence adds value with no redundancy.

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?

Given the simple input schema and no output schema, the description adequately states the purpose and adds a useful note about the output format. However, it lacks details on pagination, ordering, or authentication, leaving some gaps for a complete understanding.

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

Parameters2/5

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

The input schema has one parameter ('limit') with 0% description coverage, and the tool description does not explain it. The meaning of 'limit' may be inferred, but the description fails to compensate for the lack of schema documentation.

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 description clearly states 'List the user's saved creatives' with a specific verb and resource. The note about image_hash vs imageUrl provides context that differentiates this tool from siblings like add_ad_to_adset and bulk_create_campaigns.

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 implies usage context by mentioning how the output (image_hash vs imageUrl) relates to other tools, but it does not explicitly state when to use or not use this tool, or provide clear alternatives. The guidance is indirect.

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

get_guardrailsA
Read-only
Inspect

View the spend safety limits for an account. Read-only. Editable only by the owner in Adbloop settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
meta_account_idNo
Behavior4/5

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

The description accurately states read-only behavior, matching the readOnlyHint annotation, and adds that only the owner can edit via settings. This provides additional behavioral context beyond annotations.

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?

Two concise sentences front-load the action and include key constraints. No unnecessary words or irrelevant details.

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 covers the basic action and read-only nature but lacks details on return values or what 'spend safety limits' entails. Given no output schema, this omission reduces completeness for a tool with one parameter.

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

Parameters2/5

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

The single parameter 'meta_account_id' has no description in the schema (0% coverage), and the description does not explain its purpose or format beyond referencing 'an account'. This leaves meaning unclear for the agent.

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 description clearly states the tool views spend safety limits for an account, using a specific verb and resource. Among siblings focused on campaigns and ads, this tool's purpose is distinct and unambiguous.

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 mentions it is read-only and editable only by the owner in settings, implying when not to use for editing, but does not explicitly state when to use this tool versus alternatives or provide usage context.

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

get_insightsB
Read-only
Inspect

Rate-limit-safe Meta performance metrics (spend, impressions, clicks, CTR, leads, purchases, ROAS). Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNo
limitNo
sinceNo
untilNo
campaign_idNo
date_presetNo
meta_account_idNo
Behavior4/5

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

Annotations already declare readOnlyHint=true. The description adds value by stating the tool is rate-limit-safe and enumerating the metrics returned, which helps set expectations beyond the annotation.

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 a single, front-loaded sentence with no superfluous words. However, given the parameter count, some elaboration on parameters could be justified without harming conciseness.

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

Completeness2/5

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

Despite the clear purpose and behavioral hints, the description fails to address the 7 parameters (none required) and lacks any output schema, making it incomplete for agents to successfully invoke the tool without external knowledge.

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

Parameters1/5

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

The input schema has 7 parameters with no descriptions (0% coverage). The tool description does not explain any parameter meanings, usage, or required fields, leaving agents without guidance on how to set up requests.

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 description clearly states the tool retrieves Meta performance metrics and lists specific metrics (spend, impressions, clicks, etc.). The name 'get_insights' matches, and no sibling tool appears to serve the same purpose.

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

Usage Guidelines2/5

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

The description mentions 'Rate-limit-safe' but does not explicitly guide when to use this tool versus alternatives. No exclusions or alternative tool references are provided.

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

get_lead_formsB
Read-only
Inspect

List the lead-gen forms available on a Facebook Page (for OUTCOME_LEADS campaigns). Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYes
meta_account_idNo
Behavior3/5

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

The annotations already declare readOnlyHint=true, and the description redundantly states 'Read-only'. While this adds confirmation, it provides no additional behavioral details such as pagination, error handling, or rate limits. For a read-only tool with annotations, this is adequate but minimal.

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 concise (two sentences) and front-loaded with the action. However, it could be structured to include parameter hints or output notes without lengthening much. Still, it is efficient and to the point.

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

Completeness2/5

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

Given the lack of an output schema and two parameters, the description fails to provide complete context. It does not describe the return format, pagination, or the role of meta_account_id. The tool is simple, but the description leaves key gaps for an agent.

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

Parameters2/5

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

With 0% schema description coverage, the description should add meaning to the parameters. It mentions 'Facebook Page', which hints at page_id, but does not explain meta_account_id or provide any parameter details. This is insufficient for an agent to understand the parameters beyond their names.

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 description clearly states the verb 'List', the resource 'lead-gen forms', and the scope 'on a Facebook Page (for OUTCOME_LEADS campaigns)'. It distinguishes itself from sibling tools by specifying the campaign type, making the purpose precise and unambiguous.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description does not mention when not to use it, prerequisites, or contrast with similar tools like list_ads or list_campaigns. The context is implied but not stated.

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

list_adsA
Read-only
Inspect

List ads — across the account or inside one ad set. Includes creative preview info. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
adset_idNo
meta_account_idNo
Behavior4/5

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

The description states 'Read-only', which matches the annotation readOnlyHint=true, and adds behavioral detail 'Includes creative preview info' beyond the annotation. No contradiction.

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 a single sentence that efficiently conveys the core purpose and a key feature (creative preview info). No extraneous content.

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?

Given 3 unannotated parameters and no output schema, the description is somewhat incomplete. It does not mention response format, pagination, or detailed parameter semantics, but adequately covers the primary use case.

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

Parameters2/5

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

With 0% schema description coverage, the description must explain parameters. It implicitly explains 'adset_id' via 'inside one ad set', but does not explain 'limit' (pagination) or 'meta_account_id' (account identifier). Only partial compensation.

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 description clearly states the verb 'List ads' and specifies the scope 'across the account or inside one ad set', distinguishing it from siblings that list other entities (e.g., list_adsets, list_campaigns). It also mentions 'Includes creative preview info', adding specificity.

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 implies when to use (for ads across account or in one ad set), but does not explicitly state when not to use or name alternatives. The guidance is present but minimal.

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

list_adsetsA
Read-only
Inspect

List ad sets — across the account or inside one campaign. Shows budget, optimization goal, status. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
campaign_idNo
meta_account_idNo
Behavior4/5

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

The description adds 'Read-only' beyond the annotation, and lists specific fields shown (budget, optimization goal, status). This aligns with the readOnlyHint annotation and provides useful behavioral context without contradiction.

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 sentences, front-loaded with the action, and contains no extraneous information. Every word adds value.

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?

Given the absence of an output schema and minimal annotations, the description covers purpose and output contents but misses parameter details. It provides a decent baseline but is incomplete for full agent understanding.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate. It only implicitly hints at campaign_id via 'inside one campaign' and does not explain 'limit' (pagination) or 'meta_account_id' (account scope). This leaves significant ambiguity for the agent.

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 description clearly states the tool lists ad sets, with the scope 'across the account or inside one campaign.' This distinguishes it from sibling tools like list_campaigns and list_ads, making the purpose unambiguous.

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 provides context on scope (account-wide vs. per campaign) but does not explicitly guide when not to use it or mention alternatives. For a tool with many siblings, more explicit guidance would improve usability.

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

list_campaignsA
Read-only
Inspect

List existing campaigns with status, budget, effective status. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNo
limitNo
status_filterNo
meta_account_idNo
Behavior4/5

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

Annotations already declare readOnlyHint=true. Description adds specific fields returned (status, budget, effective status), providing useful context beyond annotations without contradiction.

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?

Two short sentences, front-loaded with purpose, no filler. Every word adds value.

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

Completeness2/5

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

With 4 undocumented parameters and no output schema, the description is too minimal to fully inform usage. Lacks parameter details and return format.

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

Parameters1/5

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

Schema coverage is 0% and description provides no information about any of the 4 parameters (after, limit, status_filter, meta_account_id). Fails to add meaning beyond the bare schema.

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?

Clearly states verb 'List', resource 'campaigns', and specifies included fields (status, budget, effective status). Distinguishes from sibling tools like create_campaign, delete_campaigns, etc.

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?

Mentions 'Read-only' implying safe usage, but no explicit guidance on when to use this versus sibling listing tools (e.g., list_ads, list_adsets) or when not to use it.

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

list_drive_folderA
Read-only
Inspect

List the images/videos inside a PUBLIC Google Drive folder (must be shared as 'Anyone with the link'). Returns each file's name and a Drive URL usable directly as imageUrl in bulk_create_campaigns. Perfect for 'create one campaign per image in this folder'. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_urlYesGoogle Drive folder link (or bare folder ID)
Behavior4/5

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

The annotations already declare readOnlyHint=true, and the description adds that the folder must be public and returns file name and Drive URL. No contradictions. It could add error handling for non-public folders, but overall adds useful behavioral context beyond annotations.

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 three sentences with no wasted words. The main action is front-loaded, and each sentence adds value: what it does, the constraint, and the typical use case.

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?

For a simple read-only tool with one parameter and no output schema, the description covers all essential aspects: the public requirement, return format, and integration with another tool. No gaps are apparent.

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?

Schema coverage is 100% with a basic description. The tool description adds the requirement that the folder must be public, which is not in the schema. This extra context helps the agent understand constraints.

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 description specifies a clear verb ('List') and resource ('images/videos inside a PUBLIC Google Drive folder'). It distinguishes from sibling tools by emphasizing its read-only nature and linking to bulk_create_campaigns, which is a separate creation tool.

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

Usage Guidelines4/5

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

The description provides clear context: the folder must be public and shared as 'Anyone with the link', and it's perfect for creating one campaign per image. It implicitly suggests using this before bulk_create_campaigns, but does not explicitly state when not to use or list alternatives.

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

pause_campaignsB
Idempotent
Inspect

Pause campaigns/ad sets/ads by ID. Reversible.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idsYes
meta_account_idNo
Behavior4/5

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

Annotations already indicate idempotent, and description adds 'Reversible', which is a key behavioral trait beyond annotations. No contradiction.

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?

Extremely concise: two sentences, no unnecessary words. Front-loaded with action and resource.

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

Completeness2/5

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

Despite simplicity, lacks parameter details and usage context. No explanation of what happens upon pausing or return behavior.

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

Parameters1/5

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

With 0% schema description coverage, the description should explain parameters. It only mentions 'by ID' but doesn't clarify campaign_ids or meta_account_id.

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 description clearly states the action ('Pause') and the resource ('campaigns/ad sets/ads'), and distinguishes from sibling tools like 'resume_campaigns' and 'delete_campaigns' by stating reversibility.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., resume or delete). No context on prerequisites or constraints.

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

resume_campaignsB
Idempotent
Inspect

Resume (activate) paused campaigns/ad sets/ads by ID. Turns spend ON.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idsYes
meta_account_idNo
Behavior3/5

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

Annotations already indicate write operation (readOnlyHint false) and idempotency (idempotentHint true). The description adds 'Turns spend ON' which confirms the state change, but lacks details on permissions, error handling, or behavior for already-active entities.

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 very concise (two short sentences) with no extraneous words. However, it could include brief parameter notes without becoming overly long.

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

Completeness2/5

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

Given two parameters and no output schema, the description is incomplete. It omits explanation of meta_account_id, does not specify behavior for multiple IDs, and lacks details on prerequisites or errors.

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

Parameters2/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 compensate. It explains campaign_ids as IDs of paused entities but does not mention meta_account_id at all, leaving that parameter's purpose unclear.

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 description clearly states the action (resume/activate), the resource (paused campaigns/ad sets/ads), and the effect (turns spend ON). It distinguishes itself from the sibling tool pause_campaigns.

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 implies use for resuming paused entities but provides no explicit when-to-use or when-not-to-use guidance, nor mentions alternatives beyond what can be inferred from the sibling list.

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

search_targetingA
Read-only
Inspect

Search Meta's targeting interests by keyword (e.g. 'yoga', 'small business owners'). Returns interest names, IDs, and audience sizes — useful when planning campaigns. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
meta_account_idNo
Behavior4/5

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

The description adds value beyond annotations by specifying return fields (names, IDs, audience sizes) and reinforcing read-only nature. It is consistent with the readOnlyHint annotation, providing useful behavioral context.

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?

Two sentences with no wasted words. The action and purpose are front-loaded. Example keywords and return value summary are efficiently integrated.

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?

Given the absence of output schema, the description adequately covers return values (interest names, IDs, audience sizes). It lacks details on pagination or limits, but for a simple search tool this is acceptable. The unexplained 'meta_account_id' parameter is a minor gap.

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

Parameters2/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 compensate. It only hints at the 'query' parameter via the keyword example but does not explain 'meta_account_id' or provide syntax/format. This is insufficient for effective parameter understanding.

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 description uses a specific verb ('Search') and resource ('Meta's targeting interests') and provides examples ('yoga', 'small business owners'). It clearly distinguishes from sibling tools which focus on campaign and ad management.

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

Usage Guidelines4/5

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

The description states the tool is useful when planning campaigns and gives example keywords, implying its use case. However, it does not explicitly mention when not to use it or compare to specific alternatives, though sibling context makes it clear.

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

update_campaign_budgetAInspect

Change the daily budget (and/or rename) of an existing campaign or ad set. The account is required so the new budget is checked against your spend guardrails. WRITES live.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional new name.
entity_idYesCampaign ID (CBO budget) or ad set ID.
daily_budgetNoNew daily budget, MAJOR units (e.g. 500 = ₹500).
meta_account_idYesREQUIRED — the ad account this entity belongs to (for the guardrail check).
Behavior4/5

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

Beyond annotations (readOnlyHint=false), the description adds 'WRITES live' and mentions the guardrail check, giving the agent important behavioral context about live updates and validation. This adds value beyond the structured data.

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 concise with three sentences, front-loaded with the main action. Every sentence earns its place without redundancy or filler.

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 mutation tool with no output schema, the description covers the core behavior, guardrail integration, and parameter specifics. It is complete enough for an agent to understand usage without missing critical context.

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?

Schema coverage is 100%, but the description adds meaning by specifying that daily_budget is in 'MAJOR units' and that meta_account_id is needed for the guardrail check. This enhances understanding beyond the schema definitions.

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 description clearly states the tool changes daily budget and/or renames an existing campaign or ad set. The verb 'change' and specific resource distinguish it from siblings like create_campaign or pause_campaigns.

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

Usage Guidelines4/5

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

The description explains that the account is required for guardrail checks, providing context for when the tool should be used. However, it does not explicitly state when not to use it or name alternative tools for related tasks.

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

validate_campaignsA
Read-only
Inspect

Pre-flight check campaign rows BEFORE creating. Read-only. Per-row verdict: will_create / will_create_with_changes / will_fail. Pass meta_account_id to also check spend guardrails.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignsYes
meta_account_idNo
Behavior4/5

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

Annotations already declare readOnlyHint=true. Description adds value by explaining the per-row verdict types (will_create, will_create_with_changes, will_fail) and the optional guardrail check with meta_account_id. No contradictions.

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?

Description is extremely concise: a single sentence plus a fragment. Every word earns its place, with the purpose front-loaded. No redundancy or wasted text.

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 validation tool with no output schema, the description covers purpose, read-only nature, verdicts, and optional guardrail check. It lacks explicit details on the return format (e.g., list of objects), but the verdict types imply the structure. Annotations provide the destructive hint.

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?

Top-level schema parameters lack descriptions (0% coverage). The description adds meaning for meta_account_id ('to also check spend guardrails') but only refers to campaigns as 'campaign rows' without further detail. The schema's nested item descriptions compensate partially.

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?

Description uses specific verbs: 'Pre-flight check campaign rows BEFORE creating.' It clearly identifies the tool as a validation/dry run, distinguishing it from creation siblings like bulk_create_campaigns. The read-only nature and per-row verdicts are explicitly stated.

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

Usage Guidelines4/5

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

Description advises using this tool 'BEFORE creating', which provides clear context. It also notes that passing meta_account_id adds guardrail checks. However, it lacks explicit exclusions or direct mentions of alternative tools for creation, though the sibling list makes this obvious.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Unified MCP server for managing Meta Ads, LinkedIn Ads, Google Ads, GA4, and Search Console with 89 read/write tools, multi-account support, OAuth setup, and safe dry-run mutations.
    MIT
  • A
    license
    -
    quality
    A
    maintenance
    Enables AI agents to create, manage, and automate Meta (Facebook/Instagram) ads campaigns via the Marketing API, with safe defaults and AI-generated creative.
    1
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    An MCP server for programmatic management of Meta (Facebook/Instagram) advertising campaigns through AI assistants. It enables campaign creation, ad set management, creative upload, analytics, audience management, and conversion tracking.
    199
    4
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    MCP server for Meta Ads providing 30 tools for account discovery, campaign management, targeting research, and insights. Designed with LLM-friendly outputs and productivity features like cloning and bulk operations.
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources