Skip to main content
Glama

Find meetings matching filters. Use this when the user gives keyword, date, participant, or status criteria; use listMeetings for plain browsing or listUpcomingMeetings for the next scheduled ones. If the user only has a name or initials, use listMeetingContacts with any meeting id to resolve the email first, then search by participant_emails. Searches meetings the caller can access: owned, directly invited to, or shared with their workspace (link-only shares are excluded). Filters: `q` (title/alias substring plus full-text over the title and the meeting summary and internal notes, so a term appearing only in a summary matches; quoted phrases and `-exclusions` supported), `start_time_from`/`start_time_to` (ISO 8601 with timezone), `status` (`scheduled` or `completed`), `title_contains`, `participant_emails` (comma-separated), and `has_action_items`. All optional and combined with AND. When `q` is given, results are ordered by relevance (full-text rank plus a title-substring boost), not recency, and items may carry `match_context` — a highlighted snippet from the notes passage that matched; it is absent for title/alias-only matches and filter-only calls. Paginate with `limit`/`offset`. `summary_notes` is not returned here; fetch via v1GetMeeting.

searchMeetings
Read-onlyIdempotent

Find meetings matching filters. Use this when the user gives keyword, date, participant, or status criteria; use listMeetings for plain browsing or listUpcomingMeetings for the next scheduled ones. If the user only has a name or initials, use listMeetingContacts with any meeting id to resolve the email first, then search by participant_emails.

Searches meetings the caller can access: owned, directly invited to, or shared with their workspace (link-only shares are excluded). Filters: q (title/alias substring plus full-text over the title and the meeting summary and internal notes, so a term appearing only in a summary matches; quoted phrases and -exclusions supported), start_time_from/start_time_to (ISO 8601 with timezone), status (scheduled or completed), title_contains, participant_emails (comma-separated), and has_action_items. All optional and combined with AND. When q is given, results are ordered by relevance (full-text rank plus a title-substring boost), not recency, and items may carry match_context — a highlighted snippet from the notes passage that matched; it is absent for title/alias-only matches and filter-only calls. Paginate with limit/offset. summary_notes is not returned here; fetch via v1GetMeeting.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoFree-text query matched against the meeting title and email alias (case-insensitive substring) and full-text against the meeting title and the meeting summary and internal notes, so terms appearing only in a meeting's notes match. Supports quoted phrases and -exclusions.
limitNoMaximum items per page (1-100, default 20)
offsetNoNumber of items to skip (default 0)
statusNoFilter by meeting status
start_time_toNoInclusive upper bound on start time (ISO 8601 with timezone)
title_containsNoCase-insensitive substring match against the meeting title
start_time_fromNoInclusive lower bound on start time (ISO 8601 with timezone)
has_action_itemsNoRestrict to meetings that do (true) or do not (false) have action items
participant_emailsNoComma-separated participant email addresses to filter by

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsNoArray of items for the current page
limitNoMaximum number of items per page
totalNoTotal number of items across all pages
offsetNoNumber of items skipped from the beginning

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / items / items / properties / applied_template_ids / description
      Previous value: -"AppliedTemplateIDs is the list of template IDs that have been applied to this meeting"New value: +"IDs of the meeting templates applied to this meeting; updated synchronously by PATCH and asynchronously after a templated create"
    • addedOutput schema / properties / items / items / properties / template_id
      Added value: +{
      +  "description": "ID of the meeting template linked via template_id on create or update, if any. Linking alone does not mean the template content has been applied — see applied_template_ids",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / items / items / properties / match_context
      Added value: +{
      +  "description": "A highlighted snippet from the meeting's notes explaining why a `q` search matched. Only populated by search endpoints when a query is provided and the match came from notes content; omitted otherwise (e.g. title-only matches).",
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / q / description
      Previous value: -"Free-text query matched (case-insensitive substring) against the meeting title and email alias"New value: +"Free-text query matched against the meeting title and email alias (case-insensitive substring) and full-text against the meeting title and the meeting summary and internal notes, so terms appearing only in a meeting's notes match. Supports quoted phrases and -exclusions."
    • addedOutput schema / properties / items / items / properties / applied_template_ids
      Added value: +{
      +  "description": "AppliedTemplateIDs is the list of template IDs that have been applied to this meeting",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  4. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description reveals meaningful behavior: access scope (link-only shares excluded), relevance ordering when q is used, match_context presence conditions, pagination semantics, and the fact that summary_notes is omitted. These details materially help an agent predict outcomes.

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 long but every sentence carries load: usage routing, access scope, filter semantics, ordering, pagination, and return-value caveats. It is front-loaded with the most important selection guidance and uses structured punctuation to keep the detail scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 optional parameters, no required fields, and an output schema, the description covers everything an agent needs to invoke this correctly: when to use it, what it returns, how results are ordered, how to paginate, and what is intentionally absent. No critical operational detail is missing.

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

Parameters5/5

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

Even though schema coverage is 100%, the description adds important semantic nuance: q performs full-text matching over notes and supports quoted phrases/exclusions, status values are enumerated, participant_emails is comma-separated, and filters combine with AND. This goes well beyond the baseline schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tautological: description restates name/title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use this tool ('when the user gives keyword, date, participant, or status criteria'), names alternatives for other cases, and even provides a resolution path for name-only queries via listMeetingContacts. This is exemplary routing guidance with no ambiguity left to inference.

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.

Resources