Skip to main content
Glama

Dutify

pm_list_workspace_members

Read-onlyIdempotent

List members of the current workspace. Workspace is taken from the MCP config — no need to pass it. RESPONSE IS A PAGINATED ENVELOPE, NOT AN ARRAY: {users: WorkspaceUserDTO[], totalCount, page, size, totalPages} — read members from users (treating the response itself as a list fails). FOOTGUN: size DEFAULTS TO 20 when omitted, so a single call silently returns only the first 20 members and no error — don't assume it's the full roster. To enumerate everyone, page (page is 0-based) until you have collected totalCount. size is capped at 100 and a value >100 is a 400, not clamped. Use search (case-insensitive substring on first/last name or email, applied before paging) to find a specific member instead of paging blindly. Side effect: updates the caller's last-active timestamp. API-key scope: workspaces:read.

Input Schema

NameRequiredDescriptionDefault
pageNo0-based page number
sizeNoPage size, 1–100. DEFAULTS TO 20 if omitted (silent truncation); >100 returns 400.
searchNoCase-insensitive substring on first name / last name / email; applied before paging, so totalCount reflects matches.
accountNoMulti-account auth only: name of the account from X-Dutify-Accounts to use for this call. Ignored in single-account mode (X-API-Key header). When multiple accounts are configured and this is omitted, the call fails with ACCOUNT_REQUIRED listing the available names. list_accounts never requires a selection.
workspaceNoWorkspace identifier or exact name for this call. Overrides the configured workspace. For personal keys, discover candidates with list_workspaces and select explicitly. Does not change other calls or expand a workspace key's access.
sortColumnNo
sortDirectionNo'asc' or 'desc'

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past the annotations: it names the paginated envelope shape and the failure mode of treating it as an array, warns that `size` silently defaults to 20, states that >100 is a 400 rather than a clamp, discloses the last-active timestamp side effect, and names the required `workspaces:read` scope. These are exactly the non-obvious traits an agent cannot get from readOnlyHint/idempotentHint.

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?

Front-loaded with purpose, then the highest-risk facts (response shape, truncation footgun) before the finer points. Dense but nearly every sentence carries distinct value; only the restatement of schema-level details like the 20 default and 0-based paging is mildly redundant.

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?

With no output schema, the description supplies the response envelope shape, and with 7 optional params it covers the operational pitfalls (truncation, 400 cap, pre-paging search) and auth scope. An agent has everything needed to call it correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 86%, so the baseline is 3; the description still adds meaning by explaining that `search` is applied before paging (so totalCount reflects matches) and that `workspace` need not be passed. Much of the `size`/`page` prose repeats what the schema already documents, keeping this short of a 5.

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 members of the current workspace') and immediately clarifies scope resolution ('Workspace is taken from the MCP config'), which separates it from team-, invitation-, and account-listing siblings. No ambiguity about what is returned or which workspace is targeted.

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?

Gives clear in-tool routing advice: use `search` to find a specific member rather than paging blindly, and page until `totalCount` is collected. It does not, however, contrast itself with adjacent siblings such as pm_get_workspace_context, pm_list_invitations, or hub_list_members, so the cross-tool routing is left to inference.

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