Skip to main content
Glama

Groundbase

campaigns_preview_audience

Resolve a campaign audience filter and return the count + 5 sample contacts WITHOUT creating a campaign. Use to validate an audience before action='create'. Example: confirm "tag=lead" matches the expected number of contacts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filterYesaudience_filter shape. `audience_filter` shape: { all: [rules], any?: [rules] }. Rules are {type, ...}. Supported in v1: { type: "all_contacts" } — every contact with a valid channel address; { type: "tag", op: "has" | "has_not", value: "<tag_name>" } — tag membership filter. Multiple all[] rules AND together; any[] rules OR together. Behavior queries (opened campaign X / clicked X) and custom-field queries arrive in a follow-up.
channelNoDefaults to email.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are present, so the description carries full responsibility. It transparently discloses the key side-effect: it does NOT create a campaign, implying read-only behavior. It also specifies the output (count + 5 sample contacts). It could mention error handling or auth requirements, but the main behavioral trait is clearly stated.

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 crisp sentences plus a practical example. It front-loads the core action and side-effect, then gives a use case. No filler words or redundant details.

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 nested filter object and no output schema, the description sufficiently explains what is returned (count + 5 samples) and the validation purpose. It does not detail the sample contact structure or error cases, but for a preview tool this is adequate. The channel default is covered in the 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?

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the filter's purpose in validation and providing a concrete example (tag=lead). It also clarifies that channel defaults to email, reinforcing the schema. This extra context improves parameter understanding beyond raw 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 resolves an audience filter, returns a count plus 5 samples, and explicitly does not create a campaign. It differentiates itself from campaign creation tools (campaigns_manage) and recipient listing (campaigns_list_recipients) by its non-mutating preview 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 gives an explicit usage directive: 'Use to validate an audience before action="create".' This is clear context for when to invoke it. It does not enumerate alternative tools or exclusions, but the primary use case is well defined.

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