List segments
customerio_list_segmentsList all segments in the workspace (id + name + type). App API: GET /v1/segments.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
customerio_list_segmentsList all segments in the workspace (id + name + type). App API: GET /v1/segments.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds the REST endpoint and the returned fields, but discloses no pagination, rate-limit, or authorization behavior; for a zero-parameter list this is acceptable but not especially rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, focused sentence front-loads the action and scope, then adds a useful API reference. There is no filler and every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list operation with no output schema, the description is sufficiently complete. It names the exact resource, scope, and response fields, and the annotation covers the safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is no parameter documentation burden. The baseline of 4 applies, and the description avoids any ambiguity by focusing on what the response contains rather than on inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States an explicit verb ('List'), resource ('all segments in the workspace'), and result shape (id + name + type). The phrase 'all segments in the workspace' also distinguishes it from the customer-scoped sibling tool customerio_get_customer_segments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies workspace-level enumeration, but it does not explicitly say when to choose this over sibling tools such as customerio_get_customer_segments. No alternative is named and no exclusion is given, so guidance remains implicit rather than direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool maps to a distinct resource and action: campaign, customer, segment, message, collection, export, or send. The potentially similar pairs like list_messages/get_customer_messages and list_segments/get_customer_segments are clearly differentiated by workspace-wide vs per-customer scope.
All tools consistently use a customerio_ prefix with verb_noun snake_case naming. get_ is used for single-resource operations, list_ for collections, and send_/trigger_ for actions, creating a predictable pattern.
13 tools is well within the ideal range for an API integration and each tool represents a meaningful endpoint. There is no obvious redundancy or padding; campaigns, customers, messages, segments, collections, exports, and sends all have coverage.
The surface is solid for reading Customer.io data and triggering sends, but it lacks common lifecycle operations like creating/updating/deleting customers, tracking events, or listing transactional templates. These are notable gaps that can force agents to rely on out-of-band IDs for send workflows.