Skip to main content
Glama

Get customer attributes

customerio_get_customer_attributes
Read-only

Get a single person's attributes (profile fields). App API: GET /v1/customers/{customer_id}/attributes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
customer_idYesThe person's id (or cio_id / email, per your identifier setup).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior3/5

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

readOnlyHint already conveys the read-only nature; the description reinforces it with the GET method and endpoint path. It adds no further behavioral detail such as response shape or empty-attribute behavior, but annotations carry the main burden here.

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?

Two short sentences, with the core action first and the endpoint as a concise reference. No filler or redundancy.

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?

For a one-parameter read-only GET with no output schema, the description plus schema fully cover what is needed to call it: resource, endpoint, identifier semantics, and safety. Nothing critical 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?

Input schema covers 100% of the one parameter, including identifier alternatives (id, cio_id, email), so the description need not restate it. The endpoint path indirectly confirms customer_id placement but adds no new semantic meaning.

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?

States the resource precisely: a single person's attributes/profile fields, via a GET to the customers attributes endpoint. This differentiates it from siblings like customerio_get_customer_messages and customerio_get_customer_segments by resource type.

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?

The description implies the appropriate use case: retrieving profile fields for one person, which is distinct from messages or segments. It does not explicitly name alternatives or exclusions, but the 'attributes/profile fields' scoping provides clear enough context for this simple tool.

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.