slack-stdio-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLACK_MCP_URL | No | MCP endpoint. Set via --mcp-url. | https://mcp.slack.com/mcp |
| SLACK_CLIENT_ID | No | OAuth app id (default: Claude partner). Set via --client-id. | 1601185624273.8899143856786 |
| SLACK_MCP_TOKEN | No | Inject Bearer token (tests/CI). Set via --token or --mcp-token. | |
| SLACK_OAUTH_HOST | No | Redirect host. Set via --oauth-host. | localhost |
| SLACK_OAUTH_PATH | No | Redirect path. Set via --oauth-path. | /callback |
| SLACK_OAUTH_PORT | No | Loopback port. Set via --oauth-port. | 3118 |
| SLACK_SKIP_OAUTH | No | Never open browser. Set via --skip-oauth. Use '1' to enable. | |
| SLACK_CLIENT_SECRET | No | Client secret for confidential apps only. Set via --client-secret. | |
| SLACK_STDIO_PROFILE | No | Named store: ~/.slack-stdio-mcp/profiles/<name> (share across repos). Set via --profile. | |
| SLACK_STDIO_CREDS_DIR | No | Absolute credentials root (wins over --profile). Set via --creds-dir. | |
| SLACK_OAUTH_TIMEOUT_MS | No | Startup OAuth timeout in milliseconds. Environment only. | 180000 |
| SLACK_ALLOW_LEGACY_TOKEN | No | Allow flat legacy JSON without client_id. Use '1' to enable. Environment only. |
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 | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| slack_stdio_reauthA | No Slack session. Ask the user to authorize Slack (open the URL and press Allow) before any Slack action, then retry. Start Slack re-authorization when the session expired. Opens a browser and returns a clickable authorize URL for the user. Optional argument wait=true blocks until Allow (or timeout). After success, retry the previous Slack tool. |
| slack_stdio_session_statusC | No Slack session. Ask the user to authorize Slack (open the URL and press Allow) before any Slack action, then retry. Report whether a Slack re-auth flow is in progress and the authorize URL if any. |
| slack_stdio_download_fileA | Download a Slack file to disk by file_id. Hosted slack_read_file often returns metadata-only for video or large binaries; this writes the bytes to dest_dir (default: OS temp slack-stdio-mcp-downloads) and returns path, mime_type, and size. Max 50 MB. Requires files:read. |
| slack_stdio_catalogA | List local overlay tool names vs the current hosted mcp.slack.com catalog. Use to verify the bridge is proxying the full remote set. |
| slack_stdio_update_messageA | Edit a message the user posted (chat.update). Hosted Slack MCP can send but not edit. Requires channel_id, message_ts, and the new message text. |
| slack_stdio_delete_messageB | Delete a message the user posted (chat.delete). Hosted Slack MCP cannot delete. |
| slack_stdio_remove_reactionA | Remove an emoji reaction the user added (reactions.remove). Hosted catalog has add/get only. Emoji name without colons. |
| slack_stdio_scheduled_messagesA | List or cancel scheduled messages (chat.scheduledMessages.list / chat.deleteScheduledMessage). Hosted slack_schedule_message cannot cancel. action=list (optional channel_id) or action=cancel (channel_id + scheduled_message_id). |
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 8 tools
Each tool targets a distinct capability: auth initiation, auth status, file download, catalog inspection, message update/delete, reaction removal, and scheduled message list/cancel. Even the two auth-related tools are clearly separated into start-flow versus status-report roles, so an agent should not confuse them.
All tools share the consistent slack_stdio_ prefix and use lowercase snake_case, which makes the set predictable. However, not every name follows verb_noun: reauth, catalog, session_status, and scheduled_messages are deviations, though they remain readable and still fit the overall pattern.
Eight tools is a well-scoped size for a Slack MCP bridge that supplements a hosted catalog with missing operations. Every tool addresses a concrete gap or supporting need, with no redundant clutter.
The tool surface covers the stated gaps: reauthorization, file downloads, message editing/deletion, reaction removal, and scheduled message list/cancel. It also includes status and catalog tools to make the bridge self-explanatory, so there are no obvious dead ends for the server's intended role.