meta_ads_campaigns
List Meta Ads campaigns. Returns: id, name, status, objective, budget, dates. Set include_paused=true to also show paused campaigns.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| auth_account | No | ||
| include_paused | No |
List Meta Ads campaigns. Returns: id, name, status, objective, budget, dates. Set include_paused=true to also show paused campaigns.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| auth_account | No | ||
| include_paused | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value by specifying the exact fields returned (id, name, status, objective, budget, dates) and the behavior of include_paused. It does not discuss pagination or authentication, but the read-only nature is clear from annotations, and the added details are useful beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with front-loaded action and return fields. No fluff, no redundancy. Every word adds value, and it avoids repeating schema or annotation details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no output schema, and the description covers core functionality and return values. However, the lack of explanation for account and auth_account leaves a gap for agents unfamiliar with Meta Ads conventions. The description is adequate for a minimal list tool but not fully complete given the parameter coverage issue.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for all parameters. It explains only include_paused (booleans to include paused campaigns). The parameters 'account' and 'auth_account' are left undocumented, leaving the agent to guess their meaning or rely on the schema types only. This partial coverage is insufficient given zero schema-level descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'List Meta Ads campaigns' with a clear verb and resource. It enumerates return fields (id, name, status, etc.), which differentiates it from related sibling tools like meta_ads_campaign_delete or meta_ads_campaign_write_activate. The purpose is unambiguous and distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context for using the tool (to list campaigns) but does not explicitly contrast it with alternatives or state when not to use it. It only mentions the include_paused option for filtering. Given the sibling list, usage is implied, but no explicit guidance on choosing this over other campaign tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.