Skip to main content
Glama

agent-cold-email

launch_campaign

Destructive

Create and activate a campaign on a lead list. You supply name, offer, leads[], sequence[] (per step: subject, body, delayDays), sendWindow, timezone, stopOnReply — the platform does not write copy. Steps schedule up front; suppressed leads are skipped. Returns { campaignId }. Campaigns send real mail, so a launch identical to one this account made in the last 60 seconds is REFUSED with 409 { code:'duplicate_campaign', existingCampaignId } rather than contacting the same prospects twice — check that campaign instead of relaunching. Resend the same idempotencyKey to retry a call whose response you lost: that replays the original result instead of being refused. Campaigns that differ in any field, and deliberate relaunches after the window, are never blocked.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
leadsYes
offerYes
sequenceYes
timezoneNoUTC
sendWindowNo
stopOnReplyNo
idempotencyKeyNoOptional idempotency key: resend the SAME key when retrying this call so a dropped-response retry is not applied twice (no duplicate campaign/provision/send).

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Discloses critical side effects: campaigns send real mail, identical launches are duplicate-refused, idempotency key replays original results, and the platform does not write copy. This goes far beyond the destructiveHint annotation and informs safe invocation.

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?

Every sentence serves a purpose: purpose, parameter list, scheduling behavior, return value, duplicate prevention, idempotency retry, and edge-case exception. The description is front-loaded with the core function and remains efficient despite its length.

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?

Covers purpose, required inputs, return value, duplicate prevention, retry semantics, and when launches are allowed or blocked. For a destructive tool that sends real mail, this provides sufficient operational context for an agent to act safely and 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?

With only 13% schema coverage, the description compensates by enumerating all eight parameters and explaining the structure of 'sequence[] (per step: subject, body, delayDays)' plus the idempotencyKey behavior. However, sendWindow, timezone, and stopOnReply are merely listed without additional semantic detail, leaving some meaning to inference.

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 opening sentence clearly states the action ('Create and activate a campaign on a lead list') with a specific resource. It distinguishes itself by adding that campaigns 'send real mail' and that suppressed leads are skipped, making the tool's primary function unmistakable.

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?

Explicitly defines when a launch is refused (duplicate within 60 seconds), advises 'check that campaign instead of relaunching' as an alternative, explains idempotency retry behavior, and states that deliberate relaunches after the window are never blocked. These are clear when-to-use and when-not-to-use guidelines.

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.

TDQS

A4.4/5.0
Disambiguation4/5

Most tools have distinct purposes, but pause/pause_all and metrics/campaign_results/list_campaigns have overlapping scopes. Descriptions clarify the differences, so ambiguity is low.

Naming Consistency4/5

Uses snake_case with a mix of verb_noun (list_campaigns) and noun_verb (infrastructure_status), but patterns are predictable. Minor inconsistency between setup_infrastructure and infrastructure_status.

Tool Count4/5

25 tools is at the upper bound for a focused server, but the domain (cold email automation) justifies the number. Each tool covers a distinct aspect of the workflow.

Completeness4/5

Covers account management, campaigns, leads, threads, infrastructure, webhooks, and dashboards. Missing resume for paused campaigns and delete for campaigns, but core operations are present.