list_campaigns
Requires an Advance plan key. List campaigns, or fetch one campaign by id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Optional campaign id. |
Requires an Advance plan key. List campaigns, or fetch one campaign by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Optional campaign id. |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds a genuine invocation precondition that annotations cannot express: an Advance plan key is required, which determines whether the call will succeed at all. It stops short of describing pagination, result limits, or ordering for the list mode.
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 short sentences with zero filler; the hard precondition is front-loaded and the dual-mode behavior follows immediately. Nothing is repeated from the annotations or schema.
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 single-optional-parameter read tool with no output schema, the definition covers the essentials: safety is annotated and the plan requirement is stated. However, it says nothing about the shape or volume of a campaign list (field set, pagination, ordering) or whether all campaigns or a workspace-scoped subset are returned, which leaves an agent guessing about result handling.
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 coverage is 100% and the only parameter is documented as "Optional campaign id", so the baseline would be 3. The description earns above baseline by clarifying that the parameter switches the tool between two distinct modes (list all vs. fetch one), which the bare schema text does not make explicit.
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?
States a specific verb and resource ("List campaigns") plus the alternate mode ("fetch one campaign by id"), which is more than the title alone conveys. It does not differentiate from the many sibling list_* tools (list_automations, list_templates, etc.), but "campaigns" is a distinct resource so an agent can still select it unambiguously.
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 phrase "List campaigns, or fetch one campaign by id" implicitly tells the agent which mode corresponds to which parameter state, which is the main usage decision here. There is no explicit when-not guidance, no mention of how it relates to any sibling tool, and no note about what happens if the id does not exist.
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.