Claude Code ⇄ Slack
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLACK_APP_TOKEN | Yes | Slack app-level token starting with xapp- from the Socket Mode setup (step 2). | |
| SLACK_BOT_TOKEN | Yes | Bot User OAuth Token starting with xoxb- from the Install App step (step 6). | |
| SLACK_CHANNEL_ID | Yes | The channel ID starting with C, e.g. C01ABCDEFGH (step 8). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| experimental | {
"claude/channel": {}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send_slack_messageA | Send a message to a Slack channel. Use this to reply to webhook channel incoming messages from Slack. Returns the message timestamp (ts) — pass it to update_slack_message to rewrite this message later, which is how a progress or "working on it" marker is kept to one line instead of many. |
| update_slack_messageA | Rewrite a message already posted, given its timestamp from send_slack_message. Use it to keep a live status marker on one line: post "working on X", then update it as the work moves and once more when it is done. Far better than posting a new message per step. Only messages this bot posted can be rewritten. |
| send_slack_imageA | Upload a local image or file into a Slack channel, so it appears inline rather than as a link. Use for screenshots, diagrams and charts. The path must be a file on this machine. |
| slack_progressA | A live checklist in Slack, kept to one message that rewrites itself as the work moves. Call once with |
| create_slack_canvasA | Create a Slack canvas in a channel from markdown. Use for reference material people will come back to — a checklist, a runbook, a spec — rather than a message that scrolls away. Supports headings, lists, checkboxes, bold and code. |
| slack_statusA | Check whether the Slack bridge is actually working end to end: is this server connected, is the mention watcher running (without it nothing inbound reaches this session), how many messages are waiting, and what other projects are connected to the same Slack app. Call this first whenever Slack seems unresponsive, or after starting a session, instead of guessing. |
| check_slack_inboxA | Read Slack messages that @mentioned the bot and have not been read yet. Use this when the session cannot receive channel notifications (started without --channels), or to catch up on anything missed. Each message comes back with its channel id, so you can reply with send_slack_message. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a fairly distinct purpose: reading, sending, updating, uploading images, progress checklist, canvas creation, and diagnostics. There is mild overlap between slack_progress and update_slack_message since both rewrite an existing message, but descriptions clearly explain when to use each (progress board vs. single status line).
Conventions are mixed: check_slack_inbox, send_slack_message, update_slack_message, send_slack_image, create_slack_canvas use verb_slack_noun, while slack_progress and slack_status invert to noun-first. Still readable, but not a predictable pattern across the set.
Seven tools map cleanly onto the Slack bridge's needs—inbound read, outbound send/update, file upload, progress, canvas, and health—without redundancy or thinness.
Covers read, reply, edit, upload, structured progress, persistent canvas, and diagnostics, which is strong lifecycle coverage. Missing a few likely operations like reacting to messages, listing channels, or deleting messages, but these are minor gaps agents can work around.