slack_image_downloadLABSCO SUMMARY
The missing piece when a GitHub issue points at a Slack screenshot.
It exists for one job: getting a file out of Slack, authenticated, into a place an automated Claude Code run can read it. The token stays a workflow secret and the download directory is validated, so a crafted path cannot write outside where you pointed it.
What it is
A Slack MCP server packaged as a GitHub Action: the action starts it and hands your workflow the MCP config to pass to claude-code-action.
What you get
- Authenticated downloads of Slack files using a Bot User OAuth token (slack_image_download)
- A health check on the Slack connection (slack_health_check)
- A download directory you choose, defaulting to the working directory, with path-traversal validation on it
- An mcp_config output that drops straight into claude-code-action, alongside other servers
- A server_executable output and a Docker path, for running it locally or in a container
Requirements
A Slack Bot User OAuth token, the xoxb- kind, supplied as the slack_token input and held as a workflow secret. Used from a workflow that also runs claude-code-action.
Setup effort
Follow the published steps — Create a Slack app at https://api.slack.com/apps → "Create New App" → "From scratch"
USE CASES
Letting an automated code run see a screenshot posted in Slack
Download the file with the bot token, so the run has the image rather than a link it cannot open.
Keeping downloaded Slack assets where your workflow expects them
Set the download directory per run and let the path validation reject anything outside it.
Confirming the Slack token works before the run depends on it
Run the health check as an early step, so a bad token fails fast instead of mid-task.
Testing the setup on your own machine first
Run it from Docker with the same token and exercise both tools before pushing the workflow.
2 tools
Listed in project docs. Your client may show a different list.
slack_health_checkBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation. slack_image_download accepts only https://files.slack.com/ URLs with the files:read scope; the server cannot read messages, post to channels or list conversations.
Requires
SLACK_TOKEN in your environment
INSTALLATION
Connect your client
Server setup
Create a Slack app at https://api.slack.com/apps → "Create New App" → "From scratch"
Under OAuth & Permissions add the Bot Token Scope files:read
Click "Install to Workspace" and copy the Bot User OAuth Token (starts with xoxb-)
Add that token to your GitHub repository secrets as SLACK_TOKEN
In your workflow add a step: uses: atlasfutures/claude-mcp-slack@v1 with slack_token: ${{ secrets.SLACK_TOKEN }} and an id: (e.g. id: slack-mcp)
In the same job, pass that step's mcp_config output to anthropics/claude-code-action as its mcp_config input — both steps are in the workflow block
MCP Clients
Claude Code Action
- name: Setup Slack MCP
uses: atlasfutures/claude-mcp-slack@v1
with:
slack_token: ${{ secrets.SLACK_TOKEN }}
id: slack-mcp
- name: Claude Code Action
uses: anthropics/claude-code-action@main
with:
mcp_config: ${{ steps.slack-mcp.outputs.mcp_config }}
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}