Skip to main content
Glama

get-user-by-id

Read-only

Retrieve a user by ID, optionally including custom attributes or groups, to inspect or manage Concrete CMS user records.

Instructions

Find a user by its ID

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "userID": "<userID>"
    },
    "name": "get-user-by-id"
  }
}

Input Schema

NameRequiredDescriptionDefault
userIDYesID of user to return
includesNoincludes parameter

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0-alpha.1

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and carry the same title text, so the description adds no behavioral context beyond them. It says nothing about error handling for unknown IDs, permission requirements, or what the returned record contains, leaving the read semantics entirely to the annotations.

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?

A single short sentence, front-loaded with the verb and resource, with no filler. It is efficient, though its brevity leaves the description under-specified rather than optimally structured.

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?

For a simple two-parameter read lookup with full schema coverage and a readOnlyHint, the essentials are present. With no output schema, however, the description could have said what a user record returns or how includes affect the response, which is a clear remaining gap.

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 coverage is 100%, so userID and the includes enum are already documented structurally. The phrase 'by its ID' loosely reinforces userID but the description does not clarify what the includes options (custom_attributes, groups) expand or when to request them, so it does not exceed the schema baseline.

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 names a specific verb and resource (find a user) and its lookup key (by ID), so the operation is unambiguous. However, it does not distinguish this from siblings like get-users, update-user-by-id, or delete-user-by-id, which share the same resource.

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?

There is no guidance about when to use this single-user lookup versus get-users for listing, or versus update/delete variants. The agent must infer selection from the name alone, and nothing is said about behavior when the ID does not exist.

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