Skip to main content
Glama
0xdeadd
by 0xdeadd

read_thread

Retrieve iMessage history from a specific chat in chronological order, with optional date filter and message limit for focused review.

Instructions

Read messages from one chat, in date order.

chat accepts a chat ROWID, a chat guid/chat_identifier, or a case insensitive substring of a contact/display name. If the name is ambiguous, this returns a list of candidate chats instead of messages. since is an optional "YYYY-MM-DD" or "YYYY-MM-DD HH:MM" local time filter. limit caps how many of the most recent matching messages come back (still returned oldest first).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chatYes
limitNo
sinceNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does so well: it discloses chat identifier/name/substring forms, ambiguous-name candidate-list behavior, the date-time format for since, and the limit/ordering nuance. It omits edge cases like no-match handling, but still conveys substantial non-obvious behavior.

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 compact and well-structured: purpose first, then each parameter's semantics in turn. Every sentence adds distinct value without repeating schema defaults or titles.

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 three-parameter read-only tool with an output schema available, the description covers the main callability concerns: chat resolution, time filtering, and limits/ordering. Minor gaps such as no-match behavior or the default of since do not prevent correct invocation.

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?

Schema description coverage is 0%, and the description fully compensates by explaining exactly what chat accepts, what since means and its accepted formats, and how limit affects result selection and ordering. This is the semantic information an agent needs beyond the raw parameter names.

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?

States a specific action ('Read messages from one chat') with a clear resource, scope, and ordering guarantee. The one-chat focus clearly separates it from sibling tools like list_chats, search, and send.

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 description provides clear context for when to use this tool: reading a single chat's messages in date order. It doesn't explicitly name alternatives or exclusion conditions, so it stops short of full routing guidance.

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

Deploy Server

Other Tools