Skip to main content
Glama

Space Monkey Mailchimp Dashboard

Get tags and segments

sm_get_member_segments
Read-onlyIdempotent

Get tags and segments with their engagement and status breakdowns. Use to turn an event or interest tag into a working audience. Every tag and segment is returned in one unpaginated call, but untagged members are excluded from the tag list and surface only as a separate untaggedCount, and tag engagement rates exclude insiders while tag member counts do not.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
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.

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.
tagsNoTag rows with member counts.
errorNoA human-readable error message detailing what went wrong.
segmentsNoSegment rows with member counts.
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.
totalCountNoTotal members in the audience.
tagEngagementNoPer-tag engagement rollup rows.
untaggedCountNoMembers with no tags.
subscribedCountNoSubscribed members in the audience.
tagStatusBreakdownNoTag-by-status member count rows.
overallAvgEngagementNoAudience-wide mean engagement score.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed20 schema fields changed
    • changedOutput schema / description
      Previous value: -"Output for the sm_get_member_segments tool. Failure payloads arrive in the same envelope as { error, message, code }."New value: +"Output for the sm_get_member_segments tool. Failure payloads arrive in the same envelope as { error, code }."
    • addedOutput schema / properties / overallAvgEngagement / description
      Added value: +"Audience-wide mean engagement score."
    • addedOutput schema / properties / segments / description
      Added value: +"Segment rows with member counts."
    • addedOutput schema / properties / segments / items / properties / memberCount / description
      Added value: +"Members in the segment."
    • addedOutput schema / properties / segments / items / properties / name / description
      Added value: +"Segment name."
    • addedOutput schema / properties / subscribedCount / description
      Added value: +"Subscribed members in the audience."
    • addedOutput schema / properties / tagEngagement / description
      Added value: +"Per-tag engagement rollup rows."
    • addedOutput schema / properties / tagEngagement / items / properties / avgEngagementScore / description
      Added value: +"Mean engagement score for the tag."
    • addedOutput schema / properties / tagEngagement / items / properties / leaderCount / description
      Added value: +"Leaders carrying the tag."
    • addedOutput schema / properties / tagEngagement / items / properties / memberCount / description
      Added value: +"Members carrying the tag."
    • addedOutput schema / properties / tagEngagement / items / properties / name / description
      Added value: +"Tag name."
    • addedOutput schema / properties / tagStatusBreakdown / description
      Added value: +"Tag-by-status member count rows."
    • addedOutput schema / properties / tagStatusBreakdown / items / properties / memberCount / description
      Added value: +"Members in the tag and status."
    • addedOutput schema / properties / tagStatusBreakdown / items / properties / status / description
      Added value: +"Subscription status."
    • addedOutput schema / properties / tagStatusBreakdown / items / properties / tagName / description
      Added value: +"Tag name."
    • addedOutput schema / properties / tags / description
      Added value: +"Tag rows with member counts."
    • addedOutput schema / properties / tags / items / properties / memberCount / description
      Added value: +"Members carrying the tag."
    • addedOutput schema / properties / tags / items / properties / name / description
      Added value: +"Tag name."
    • addedOutput schema / properties / totalCount / description
      Added value: +"Total members in the audience."
    • addedOutput schema / properties / untaggedCount / description
      Added value: +"Members with no tags."
  2. Changed2 schema fields changed
    • 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."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Output for the sm_get_member_segments tool. Failure payloads arrive in the same envelope as { error, message, code }.",
      +  "properties": {
      +    "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"
      +    },
      +    "error": {
      +      "description": "A human-readable error message detailing what went wrong.",
      +      "type": "string"
      +    },
      +    "overallAvgEngagement": {
      +      "type": "number"
      +    },
      +    "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"
      +    },
      +    "segments": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Directory of Mailchimp segments.",
      +        "properties": {
      +          "createdAt": {
      +            "description": "ISO 8601 UTC timestamp.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "memberCount": {
      +            "type": "integer"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "segmentId": {
      +            "description": "Numeric string by contract.",
      +            "type": "string"
      +          },
      +          "segmentType": {
      +            "description": "The public surface deliberately renames the reserved word `type`; the shared core still returns `type`.",
      +            "type": "string"
      +          },
      +          "updatedAt": {
      +            "description": "ISO 8601 UTC timestamp.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "subscribedCount": {
      +      "type": "integer"
      +    },
      +    "tagEngagement": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Engagement metrics associated with a specific tag.",
      +        "properties": {
      +          "avgEngagementScore": {
      +            "type": "number"
      +          },
      +          "leaderCount": {
      +            "type": "integer"
      +          },
      +          "memberCount": {
      +            "type": "integer"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "tagStatusBreakdown": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Member statuses within a specific tag context.",
      +        "properties": {
      +          "memberCount": {
      +            "type": "integer"
      +          },
      +          "status": {
      +            "type": "string"
      +          },
      +          "tagName": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "tags": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "Directory of Mailchimp tags.",
      +        "properties": {
      +          "memberCount": {
      +            "type": "integer"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "tagId": {
      +            "description": "Numeric string by contract.",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "totalCount": {
      +      "type": "integer"
      +    },
      +    "untaggedCount": {
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4/5.0
Behavior5/5

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

The description discloses behavior the annotations cannot: the call is unpaginated and returns every tag/segment, untagged members are excluded from the tag list and only appear via a separate untaggedCount, and engagement rates exclude insiders while member counts do not. These are non-obvious, outcome-shaping facts an agent would otherwise misread.

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?

Purpose and the audience-building use case are front-loaded, and each sentence carries distinct information with no filler. The final sentence stacks three separate caveats into one long clause, which slightly hurts scannability.

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?

An output schema exists, so return values needn't be documented; the description instead covers the count/rate caveats and the no-pagination behavior, which are exactly the gaps an agent would otherwise trip on. Nothing needed 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?

With a single parameter and 100% schema description coverage, the schema already fully documents projectId (format, listing endpoint, 400 VALIDATION_ERROR on omission). The description adds nothing parameter-level, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Get tags and segments") plus the payload shape ("engagement and status breakdowns"), which is enough to separate it from sm_list_members or sm_get_member over similar data. It never names a sibling explicitly, so it falls short of the top band's sibling differentiation.

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

Usage Guidelines3/5

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

"Use to turn an event or interest tag into a working audience" gives one concrete motivating context, which is more than nothing. But there is no when-not guidance, no prerequisites, and no routing to alternatives such as sm_list_members or sm_get_member_campaigns when a plain member listing is what's needed.

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