Skip to main content
Glama

List Users

list_users
Read-onlyIdempotent

List the users of one tenant, addressed by tenant NAME (use list_tenants to find it). Each user includes: id, email, username, first/last name, role key, enabled, onboarded, teams, createdAt, lastSeen (any account activity, NOT a login), lastSignIn (account-wide) and lastWorkspaceSignIn (sign-in to THIS workspace). Use this to discover the email addresses the other user tools take. Fails with TENANT_NOT_FOUND or TENANT_AMBIGUOUS when the tenant name does not resolve to exactly one tenant.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appNoId of the Bridge app to act on for this call (see list_apps). Omit to use the current app.
tenantNameYesTenant NAME from list_tenants (a tenant id is accepted as a fallback).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them by disambiguating three easily-confused timestamp fields (lastSeen is account activity NOT a login, lastSignIn is account-wide, lastWorkspaceSignIn is this workspace) and by naming the two failure modes (TENANT_NOT_FOUND, TENANT_AMBIGUOUS). That is exactly the kind of interpretation guidance an agent cannot get from structured fields.

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 purpose is front-loaded in the first clause, and every sentence carries substantive information rather than filler. The long enumerated field list makes it slightly dense/run-on, but nothing is wasteful.

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?

There is no output schema, and the description compensates by enumerating the returned fields and their semantics, plus the error conditions. For a two-parameter read-only list tool, an agent has everything needed to call it and interpret the result correctly.

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 both parameters are already documented at baseline. The description reinforces that tenantName comes from list_tenants and accepts an id as fallback, but adds no syntax beyond what the schema states, and says nothing about the optional 'app' parameter.

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 a specific verb and resource (list users) scoped to exactly one tenant, and specifies the tenant is addressed by NAME. An agent can immediately distinguish it from get_user, invite_user, and list_tenants without opening any schema.

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?

It names the prerequisite tool for obtaining the required argument (list_tenants) and gives a concrete downstream motivation: 'discover the email addresses the other user tools take.' It does not explicitly contrast with get_user or say when a single-tenant listing is insufficient, but the context is clear and actionable.

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.