Skip to main content
Glama

List users

list_users
Read-only

Find user IDs on an Immich server to enable sharing or partner creation. Returns each user's ID, name, and email for access decisions.

Instructions

The users visible on this Immich server. Use this to find the id that create_partner needs, or to see who could be shared with. Read-only.

Returns: JSON with total and a users array of {id, name, email}.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.2

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so "Read-only" in the description restates structured data and earns no credit. The useful additions are the visibility scoping (only users visible on this server) and the returned fields, though the latter is partly redundant given an output schema exists. Nothing is said about ordering or whether the list is complete for the account.

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?

Three short lines, front-loaded with the resource, then usage, then return shape. The "Read-only" sentence duplicates the annotations and is the only line that does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read with annotations and an output schema covering return values, the description supplies what an agent still needs: scope and a concrete reason to call it. The remaining gap is sibling disambiguation against list_people, which matters given how many listing tools exist here.

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?

The tool takes zero parameters, so there is no parameter meaning to add; the baseline for a parameterless tool applies. The description correctly implies no filtering options exist, but it does not explicitly confirm that the full list is always returned unfiltered.

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?

The description identifies the resource precisely ("The users visible on this Immich server") and the return shape (a users array of {id, name, email}), so an agent can tell this enumerates users. It stops short of an explicit verb like "list" and never distinguishes users from the sibling list_people, which is a plausible confusion in this toolset.

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 gives concrete when-to-use guidance: "Use this to find the id that create_partner needs, or to see who could be shared with." That ties the call to a downstream need rather than leaving usage implied. It does not name list_people as the alternative for person records, so the one genuinely ambiguous boundary is unaddressed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools