Skip to main content
Glama

Space Monkey Mailchimp Dashboard

Get expert insights

sm_get_insights_expert
Read-onlyIdempotent

Get expert diagnostics explaining why performance is moving: campaign fatigue, subject-line keywords, timezone-aware send-time heatmap, monthly trend and audience health, plus engagement distribution and campaign consistency (also available from sm_get_insights_advanced). Use only after basic or advanced have established what changed. Excludes the per-campaign performance table, single-campaign detail, list overview and the engagement and send-volume trends — use sm_get_insights_basic. Excludes tag and segment summaries and the subscriber-growth series and baselines — use sm_get_insights_advanced. All three insight tiers also return campaign averages, previous-period averages, audience summary and auto-generated insights.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endDateNoInclusive ISO-8601 calendar date (UTC) upper bound for the time range in YYYY-MM-DD format. Omit to leave the end of the time window unbounded or use the endpoint's default.
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.
startDateNoInclusive ISO-8601 calendar date (UTC) lower bound for the time range in YYYY-MM-DD format. Omit to leave the start of the time window unbounded.
campaignIdNoThe 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.
maxSendVolumeNoMaximum number of emails sent to include a campaign in the insights aggregations. Omit to impose no upper bound.
minSendVolumeNoMinimum number of emails sent to include a campaign in the insights aggregations. Omit to use the system default threshold.
heatmapTimezoneNoThe valid IANA timezone string (e.g. 'America/New_York') used to align the send-time heatmap distribution. Omit to use UTC.

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.
insightsNoAuto-generated insight objects pairing a title with a descriptive sentence.
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.
monthlyTrendNoPer-quarter (or month) trend rows for the diagnostic period.
audienceHealthNoAudience health rows with member counts by status and engagement band.
audienceSummaryNoCurrent audience status rollup: one row per member status with the member count.
campaignFatigueNoPer-frequency bucket showing how engagement moves as send frequency changes.
sendTimeHeatmapNoSend-time heatmap rows bucketed by day of week and hour.
campaignAveragesNoSingle summary row of aggregate campaign metrics for the current period.
sendTimeInsightsNoAuto-generated send-time insight objects.
campaignConsistencyNoStatistical consistency metrics for campaign performance. May be null.
subjectLineKeywordsNoSubject-line keyword rows with impact on open and click rate.
engagementDistributionNoMembers bucketed by engagement rating.
previousPeriodAveragesNoSingle summary row of aggregate campaign metrics for the prior comparison period.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed87 schema fields changed
    • changedOutput schema / description
      Previous value: -"Output for the sm_get_insights_expert tool. Failure payloads arrive in the same envelope as { error, message, code }."New value: +"Output for the sm_get_insights_expert tool. Failure payloads arrive in the same envelope as { error, code }."
    • addedOutput schema / properties / audienceHealth / description
      Added value: +"Audience health rows with member counts by status and engagement band."
    • addedOutput schema / properties / audienceHealth / items / properties / avgMemberRating / description
      Added value: +"Mean member rating."
    • addedOutput schema / properties / audienceHealth / items / properties / cleanedCount / description
      Added value: +"Cleaned members."
    • addedOutput schema / properties / audienceHealth / items / properties / highEngagementCount / description
      Added value: +"High-engagement members."
    • addedOutput schema / properties / audienceHealth / items / properties / lowEngagementCount / description
      Added value: +"Low-engagement members."
    • addedOutput schema / properties / audienceHealth / items / properties / subscribedCount / description
      Added value: +"Subscribed members."
    • addedOutput schema / properties / audienceHealth / items / properties / totalMembers / description
      Added value: +"Total members."
    • addedOutput schema / properties / audienceHealth / items / properties / unsubscribedCount / description
      Added value: +"Unsubscribed members."
    • addedOutput schema / properties / audienceSummary / description
      Added value: +"Current audience status rollup: one row per member status with the member count."
    • addedOutput schema / properties / audienceSummary / items / properties / memberCount / description
      Added value: +"Members in the status."
    • addedOutput schema / properties / audienceSummary / items / properties / status / description
      Added value: +"Subscription status."
    • addedOutput schema / properties / campaignAverages / description
      Added value: +"Single summary row of aggregate campaign metrics for the current period."
    • addedOutput schema / properties / campaignAverages / items / properties / avgBounceRate / description
      Added value: +"Mean bounce rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / avgClickRate / description
      Added value: +"Mean click rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / avgClickToOpenRate / description
      Added value: +"Mean click-to-open rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / avgDeliveryRate / description
      Added value: +"Mean delivery rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / avgEmailsSent / description
      Added value: +"Mean emails sent per campaign in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / avgOpenRate / description
      Added value: +"Mean open rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / totalAbuseReports / description
      Added value: +"Total abuse reports across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / totalBounces / description
      Added value: +"Hard plus soft bounces."
    • addedOutput schema / properties / campaignAverages / items / properties / totalCampaigns / description
      Added value: +"Total number of campaigns the enclosing summary covers."
    • addedOutput schema / properties / campaignAverages / items / properties / totalClicks / description
      Added value: +"Total click events, counting repeat clicks."
    • addedOutput schema / properties / campaignAverages / items / properties / totalEmailsSent / description
      Added value: +"Total emails sent across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / totalForwards / description
      Added value: +"Total forward events across the campaigns in the enclosing summary. Forwards are not a working metric and must never be used to rank, recommend, or brief."
    • addedOutput schema / properties / campaignAverages / items / properties / totalHardBounces / description
      Added value: +"Total permanent bounce events across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / totalOpens / description
      Added value: +"Total open events, counting repeat opens by the same member."
    • addedOutput schema / properties / campaignAverages / items / properties / totalSoftBounces / description
      Added value: +"Total temporary bounce events across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignAverages / items / properties / totalUnsubscribes / description
      Added value: +"Total unsubscribe events across the campaigns in the enclosing summary."
    • addedOutput schema / properties / campaignConsistency / properties / clickRateStddev / description
      Added value: +"Click-rate standard deviation."
    • addedOutput schema / properties / campaignConsistency / properties / maxClickRate / description
      Added value: +"Highest click rate."
    • addedOutput schema / properties / campaignConsistency / properties / maxOpenRate / description
      Added value: +"Highest open rate."
    • addedOutput schema / properties / campaignConsistency / properties / medianClickRate / description
      Added value: +"Median click rate."
    • addedOutput schema / properties / campaignConsistency / properties / medianOpenRate / description
      Added value: +"Median open rate."
    • addedOutput schema / properties / campaignConsistency / properties / minClickRate / description
      Added value: +"Lowest click rate."
    • addedOutput schema / properties / campaignConsistency / properties / minOpenRate / description
      Added value: +"Lowest open rate."
    • addedOutput schema / properties / campaignConsistency / properties / openRateStddev / description
      Added value: +"Open-rate standard deviation."
    • addedOutput schema / properties / campaignFatigue / description
      Added value: +"Per-frequency bucket showing how engagement moves as send frequency changes."
    • addedOutput schema / properties / campaignFatigue / items / properties / avgClickRate / description
      Added value: +"Mean click rate in the bucket."
    • addedOutput schema / properties / campaignFatigue / items / properties / avgClickToOpenRate / description
      Added value: +"Mean click-to-open rate in the bucket."
    • addedOutput schema / properties / campaignFatigue / items / properties / avgEmailsSent / description
      Added value: +"Mean emails sent in the bucket."
    • addedOutput schema / properties / campaignFatigue / items / properties / avgOpenRate / description
      Added value: +"Mean open rate in the bucket."
    • addedOutput schema / properties / campaignFatigue / items / properties / campaignCount / description
      Added value: +"Campaigns in the frequency bucket."
    • addedOutput schema / properties / engagementDistribution / description
      Added value: +"Members bucketed by engagement rating."
    • addedOutput schema / properties / engagementDistribution / items / properties / memberCount / description
      Added value: +"Members in the bucket."
    • addedOutput schema / properties / engagementDistribution / items / properties / memberRating / description
      Added value: +"Engagement rating bucket, or null."
    • addedOutput schema / properties / insights / description
      Added value: +"Auto-generated insight objects pairing a title with a descriptive sentence."
    • addedOutput schema / properties / insights / items / properties / description / description
      Added value: +"Insight explanation."
    • addedOutput schema / properties / insights / items / properties / title / description
      Added value: +"Insight title."
    • addedOutput schema / properties / monthlyTrend / description
      Added value: +"Per-quarter (or month) trend rows for the diagnostic period."
    • addedOutput schema / properties / monthlyTrend / items / properties / avgBounceRate / description
      Added value: +"Mean bounce rate in the period, or null."
    • addedOutput schema / properties / monthlyTrend / items / properties / avgClickRate / description
      Added value: +"Mean click rate in the period."
    • addedOutput schema / properties / monthlyTrend / items / properties / avgClickToOpenRate / description
      Added value: +"Mean click-to-open rate in the period."
    • addedOutput schema / properties / monthlyTrend / items / properties / avgDeliveryRate / description
      Added value: +"Mean delivery rate in the period, or null."
    • addedOutput schema / properties / monthlyTrend / items / properties / avgOpenRate / description
      Added value: +"Mean open rate in the period."
    • addedOutput schema / properties / monthlyTrend / items / properties / campaignCount / description
      Added value: +"Campaigns in the period."
    • addedOutput schema / properties / monthlyTrend / items / properties / totalEmailsSent / description
      Added value: +"Emails sent in the period, or null."
    • addedOutput schema / properties / monthlyTrend / items / properties / yearQuarter / description
      Added value: +"Year-quarter for the row."
    • addedOutput schema / properties / previousPeriodAverages / description
      Added value: +"Single summary row of aggregate campaign metrics for the prior comparison period."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / avgBounceRate / description
      Added value: +"Mean bounce rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / avgClickRate / description
      Added value: +"Mean click rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / avgClickToOpenRate / description
      Added value: +"Mean click-to-open rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / avgDeliveryRate / description
      Added value: +"Mean delivery rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / avgEmailsSent / description
      Added value: +"Mean emails sent per campaign in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / avgOpenRate / description
      Added value: +"Mean open rate across the campaigns in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalAbuseReports / description
      Added value: +"Total abuse reports across the campaigns in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalBounces / description
      Added value: +"Hard plus soft bounces."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalCampaigns / description
      Added value: +"Total number of campaigns the enclosing summary covers."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalClicks / description
      Added value: +"Total click events, counting repeat clicks."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalEmailsSent / description
      Added value: +"Total emails sent across the campaigns in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalForwards / description
      Added value: +"Total forward events across the campaigns in the enclosing summary. Forwards are not a working metric and must never be used to rank, recommend, or brief."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalHardBounces / description
      Added value: +"Total permanent bounce events across the campaigns in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalOpens / description
      Added value: +"Total open events, counting repeat opens by the same member."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalSoftBounces / description
      Added value: +"Total temporary bounce events across the campaigns in the enclosing summary."
    • addedOutput schema / properties / previousPeriodAverages / items / properties / totalUnsubscribes / description
      Added value: +"Total unsubscribe events across the campaigns in the enclosing summary."
    • addedOutput schema / properties / sendTimeHeatmap / description
      Added value: +"Send-time heatmap rows bucketed by day of week and hour."
    • addedOutput schema / properties / sendTimeHeatmap / items / properties / avgClickRate / description
      Added value: +"Mean click rate in the bucket."
    • addedOutput schema / properties / sendTimeHeatmap / items / properties / avgOpenRate / description
      Added value: +"Mean open rate in the bucket."
    • addedOutput schema / properties / sendTimeHeatmap / items / properties / campaignCount / description
      Added value: +"Campaigns in the bucket."
    • addedOutput schema / properties / sendTimeInsights / description
      Added value: +"Auto-generated send-time insight objects."
    • addedOutput schema / properties / sendTimeInsights / items / properties / description / description
      Added value: +"Send-time insight explanation."
    • addedOutput schema / properties / sendTimeInsights / items / properties / title / description
      Added value: +"Send-time insight title."
    • addedOutput schema / properties / subjectLineKeywords / description
      Added value: +"Subject-line keyword rows with impact on open and click rate."
    • addedOutput schema / properties / subjectLineKeywords / items / properties / avgClickRate / description
      Added value: +"Mean click rate for the keyword."
    • addedOutput schema / properties / subjectLineKeywords / items / properties / avgOpenRate / description
      Added value: +"Mean open rate for the keyword."
    • addedOutput schema / properties / subjectLineKeywords / items / properties / campaignCount / description
      Added value: +"Campaigns containing the keyword."
    • addedOutput schema / properties / subjectLineKeywords / items / properties / keyword / description
      Added value: +"Keyword analyzed in subject lines."
  2. Changed8 schema fields changed
    • addedInput schema / properties / campaignId / description
      Added value: +"The 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."
    • addedInput schema / properties / endDate / description
      Added value: +"Inclusive ISO-8601 calendar date (UTC) upper bound for the time range in YYYY-MM-DD format. Omit to leave the end of the time window unbounded or use the endpoint's default."
    • addedInput schema / properties / heatmapTimezone / description
      Added value: +"The valid IANA timezone string (e.g. 'America/New_York') used to align the send-time heatmap distribution. Omit to use UTC."
    • addedInput schema / properties / maxSendVolume / description
      Added value: +"Maximum number of emails sent to include a campaign in the insights aggregations. Omit to impose no upper bound."
    • addedInput schema / properties / minSendVolume / description
      Added value: +"Minimum number of emails sent to include a campaign in the insights aggregations. Omit to use the system default threshold."
    • addedInput schema / properties / projectId / description
      Added value: +"Required. 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."
    • addedInput schema / properties / startDate / description
      Added value: +"Inclusive ISO-8601 calendar date (UTC) lower bound for the time range in YYYY-MM-DD format. Omit to leave the start of the time window unbounded."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Output for the sm_get_insights_expert tool. Failure payloads arrive in the same envelope as { error, message, code }.",
      +  "properties": {
      +    "audienceHealth": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Key metrics denoting overall audience health.",
      +        "properties": {
      +          "avgMemberRating": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "cleanedCount": {
      +            "type": "integer"
      +          },
      +          "highEngagementCount": {
      +            "type": "integer"
      +          },
      +          "lowEngagementCount": {
      +            "type": "integer"
      +          },
      +          "subscribedCount": {
      +            "type": "integer"
      +          },
      +          "totalMembers": {
      +            "type": "integer"
      +          },
      +          "unsubscribedCount": {
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "audienceSummary": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Audience status summary counts.",
      +        "properties": {
      +          "memberCount": {
      +            "type": "integer"
      +          },
      +          "status": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "campaignAverages": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Aggregated averages and totals across campaigns.",
      +        "properties": {
      +          "avgBounceRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgClickRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgClickToOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgDeliveryRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgEmailsSent": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "totalAbuseReports": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalBounces": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalCampaigns": {
      +            "type": "integer"
      +          },
      +          "totalClicks": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalEmailsSent": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalForwards": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalHardBounces": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalOpens": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalSoftBounces": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalUnsubscribes": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "campaignConsistency": {
      +      "additionalProperties": true,
      +      "description": "Statistical consistency metrics for campaign performance. May be null.",
      +      "properties": {
      +        "clickRateStddev": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "maxClickRate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "maxOpenRate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "medianClickRate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "medianOpenRate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "minClickRate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "minOpenRate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "openRateStddev": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "campaignFatigue": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Analysis of engagement fatigue over quarters.",
      +        "properties": {
      +          "avgClickRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgClickToOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgEmailsSent": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "campaignCount": {
      +            "type": "integer"
      +          },
      +          "quarter": {
      +            "description": "YYYY-QN format",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "code": {
      +      "description": "A 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.",
      +      "type": "string"
      +    },
      +    "engagementDistribution": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Breakdown of members by engagement rating.",
      +        "properties": {
      +          "memberCount": {
      +            "type": "integer"
      +          },
      +          "memberRating": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "syncedAt": {
      +            "description": "ISO 8601 UTC timestamp.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "error": {
      +      "description": "A human-readable error message detailing what went wrong.",
      +      "type": "string"
      +    },
      +    "insights": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Automatically generated contextual insights.",
      +        "properties": {
      +          "campaignId": {
      +            "description": "only emitted by the top-campaign insights",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "description": {
      +            "type": "string"
      +          },
      +          "sentiment": {
      +            "description": "one of positive/negative/neutral",
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "monthlyTrend": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Quarterly trend data. Note this backs the response property named `monthlyTrend` even though the data is quarterly.",
      +        "properties": {
      +          "avgBounceRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgClickRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgClickToOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgDeliveryRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "campaignCount": {
      +            "type": "integer"
      +          },
      +          "totalEmailsSent": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "yearQuarter": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "previousPeriodAverages": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Aggregated averages and totals across campaigns.",
      +        "properties": {
      +          "avgBounceRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgClickRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgClickToOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgDeliveryRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgEmailsSent": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "totalAbuseReports": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalBounces": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalCampaigns": {
      +            "type": "integer"
      +          },
      +          "totalClicks": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalEmailsSent": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalForwards": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalHardBounces": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalOpens": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalSoftBounces": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "totalUnsubscribes": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "projectId": {
      +      "description": "An 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.",
      +      "type": "string"
      +    },
      +    "sendTimeHeatmap": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Engagement heatmap mapping by day and hour.",
      +        "properties": {
      +          "avgClickRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "campaignCount": {
      +            "type": "integer"
      +          },
      +          "dayOfWeek": {
      +            "description": "1-7 BigQuery DAYOFWEEK",
      +            "type": "integer"
      +          },
      +          "hourOfDay": {
      +            "description": "0-23",
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "sendTimeInsights": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Automatically generated contextual insights.",
      +        "properties": {
      +          "campaignId": {
      +            "description": "only emitted by the top-campaign insights",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "description": {
      +            "type": "string"
      +          },
      +          "sentiment": {
      +            "description": "one of positive/negative/neutral",
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "subjectLineKeywords": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Performance metrics grouped by subject line keywords.",
      +        "properties": {
      +          "avgClickRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "avgOpenRate": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "campaignCount": {
      +            "type": "integer"
      +          },
      +          "keyword": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds meaningful behavioral context beyond that: it clarifies the tool's analytic scope, what it deliberately excludes, and what it shares with the other insight tiers. No contradictory or hidden behavior is left unaddressed.

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 dense but every sentence earns its place: scope, usage timing, exclusions with sibling routing, and shared return elements. It is not as tight as a two-sentence definition, but the length is justified by the need to differentiate among three insight tiers.

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 the output schema, annotations, and sibling context, the description is complete: it tells the agent what the tool returns, when to call it, which tools to use instead for excluded content, and what all insight tiers share. An agent can select and invoke this tool correctly without further inference.

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 the parameters are already fully documented in the input schema. The description does not need to restate parameter semantics, and while it references timezone-aware heatmap behavior, it does not materially add beyond the schema. 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?

The description uses a specific verb ('Get'), names the resource ('expert diagnostics'), and enumerates the concrete insight types it returns. It also explicitly distinguishes this tier from its basic and advanced siblings, so an agent can identify the tool's unique purpose.

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?

The description states when to use it ('Use only after basic or advanced have established what changed') and gives explicit exclusions with routing to sm_get_insights_basic and sm_get_insights_advanced. This is clear, actionable guidance with named alternatives.

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