Skip to main content
Glama
crunchtools

mcp-slack-crunchtools

by crunchtools

Slack Get Channel History

slack_get_channel_history
Read-only

Retrieve Slack channel message history with pagination, result limits, and oldest/latest timestamp filters. Supply a channel ID to page through messages and read past conversations.

Instructions

Get message history from a Slack channel.

Input Schema

NameRequiredDescriptionDefault
limitNoMax messages to return, 1-1000 (default: 100)
cursorNoPagination cursor from previous response
latestNoOnly messages before this timestamp
oldestNoOnly messages after this timestamp (e.g., 1234567890.123456)
inclusiveNoInclude messages at oldest/latest boundary
channel_idYesChannel ID (starts with C, D, or G)

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.4.0
    • addedInput schema / properties / channel_id / description
      Added value: +"Channel ID (starts with C, D, or G)"
    • addedInput schema / properties / cursor / description
      Added value: +"Pagination cursor from previous response"
    • addedInput schema / properties / inclusive / description
      Added value: +"Include messages at oldest/latest boundary"
    • addedInput schema / properties / latest / description
      Added value: +"Only messages before this timestamp"
    • addedInput schema / properties / limit / description
      Added value: +"Max messages to return, 1-1000 (default: 100)"
    • addedInput schema / properties / oldest / description
      Added value: +"Only messages after this timestamp (e.g., 1234567890.123456)"
  2. First observedv0.2.0

TDQS

C2.9/5.0
Behavior2/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description needed to add the non-obvious behavior: result ordering, whether history is bounded by retention or bot membership, and pagination via cursor. It says none of that, adding zero context beyond the annotation.

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?

A single front-loaded sentence with no filler or repetition. It is tightly written, though its brevity borders on under-specification given six parameters.

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?

An output schema exists, so return values need no explanation, but for a six-parameter paginated history read the description omits pagination flow, ordering, and channel-type constraints (public, DM, group) implied by the channel_id hint. The structured fields are the only guidance an agent gets for a moderately complex tool.

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 timestamp windowing (oldest/latest/inclusive), limit cap of 1000, and cursor semantics are already fully documented. The description adds no extra meaning, which is the baseline 3 case.

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 names a specific verb (Get) and resource (message history) scoped to a Slack channel, so an agent knows exactly what it retrieves. It does not distinguish itself from siblings like slack_search_messages or slack_get_thread_replies, which is the only thing keeping it from a 5.

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?

There is no statement of when to use this tool versus slack_search_messages (keyword lookup), slack_get_thread_replies (thread expansion), or slack_list_channels. The reader must infer that this is the bulk-read path for a known channel ID from the name alone.

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