Skip to main content
Glama

Read my messages

connections_message_read_messages
Read-only

Read the member's own Connections messages. With no conversation id it returns the inbox: each conversation with who, its latest message, when, and whether unread. With one, it returns that conversation's messages, newest page first, each marked as the member's or the other person's; pass the earlier message id as before to go back. Read-only.

Input Schema

NameRequiredDescriptionDefault
beforeNoOptional, with a conversation. The id of the oldest message already read; returns the page before it.
personNoLinked person to run this call as (first name). Omit to run as the connection's holder.
projectNoWorkspace to run this call in (id or name).
conversationNoOptional. A conversation id as the inbox lists it (it starts with c:). Leave it out to read the inbox.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / person
      Added value: +{
      +  "description": "Linked person to run this call as (first name). Omit to run as the connection's holder.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / project
      Added value: +{
      +  "description": "Workspace to run this call in (id or name).",
      +  "type": "string"
      +}
  3. Added

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true and destructiveHint=false, and "Read-only" is consistent with them. Beyond that, the description discloses ordering ("newest page first"), pagination direction ("go back" via before), and per-message attribution ("marked as the member's or the other person's") – real behavioral context the annotations do not carry. It does not mention what happens at the end of a thread when no earlier page exists, which would be the last useful detail.

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?

Three short sentences, front-loaded with the core action, then the two return modes in the order an agent would encounter them, then a one-word safety marker. No filler or duplicated schema text.

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 takes on return-shape disclosure and does it well for both the inbox and thread modes, including unread state and message attribution. The only gap is that the person and project parameters, which change whose account and workspace the read runs against, are not surfaced at all.

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 defines before, conversation, person and project in detail; baseline is 3. The description reinforces the meaning of conversation (inbox vs thread) and the direction of before ("earlier message id ... to go back"), but says nothing about person or project, leaving the impersonation and workspace scoping entirely to the schema.

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?

The description gives a specific verb and resource ("Read the member's own Connections messages") and immediately splits the tool into its two concrete modes: inbox when no conversation id is supplied, thread when one is. This cleanly separates it from the write siblings connections_message_reply and connections_message_start without requiring the reader to open the schema.

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?

"With no conversation id it returns the inbox" and "With one, it returns that conversation's messages" make the selection condition between the two modes explicit, and the pagination instruction ("pass the earlier message id as before to go back") tells the agent how to continue. It stops short of naming sibling tools such as connections_message_reply for the follow-up write action, so routing is left partly 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