Skip to main content
Glama

slack_get_full_conversation

Read-onlyIdempotent

Export a Slack channel or DM's complete message history, including threads and usernames, and optionally save it to a file for analysis or records.

Instructions

Export FULL conversation history with all messages, threads, and user names. Can save to file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
latestNoUnix timestamp end (boundary timestamp included)
oldestNoUnix timestamp start (e.g., 1733011200 = Dec 1, 2025; boundary timestamp included)
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.
output_fileNoFilename to save export (saved to ~/.slack-mcp-exports/)
max_messagesNoMaximum messages to retrieve (default 2000, max 10000)
include_threadsNoFetch thread replies (default true)
include_all_metadataNoPass Slack's include_all_metadata option to conversations.history and 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

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds that it can save to a file, which is useful context beyond the annotations, but it omits the default/max message caps (2000/10000) and pagination behavior that materially affect a 'FULL' export.

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?

Two short sentences, front-loaded with the core capability and the optional file output. No wasted words, though the brevity leaves capability detail to the schema.

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

Completeness3/5

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

For a 9-parameter export tool with no output schema, the description covers the headline capability but omits essential operational context such as defaults, truncation risk at max_messages, and where files land (schema covers the path). Adequate but noticeably thin.

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%, including detailed descriptions for oldest/latest, max_messages, output_file, and the provenance enum, so the schema does the heavy lifting. The description adds nothing beyond the schema, which is the expected baseline of 3 under full coverage.

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?

States a specific verb and resource: export full conversation history including messages, threads, and user names, plus optional file saving. It is clearly distinguishable from lightweight siblings like slack_conversations_history by the word 'FULL' and the export framing, though it never names an alternative explicitly.

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 guidance on when to prefer this over slack_conversations_history, slack_get_thread, or slack_search_messages, and no mention of limits or prerequisites. The only implicit signal is 'FULL' and 'export', which an agent must infer selects this for bulk dumps.

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