Skip to main content
Glama

Retrieve a user

immich_get_user
Read-onlyIdempotent

Retrieve a specific Immich user by UUID to access account details and confirm identity.

Instructions

Retrieve a user

Retrieve a specific user by their ID.

Immich operation: GET /users/{id} · tag: Users

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesformat: uuid

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds nothing behavioral beyond restating the HTTP route; it never says whether this requires admin privileges, whether it can fetch any user or only the caller, or what happens on a missing ID.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short, but the opening duplicates the title verbatim ('Retrieve a user') and the next line paraphrases it ('Retrieve a specific user by their ID') before restating the API route and tag. Two of the four lines carry no incremental information.

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

Completeness3/5

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

With no output schema and no annotation gaps to fill, the definition is minimally viable for a simple get-by-id call, but it should say whose user record is retrievable and what the response contains (profile fields vs. admin-only fields) to be complete for a Users-domain tool.

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% for the single `id` parameter, so the schema already carries the parameter contract (uuid format, required). The description only restates that lookup is 'by their ID' and adds no format, scope, or constraint detail beyond the schema.

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?

States a clear verb+resource+lookup key: retrieving a specific user by ID, and the embedded GET /users/{id} leaves no ambiguity about the operation. However, it makes no attempt to distinguish itself from closely related siblings such as immich_get_my_user, immich_get_user_admin, or immich_search_users, which an agent must choose between.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus immich_get_my_user (self) or immich_get_user_admin (admin view of another user). Given the dense sibling set of user-retrieval tools, the absence of any routing condition is a real gap.

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