Skip to main content
Glama

Space Monkey Mailchimp Dashboard

Get campaign post-mortem

sm_get_campaign_post_mortem
Read-onlyIdempotent

Produce a full post-mortem of one sent campaign: summary metadata, delivery and performance rates, engagement velocity (time-to-first-open and hourly engagement), audience quality, and per-variant breakdown when the campaign is an A/B test. Combines the detail, velocity, audience-quality and variate views into one report. All metrics come from synced BigQuery tables, so they are only as current as the project last sync run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
botFilterNoFilter out members whose interactions appear to be automated bot activity. Select 'suspected-bot' for only bots, 'clean' to exclude bots, or 'all' (default) to ignore.all
projectIdYesRequired. The opaque alphanumeric project identifier of 8 or more characters to scope this request to. Call GET /_api/public/v1/enterprise/projects to list the project IDs available to your API key. Omitting it returns 400 VALIDATION_ERROR.
campaignIdYesThe opaque string identifier for the campaign as assigned by Mailchimp. List campaigns to obtain this ID. If the ID is invalid or does not exist in the project, the endpoint will return a 404 error.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNoA machine-readable identifier for the error type. For the full code taxonomy, see the sm_get_schema tool or the Enterprise API OpenAPI ErrorResponse component.
errorNoA human-readable error message detailing what went wrong.
summaryNoShort human-readable summary for the enclosing item.
variateNoMay be null.
velocityNoMay be null.
projectIdNoAn opaque alphanumeric project identifier of 8 or more characters identifying a Space Monkey Project. Treat this value as entirely opaque; do not parse, sequentialize, or auto-generate it.
performanceNoComprehensive details for a single campaign. May be null.
audienceQualityNoMay be null.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / botFilter
      Added value: +{
      +  "default": "all",
      +  "description": "Filter out members whose interactions appear to be automated bot activity. Select 'suspected-bot' for only bots, 'clean' to exclude bots, or 'all' (default) to ignore.",
      +  "enum": [
      +    "all",
      +    "suspected-bot",
      +    "clean"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / audienceQuality / items / properties / repeatClickers / description
      Added value: +"Members who clicked more than once."
    • addedOutput schema / properties / audienceQuality / items / properties / repeatOpeners / description
      Added value: +"Members who opened more than once."
    • addedOutput schema / properties / summary / properties / isVariate / description
      Added value: +"True when the campaign is an A/B (variate) test."
    • addedOutput schema / properties / variate / properties / audienceQuality / items / properties / repeatClickers / description
      Added value: +"Members who clicked more than once."
    • addedOutput schema / properties / variate / properties / audienceQuality / items / properties / repeatOpeners / description
      Added value: +"Members who opened more than once."
    • addedOutput schema / properties / variate / properties / geoBreakdown / items / properties / engagedCount / description
      Added value: +"Engaged members in the region."
    • addedOutput schema / properties / variate / properties / geoBreakdown / items / properties / stateRegion / description
      Added value: +"State or region."
    • addedOutput schema / properties / velocity / properties / hourlyEngagement / description
      Added value: +"Hourly open and click counts after send."
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuinely useful behavior beyond them: 'All metrics come from synced BigQuery tables, so they are only as current as the project last sync run' — a data-freshness caveat the agent needs to interpret results.

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?

Three front-loaded sentences: purpose and contents first, then the consolidation claim, then the data-freshness caveat. Dense but each sentence earns its place; the list of report sections is the only slightly padded element.

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?

Given an output schema exists, the description need not explain return values — yet it still maps the report's sections, defines scope (one sent campaign, per-variant only for A/B), and flags the sync-driven freshness limit. Nothing an agent needs to call it correctly is missing.

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 description coverage is 100%, so projectId, campaignId and the botFilter enum are already fully documented in the schema. The description adds no parameter syntax or format detail beyond it; baseline 3 is appropriate.

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?

Specific verb ('Produce a full post-mortem') + resource ('one sent campaign'), and it enumerates the exact contents: summary metadata, delivery/performance rates, engagement velocity, audience quality, per-variant breakdown. The line 'Combines the detail, velocity, audience-quality and variate views into one report' implicitly separates it from sibling point-views such as sm_get_variate and sm_get_campaign.

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?

Usage context is clear: one sent campaign, with variant breakdown only 'when the campaign is an A/B test'. The 'combines ... into one report' phrasing tells the agent to prefer this over calling the individual view tools piecemeal. No explicit when-not or prerequisite guidance, so it falls short of a 5.

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