Skip to main content
Glama

Estimate Campaign Recipients

estimate_campaign_recipients
Read-onlyIdempotent

Count how many people a campaign would reach if it were sent now to the given lists, segments and tags, after leaving out the excluded lists, segments and tags, removing duplicates and skipping suppressed contacts (optionally also frequency-capped ones). Give at least one list, segment or tag. Sends nothing and changes nothing.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "estimate_campaign_recipients"
  }
}

Input Schema

NameRequiredDescriptionDefault
tag_idsNoTag IDs to send to
list_idsNoList IDs to send to (as shown by list_lists)
segment_idsNoSegment IDs to send to
frequency_capNoAlso skip contacts emailed recently (the account's frequency cap window)
exclude_tag_idsNoTag IDs to leave out
exclude_list_idsNoList IDs to leave out
exclude_segment_idsNoSegment IDs to leave out

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint=false), so the description earns credit for adding real semantics: exclusion sets are subtracted, duplicates removed, suppressed contacts skipped, and frequency-capped contacts skipped only when the flag is on. Missing are rate limits or whether the count is a point-in-time snapshot, which keeps it off a 5.

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 the core verb and ending with the strongest safety statement. The first sentence is long and clause-stacked, but every clause carries distinct meaning about counting behavior.

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?

With no required parameters in the schema, the description's "at least one list, segment or tag" fills an important gap, and the return value (a count) is implied by "Count how many people". A tool with seven params and no output schema would benefit from stating whether the count is returned alone or with a breakdown, which holds it at 4.

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 coverage is 100%, so every parameter is already documented and the baseline is 3. The description adds the combination semantics (union of include sets, subtraction of exclude sets, dedupe across all of them), which is useful but does not add per-parameter format or ID-source detail beyond the 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 opens with a specific verb and resource: count how many people a campaign would reach if sent now, given lists, segments and tags. That separates it cleanly from siblings like analyze_campaign (post-send analysis) or schedule_campaign (an actual send).

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?

"if it were sent now" plus "Sends nothing and changes nothing" establish the pre-send dry-run context clearly, and "Give at least one list, segment or tag" states a usage precondition. It never names a concrete alternative tool, though, so the agent must infer routing from siblings.

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.