Skip to main content
Glama

browse_groups

Search and filter public study groups by category, country, availability, open status, or camera verification. Retrieve paginated results with member counts and owner details.

Instructions

Browse public study groups.

:param category_id: Filter by category ID; ``0`` means all categories.
    Default ``0``.
:type category_id: int
:param page: Page number. Default ``1``.
:type page: int
:param country_id: Filter by country ID; omit for all countries.
:type country_id: int | None
:param order_type: Sort order, e.g. ``"promotedAt"``. Default
    ``"promotedAt"``.
:type order_type: str
:param only_available: Show only groups with free slots. Default
    ``False``.
:type only_available: bool
:param only_open: Show only open groups. Default ``False``.
:type only_open: bool
:param only_cam: Show only groups with camera verification. Default
    ``False``.
:type only_cam: bool
:returns: List of group mappings with ``id``, ``title``, ``category``,
    ``owner``, ``slogan`` and ``member_count``.
:rtype: list[dict[str, Any]]
:raises RuntimeError: If YPT credentials are not configured.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
only_camNo
only_openNo
country_idNo
order_typeNopromotedAt
category_idNo
only_availableNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries some burden. It discloses a RuntimeError condition (YPT credentials not configured), which is useful behavioral context. However, it doesn't mention pagination behavior, rate limits, or that results are paginated. The credential requirement is a good addition.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured as a docstring with :param: and :type: lines, which is verbose. The core purpose sentence is front-loaded, but the parameter documentation repeats the schema and is not as concise as it could be. It earns its place but is longer than ideal.

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?

Given 7 parameters, no annotations, and a rich output schema, the description is largely complete: it documents all parameters, return values, and error conditions. The presence of an output schema reduces the need to describe returns, but it does so anyway. Missing: pagination details and explicit sibling differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does so effectively by documenting every parameter with type, default, and meaning (e.g., category_id 0 means all, only_available shows free slots). This is a strong parameter documentation effort that fills the schema 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?

Clear verb 'Browse' + resource 'public study groups', and it implies a listing/discovery operation distinct from get_my_groups. However, it doesn't explicitly differentiate itself from siblings like get_my_groups in the description text.

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?

No guidance on when to use this vs get_my_groups or other siblings. It's inferable from the name and 'public' qualifier, but there's no explicit when-to-use or exclusion criteria.

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