Skip to main content
Glama
alien2003

rc-mcp

by alien2003

Read messages in a room

get_messages
Read-onlyIdempotent

Read decrypted messages from a Rocket.Chat room, oldest-first per page, with cursor-based paging and optional thread replies.

Instructions

Read messages of one room, decrypted, oldest-first within the returned page (newest page by default). Each message has id, ts, author, text, thread_id/reply_count, attachments and a permalink. Page backwards with before = the returned older_than_cursor. Thread replies are excluded unless include_thread_replies is true (use get_thread for a whole thread). The room is synced incrementally before reading.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
roomYesRoom id, room name (e.g. "dev-handbook"), display name, or "@username" for a direct message.
afterNoOnly messages at or after this instant.
limitNoMessages to return (default 30, max 200).
beforeNoOnly messages strictly before this instant (pass older_than_cursor to page back).
include_thread_repliesNoAlso include replies that live in threads.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

With annotations covering read-only/idempotent safety, the description adds substantial behavioral context: decryption, ordering and pagination semantics, connection to the older_than_cursor, default exclusion of thread replies, and the fact that the room is synced incrementally before reading.

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 dense and front-loaded: purpose first, then return shape, pagination, thread behavior, and sync note. Every sentence adds operational value for an agent.

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 there is no output schema, the description helps by naming the returned fields and explaining pagination and thread behavior. Combined with annotations and a fully documented schema, it covers what an agent needs to call the tool correctly.

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 100%, so the baseline is 3. The description adds useful meaning for before (linking it to the returned older_than_cursor) and for include_thread_replies (clarifying the default exclusion), though it does not add details for after or limit beyond what the schema already provides.

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 states a specific verb and resource ('Read messages of one room') with rich scope: decrypted, oldest-first within a page, newest page by default. It distinguishes itself from siblings by naming get_thread for whole threads and clarifying that thread replies are excluded by default.

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?

It gives clear context for reading room messages and explicitly routes thread retrieval to get_thread. However, it does not compare against search or get_message, and it does not state when not to use this tool beyond the thread-reply case.

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