Skip to main content
Glama

slack_read_channel

Read-onlyIdempotent

Read a page of channel or DM history newest first, then follow the cursor to fetch more. Use it to review recent conversations and gather context from Slack.

Instructions

Read a page of channel or DM history, newest first. Requires access to the conversation. Follow next_cursor for more pages. User mentions in text are shown as @name; user_names maps user IDs to names (use <@ID> to mention someone when sending).

Input Schema

NameRequiredDescriptionDefault
limitNo
cursorNonext_cursor from the previous page; omit for the first page.
latestNoSlack message timestamp, kept as a string.
oldestNoSlack message timestamp, kept as a string.
channelYesSlack conversation ID. Resolve the intended channel or DM before sending.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the description's value is the extra behavior it adds: results come newest-first, pages are chained through next_cursor, and mentions are rendered as @name with a user_names map for resolving IDs. These are concrete traits an agent would not get from the annotations or schema, though access-failure behavior is not described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the core action and ordering front-loaded, followed by prerequisites and pagination. The trailing parenthetical about how to mention someone is slightly tangential to a read operation but is genuinely useful cross-context and costs only a clause.

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 carries the burden of explaining the response, and it does so for the key pieces: next_cursor, the user_names map, and mention formatting. What remains unstated is the shape of the message objects themselves and what happens when the channel is inaccessible.

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 coverage is 80%, so cursor, oldest, latest and channel are already documented in the schema. The description reinforces the cursor pattern and explains the user_names/mention convention, but adds nothing about limit bounds or how oldest/latest interact with newest-first ordering. Baseline 3 is appropriate.

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

Purpose4/5

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

The first sentence gives a specific verb and resource ('Read a page of channel or DM history') plus ordering ('newest first'), which lets an agent distinguish this from message-sending or search tools. It does not explicitly name the closest sibling, slack_read_thread, so the boundary between reading a whole channel and reading one thread is left implicit.

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

Usage Guidelines3/5

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

Usage is only implied: the tool is for pulling conversation history and 'Requires access to the conversation.' The pagination instruction ('Follow next_cursor for more pages') is operational guidance rather than a when-to-use rule. There is no statement about when to prefer slack_read_thread or slack_search_messages instead.

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