Skip to main content
Glama

slack_get_thread

Read-onlyIdempotent

Fetch all replies in a Slack message thread using channel ID and thread timestamp. Enables AI agents to access complete thread conversations.

Instructions

Get all replies in a message thread

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
thread_tsYesThread parent message timestamp
channel_idYesChannel or DM ID
provenanceNoAuthor labelling for returned messages. label (default) stamps origin and author_trusted on every message; strict also holds slack_send_message after outside-authored text has been read. Defaults to SLACK_MCP_PROVENANCE, else label. This argument can only tighten labelling, never loosen it: to drop the labels entirely and get the pre-5.1 output shape, set SLACK_MCP_PROVENANCE=off on the server.
include_all_metadataNoPass Slack's include_all_metadata option to conversations.replies
include_rich_message_fieldsNoInclude Slack message attachments, blocks, metadata, files, and reactions when present

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv5.1.0
    • addedInput schema / properties / provenance
      Added value: +{
      +  "description": "Author labelling for returned messages. label (default) stamps origin and author_trusted on every message; strict also holds slack_send_message after outside-authored text has been read. Defaults to SLACK_MCP_PROVENANCE, else label. This argument can only tighten labelling, never loosen it: to drop the labels entirely and get the pre-5.1 output shape, set SLACK_MCP_PROVENANCE=off on the server.",
      +  "enum": [
      +    "off",
      +    "label",
      +    "strict"
      +  ],
      +  "type": "string"
      +}
  2. First observedv4.4.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description itself adds no behavioral context such as pagination, ordering, or provenance implications, which are material given the complex 'provenance' parameter that holds send_message 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?

A single short sentence that is front-loaded with the action and target. There is no filler or repetition, which is ideal given the schema carries the rest of the details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, one enum, and a non-trivial provenance behavior that can affect whether send_message is blocked, the description gives no additional context. With no output schema, the agent gets no guidance on return shape, ordering, or pagination. The definition is under-specified for correct invocation in operational contexts.

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 documents all five parameters, including the enum and its detailed semantics. The description adds no parameter meaning beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.

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 description states a specific verb and resource ('Get all replies in a message thread') that clearly maps to the tool name and distinguishes it from siblings like slack_conversations_history. However, it doesn't differentiate from slack_get_full_conversation explicitly, leaving the agent to infer the difference.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative tool guidance is provided. The agent must infer from the name and description alone that this is for threaded replies and not for full conversation retrieval.

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