Skip to main content
Glama

nevent_list_campaign_recipients

Read-only

List the individual recipients of a campaign and what happened to each message. Use this to put names behind the aggregate numbers from nevent_get_campaign_metrics: who bounced, who clicked, who unsubscribed. Filter with status (SCHEDULED, DELIVERED, OPENED, CLICKED, BOUNCES, UNSUBSCRIBES), narrow to one audience with segment_id when the campaign targeted several segments, or find one person with search (matches name and email). Returns a paginated envelope — content (the recipient rows), page, size, totalElements, totalPages. Rows contain personal data: request the smallest page that answers the question, filter rather than paginate through everything, and do not dump full recipient lists into a summary.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoZero-based page number. Default: 0 (first page).
searchNoFree-text search across recipient name and email address.
statusNoFilter recipients by delivery state. SCHEDULED = queued but not sent; DELIVERED = accepted by the receiving server; OPENED / CLICKED = engaged; BOUNCES = delivery failed; UNSUBSCRIBES = opted out from this send. Omit to return every recipient.
page_sizeNoRecipients per page (1-100). Default: 25. Keep this small — recipient rows contain personal data and large pages waste context.
segment_idNoRestrict the listing to recipients that came from one segment. Useful on multi-segment campaigns to compare which segment engaged. Get segment IDs from nevent_list_segments.
campaign_idYesCampaign ID. Get it from nevent_list_campaigns, or from the response of nevent_create_campaign.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds valuable behavior beyond that: it returns a paginated envelope with content, page, size, totalElements, and totalPages; it flags that rows contain personal data; and it advises requesting the smallest page and filtering rather than paginating through everything. This is strong supplementary context with no contradiction.

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?

The description is front-loaded with purpose and contains no wasted sentences, but it is dense and the final privacy warning makes it somewhat long. Still, every sentence earns its place by adding either usage guidance or behavioral context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paginated list tool with no output schema, the description covers the return envelope, recipient-row content, filtering strategies, pagination behavior, privacy constraints, and even where to get related IDs. An agent has enough to call and interpret the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description still adds meaning beyond the schema: it frames status as a way to see who bounced/clicked/unsubscribed, segment_id as narrowing to one audience on multi-segment campaigns, search as finding one person by name/email, and page_size as a privacy/context concern. This is genuine usage semantics, not repetition.

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: "List the individual recipients of a campaign and what happened to each message." It clearly differentiates this from aggregate metrics by saying it puts "names behind the aggregate numbers from nevent_get_campaign_metrics," so an agent can distinguish it from the sibling metrics tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is explicit: use this to see recipient-level detail behind aggregate numbers, and it names the alternative tool (nevent_get_campaign_metrics). It also gives concrete selection guidance for status, segment_id, and search, telling the agent when each filter is appropriate.

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.