Slack Notifier MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLACK_BOT_TOKEN | Yes | Bot token from Slack app (xoxb-...) | |
| SLACK_DEFAULT_CHANNEL | No | Default channel for notifications |
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 |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ask_userA | Send a question to the user via Slack and wait for their reply. Use this when you need user input or a decision. The user will be notified and can reply in the Slack thread. This will BLOCK until the user replies or the timeout is reached. IMPORTANT - NON-BLOCKING USAGE: To avoid blocking, run this tool in a background agent/task. Example with Claude Code's Task tool: This lets you continue working while waiting for the Slack reply. You'll be notified when the background task completes with the user's response. Args: question: The question to ask the user. channel: Channel name or ID. Uses SLACK_DEFAULT_CHANNEL if not specified. context: Optional context to include (e.g., what you're working on). timeout_minutes: How long to wait for a reply (default 5 minutes, max 30). Returns: Dict with success status and user's reply text if received. |
| sendA | Send a message to a Slack channel or thread. Args: message: Message text. Supports Slack mrkdwn formatting. channel: Channel name or ID. Uses SLACK_DEFAULT_CHANNEL if not specified. thread_ts: Thread timestamp to reply in a thread. urgency: Message urgency level. 'critical' adds @here mention. mention_user: If True, @mentions the configured user (requires SLACK_USER_ID). Returns: Dict with success status and message details. |
| get_thread_repliesA | Get replies in a Slack thread. Use this to check for new messages in a thread you started. Args: channel: Channel ID containing the thread. thread_ts: Timestamp of the parent message. since_ts: Only return messages after this timestamp (optional). Returns: Dict with success status and list of replies. |
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 3 tools
Each tool has a distinct purpose: ask_user for interactive questions, get_thread_replies for retrieving thread responses, and send for posting messages. No semantic overlap.
All tools use snake_case verb_noun pattern (ask_user, get_thread_replies), with 'send' being a single-verb exception but still follows the verb-first convention. Minor inconsistency in specificity.
Three tools is minimal for a Slack integration, but the server's 'notifier' scope justifies a lean set. Still, the surface feels thin compared to typical Slack API needs.
Core messaging workflows are covered: send, read replies, and ask for input. However, missing essential operations like listing channels, updating messages, or managing reactions limit the surface.