List Ad Campaigns
list_ad_campaignsList campaigns for an ad account with status and performance summary.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status | |
| adAccountId | Yes | Ad account ID |
list_ad_campaignsList campaigns for an ad account with status and performance summary.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status | |
| adAccountId | Yes | Ad account ID |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, establishing the safety profile. The description adds behavioral context by specifying that the response includes status and performance summary, providing useful information beyond the annotations and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the verb and resource. Every word contributes meaning, with no redundancy or filler.
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?
For a simple list tool with one required parameter and no output schema, the description adequately conveys the high-level return content (status and performance summary). It lacks detailed output structure or pagination notes, but the tool's simplicity makes this sufficient.
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 100%, with clear descriptions for adAccountId and status (including an enum). The description does not add significant parameter-level details beyond what the schema already provides, so a baseline of 3 is appropriate.
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 clearly states the tool lists campaigns for an ad account, using the specific verb 'List' with the resource 'campaigns' and scope 'for an ad account'. Adding 'with status and performance summary' distinguishes it from other list tools and performance-specific tools.
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 provides clear context by specifying that the tool is used to list campaigns for an ad account. It does not mention alternatives or exclusions, but for a straightforward list operation the use case is clear, warranting a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
With 148 tools, there is significant overlap. For example, generate_content, publish_ai, generate_post_bundle, and request_project_content all generate content; get_analytics, get_unified_analytics, get_post_analytics, get_ad_performance, and get_unified_ad_report all fetch performance metrics; and list_inbox vs list_conversations blur comment and conversation management. Descriptions help, but boundaries between tools are often unclear.
Most tools follow a verb_noun pattern (e.g., list_teams, create_goal, delete_post), but there are notable deviations: create_library_item vs save_to_library, publish_content vs publish_ai, schedule_content vs schedule_content_advanced, and connect_platform vs connect_connector. Mixed prefixes like 'autopilot_', 'check_', and 'get_' are fine, but overlapping verbs and a hyphen in 'connect_linkedin-page' reduce consistency.
148 tools is extreme for any server. Even for a broad social media management platform, this is far beyond what an agent can effectively navigate. The count is unwieldy and suggests the surface should be split into multiple focused servers (publishing, analytics, connectors, workflows, etc.).
The core social publishing workflow is well covered (create, schedule, publish, edit, delete, retry), and there are extensive features for analytics, workflows, connectors, and AI agents. However, some resources have CRUD gaps: no update/delete for brand voices, no delete_project, no update/delete for Product Hunt goals, and no explicit get_workflow. These are workable but notable omissions.