Skip to main content
Glama

Lessonspace MCP by usefulapi

List sessions

lessonspace_list_sessions
Read-only

List the organisation's sessions (a session is one meeting held in a space): name, uuid, start/end time, space, participants (name, email, role), guests, billable seconds, tags, summary and recording state. Filter by time, duration, participant, space, launch id or tags. Newest first as Lessonspace orders them. Each session's playback_url is an access link to its recording, and participant emails are personal data: treat both as sensitive and share them only with someone entitled to see them. GET /organisations/sessions/.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page. The page size is fixed by Lessonspace.
tagsNoSession tags to match (key/value; an empty value matches the key's existence).
searchNoA session uuid (exact), otherwise part of the session name.
user_idsNoLessonspace user ids (from lessonspace_list_users); sessions these users attended.
launch_idNoThe `id` given to lessonspace_launch_space (case-sensitive exact match).
space_idsNoSpace ids; only sessions held in these spaces (sent as repeated parameters).
user_nameNoPart of a participant's name (case-insensitive).
date_afterNoOnly sessions created after this time (with date_before: the same as start_time_after plus end_time_before).
date_beforeNoOnly sessions created before this time.
duration_maxNoMaximum duration in seconds.
duration_minNoMinimum duration in seconds.
end_time_afterNoISO 8601 date (yyyy-mm-dd) or date-time with a timezone, e.g. 2026-10-01T09:00:00Z.
end_time_beforeNoISO 8601 date (yyyy-mm-dd) or date-time with a timezone, e.g. 2026-10-01T09:00:00Z.
in_progress_onlyNoOnly sessions that are running now.
start_time_afterNoISO 8601 date (yyyy-mm-dd) or date-time with a timezone, e.g. 2026-10-01T09:00:00Z.
user_external_idNoThe external id of a participant (exact, case-insensitive).
start_time_beforeNoISO 8601 date (yyyy-mm-dd) or date-time with a timezone, e.g. 2026-10-01T09:00:00Z.
include_single_userNoInclude sessions that had only one participant (hidden by default).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/non-destructive/openWorld, so the bar is lower. The description adds real context beyond that: 'Newest first as Lessonspace orders them', the sensitive-data warning about playback_url and participant emails, and the underlying GET endpoint. It stops short of describing pagination behavior beyond what the page param already implies.

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?

Front-loaded with purpose, then filters, then ordering, then a privacy caveat. Every sentence carries information, though the returned-field enumeration is long and the privacy note could be marginally tighter.

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?

With no output schema, the description usefully enumerates the returned fields (name, uuid, times, participants, tags, recording state) and adds ordering and privacy guidance. Combined with 100%-covered parameters and read-only annotations, an agent has nearly everything needed; only pagination nuances are left implicit.

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%, so the schema already documents all 18 parameters with types, bounds and examples. The description's filter list (time, duration, participant, space, launch id, tags) mirrors those parameters without adding syntax or semantics beyond the schema, making 3 the correct 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?

States a specific verb ('List') and resource ('the organisation's sessions') and even defines the domain term ('a session is one meeting held in a space'), then enumerates the returned fields. It does not explicitly distinguish itself from the sibling lessonspace_list_space_sessions, but the org-wide scope is implicit in 'the organisation'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 lists the available filters ('time, duration, participant, space, launch id or tags') and the ordering, which implies how to narrow results, but it never states when to prefer this over lessonspace_list_space_sessions or lessonspace_get_session. Usage is inferable rather than explicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.