Skip to main content
Glama

DirectIQ

directiq_campaign_report

Read-onlyIdempotent

List the contacts behind one campaign result, one page at a time: who received, opened, clicked, bounced, unsubscribed, or complained. Returns { totalCount, result }. Optionally filter to one email address, or for clicks, to one link. For totals and rates only, use directiq_campaign_stats.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "campaignId": "<campaignId>",
      "type": "<type>"
    },
    "name": "directiq_campaign_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
linkNoFor type "clicks" only: only return clicks on this URL
typeYesWhich result to list
emailNoOnly return rows for this contact email
pageSizeNoResults per page, up to 500
campaignIdYesNumeric campaign ID (from directiq_list_campaigns)
pageNumberNo1-based page number (default 1)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds value beyond that by disclosing pagination behavior ('one page at a time') and the response shape `{ totalCount, result }`, which are not in the annotations. It stops short of stating page-size limits or empty-result behavior, keeping it at 4 rather than 5.

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?

Three tight sentences: purpose and scope first, return shape second, sibling routing last. Every clause carries information an agent needs, and there is no restatement of the title or redundant framing.

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?

No output schema exists, so the description compensates by naming the return fields and the pagination model. With annotations covering the safety profile and the schema covering all six parameters in full, an agent has everything needed to select and invoke this tool correctly.

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 description coverage is 100%, so the baseline is 3; the description earns above that by grouping the optional filters into a coherent model ('Optionally filter to one email address, or for clicks, to one link') and by spelling out what each `type` value means in outcome terms. It does not add format or boundary detail (e.g. the 500 page-size cap) beyond what the schema already says.

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?

States a specific verb and resource ('List the contacts behind one campaign result') and enumerates the outcome categories (received, opened, clicked, bounced, unsubscribed, complained), which maps directly onto the required `type` enum. It also explicitly contrasts itself with the sibling directiq_campaign_stats, so an agent can pick the right tool without opening a schema.

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?

Gives an explicit routing rule: 'For totals and rates only, use directiq_campaign_stats.' It also frames the operation as paginated contact-level detail, implying when this tool (per-contact rows) rather than the aggregate one is appropriate. Nothing is left to inference about the primary alternative.

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.