slack_upload_file
Upload a local file to a Slack channel, DM, or thread with an optional message.
Instructions
Upload a local file to a Slack channel, DM, or thread, with an optional message.
This is the piece the Slack MCP is missing: it posts files, not just text. Use it whenever the thing to share lives on disk (a screenshot, CSV, log, PDF) instead of pasting the contents into a message.
Args:
file_path: Absolute path to the local file (~ is expanded). Must be a
regular, non-empty file.
channel: Channel id (C…/G…), DM id (D…), #channel-name, or a
user id (U…) to upload into a DM with that person. Prefer the id:
resolving a name costs an extra API call and needs channels:read, so a
token without it fails with missing_scope — retry with the id, which
the Slack MCP's own results already carry.
message: Text posted with the file (Slack's initial_comment). Supports
Slack mrkdwn — *bold*, _italic_, <url|label>.
title: File title shown in Slack. Defaults to the filename.
filename: Override the name Slack stores. Defaults to the local basename.
thread_ts: Post the file as a reply in this thread instead of the channel root.
Returns: A one-line confirmation with the file id and permalink.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| channel | Yes | ||
| message | No | ||
| filename | No | ||
| file_path | Yes | ||
| thread_ts | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |