Skip to main content
Glama

get_user

Read-only

Retrieve a single user's role, groups, timesheet approval date, and rates when available by providing their name, email, ID, or 'me'.

Instructions

Read one user: their role, their groups, the date their times are approved until, and their rates when the plan exposes them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
userYesThe user, by name, email, id, or `me`.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe user's identifier.
codeNoThe user's code, as set by the administrators.
nameNoThe user's display name.
roleNoOne of `contributor`, `collaborator`, `manager`, `director`, `admin`.
emailNoThe user's email address.
groupsNoThe groups the user belongs to.
created_atNoWhen the user was created.
updated_atNoWhen the user was last updated.
disabled_atNoWhen the user was disabled, if they were.
hourly_costNoThe user's hourly cost. Only on the budget offer.
hourly_rateNoThe user's hourly rate. Only on the budget offer.
is_disabledNoDeprecated upstream in favour of `disabled_at`.
timesheet_approved_untilNoThe date until which this user's times are approved.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds one useful behavioral detail — that rates are only returned 'when the plan exposes them' — but says nothing about permissions, error cases, or the meaning of 'approved until'.

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?

One tightly packed sentence that front-loads the verb and resource and appends the returned fields with no filler.

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 one-parameter read-only getter with an output schema present, the description covers what the agent needs; return-value documentation is provided in the schema. It stops short of routing guidance or edge-case behavior, but nothing essential to calling it correctly 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?

Schema description coverage is 100%; the single `user` parameter is already documented as accepting name, email, id, or `me`. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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 ('Read one user') and enumerates the returned data (role, groups, approval date, rates). This distinguishes it from siblings like list_users (plural), whoami (self), and get_group (different resource) 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 Guidelines3/5

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

Usage is only implied by the singular 'one user' framing; the description never says when to reach for this vs list_users or whoami, nor any prerequisites. Adequate but leaves the agent to infer the alternative.

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