Skip to main content
Glama

insync_list_messages

Read-only

List secure patient-portal messages by folder (unread, read, sent) or filter by search, archive status, and attachments. Returns message IDs and key metadata without marking anything read.

Instructions

List secure messages from your practice — unread, read or sent. Returns sender, recipient, subject, date, attachment count and the ids insync_get_message needs. Listing does NOT mark anything read.

Input Schema

NameRequiredDescriptionDefault
pageNo1-based page number. Default 1.
viewNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact projects each record to the fields a caller acts on; "full" keeps every field this server understands. (No "raw": the record is assembled here, not passed through from one endpoint.)
folderNoWhich folder to list. Default unread.unread
searchNoFilter to messages matching this text.
archivedNoWhen true, list archived messages.
page_sizeNoMessages per page (1–100). Default 25.
has_attachmentNoWhen true, list only messages that carry an attachment.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

With readOnlyHint=true and destructiveHint=false already declaring the safety profile, the description adds a genuinely non-obvious behavior: 'Listing does NOT mark anything read' — critical for an inbox-style tool where reads are often implicitly stateful. It also enumerates return fields, compensating for the absent output schema, though it says nothing about pagination behavior or total counts.

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?

Two sentences, front-loaded with purpose, then side-effect disclosure, then return shape. No filler; every clause carries information an agent needs before calling.

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?

For a 7-parameter read-only list tool with no output schema, the description covers purpose, side effects and return fields well. It stops short of explaining filter interaction (archived vs folder, search scope) or pagination beyond what the schema already states.

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 page, page_size, view, search, has_attachment and archived are all documented in the schema itself. The description only echoes the folder values and adds no new syntax or semantics for the remaining filters, so the baseline 3 applies.

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

Purpose5/5

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

Specific verb plus resource with an explicit scope ('secure messages from your practice — unread, read or sent'). It also implicitly contrasts with the sibling insync_get_message by framing this as the listing step that yields the ids get_message needs.

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

Usage Guidelines4/5

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

The chaining sentence ('the ids insync_get_message needs') tells the agent this is the entry point before fetching message detail. It doesn't state explicit exclusions or how to combine filters (e.g. archived with folder), so usage is clear but not fully prescribed.

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