Get session
get_sessionReturns everything about one session: its UT context, notes, task measurements, and linked transcript excerpts.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | ||
| includeFullTranscript | No |
get_sessionReturns everything about one session: its UT context, notes, task measurements, and linked transcript excerpts.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | ||
| includeFullTranscript | No |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with readOnlyHint (returns data, no side effects) and adds context by listing what data is included and specifying 'linked transcript excerpts' rather than a full transcript. However, it doesn't disclose the behavior of the includeFullTranscript parameter or any other nuances beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence, front-loaded with the primary action, then a colon and a clear enumeration. Zero waste, easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there's no output schema, the description does enumerate key return contents, but it misses the optional includeFullTranscript behavior and doesn't clarify how this relates to sibling tools. For a single GET-style tool, it's minimally adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description needs to explain the parameters. It doesn't mention sessionId semantics (though obvious from name) and completely omits the includeFullTranscript parameter, leaving the agent guessing about its purpose and effect. The phrase 'linked transcript excerpts' is the only hint, but it's insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and clearly defines the resource scope: everything about one session, enumerating its components (UT context, notes, task measurements, transcript excerpts). This distinguishes it from sibling tools like get_transcript or get_ut, which focus on single aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the comprehensive way to retrieve all session data, but it doesn't explicitly state when to prefer this over sibling tools like get_transcript or get_quantitative_report. No exclusions or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Every tool targets a distinct resource and action. Even get_ut, which returns comprehensive data, doesn't replace the specialized get_session, get_transcript, or get_quantitative_report for detailed views. No two tools have overlapping purposes.
All names follow a verb_noun pattern with underscores (e.g., add_task, get_ut, list_workspaces). The main inconsistency is using 'create' for UTs (create_ut) but 'add' for child entities (add_use_case, add_task), and having a separate update_scenario instead of folding it into update_ut, but the convention is still predictable.
With 18 tools, the set is slightly above the typical 3-15 well-scoped range, but the domain of usability testing requires distinct operations for drafting (use cases, tasks, scenario), reading results (reports, sessions, transcripts), and comparison. Each tool has a clear role, so the count feels reasonable rather than excessive.
The tool surface covers the core lifecycle: create, read, update, and delete for tasks/use cases, plus comprehensive retrieval of results and notes. Minor gaps include no delete_ut (UTs cannot be removed) and no explicit status change or cloning mechanism, but these are likely intentional app-side actions, so the surface is not severely incomplete.