Skip to main content
Glama
AIops-tools

identity-aiops

user_sessions

Retrieve complete active session details for a user (ID, IP, timestamps, clients) to diagnose access issues and audit activity.

Instructions

[READ] A user's active sessions (id, IP, start/last access, clients).

Args: user_id: User id, from list_users. target: IdP target name from config; omit for the default.

Returns {"sessions": [...], "returned": N, "truncated": false} — the IdP returns the user's whole session set, so this listing is always complete.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNo
user_idYes
max_resultsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.8.5
    • addedInput schema / properties / max_results
      Added value: +{
      +  "default": 200,
      +  "title": "Max Results",
      +  "type": "integer"
      +}
  2. First observedv0.6.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the transparency burden and does well: it labels the operation [READ] and explicitly states the IdP returns the whole session set, so 'truncated' is always false. It does not discuss auth or rate limits, but for a simple non-mutating listing this is solid.

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?

The description is compact and well-organized: a one-line purpose, an Args block, and a Returns block with the return shape and completeness guarantee. Every sentence contributes value and there is no filler.

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?

It covers the core purpose, return shape, and the no-truncation behavior, which is good given there is no output schema. But it fails to document max_results and offers no guidance for choosing among closely related sibling tools, so an agent may still be uncertain in realistic workflows.

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 description adds meaning for user_id ('from list_users') and target ('from config; omit for default'), which is helpful at 0% schema coverage. However, it completely omits max_results, and the 'always complete' claim is not reconciled with that parameter, leaving an important gap.

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 opens with '[READ] A user's active sessions (id, IP, start/last access, clients)', which clearly identifies the resource and the fields returned. The word 'listing' later makes the read/list operation explicit. It distinguishes from client session tools by focusing on 'user's' sessions.

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?

It gives practical input guidance: user_id comes from list_users, and target can be omitted for the IdP default. However, it does not explain when to prefer this over related siblings like client_sessions, client_session_stats, or revoke_user_sessions, nor does it give any exclusion criteria.

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