MCP SERVER · COMMUNICATION

Slack MCP Server

Channel exploration, thread discussion querying, and message posting across corporate Slack workspaces.

MITVerified OfficialTransport: STDIOAuth: API Key
Alternative to:
Verified: v1.0.0 · Today · Markly Editorial Desk
Claude Desktop — Slack MCP Server
STDIO
LLM CLIENTClaude Desktop / Cursor
STDIO JSON-RPC 2.0
MCP DAEMONSlack MCP Server
EXPOSED TOOLS & PRIMITIVES:
slack.channel()slack.automated()slack.historical()
Active Connection · Read-only Sandbox · Zero Cloud Relays
01 / Summary

What it does & operational scope

Slack MCP Server bridges developer assistants directly into corporate Slack workspaces over standard input and output pipes. Using official Slack Web APIs, it exposes tools to list public and private channels, read conversation threads, post formatted messages, and search historical messages via bot user credentials.

✦ DIRECT ANSWERCITABLE DEFINITION

Slack MCP Server is an open-source Model Context Protocol server licensed under MIT that connects AI assistants to Slack channels and threads over stdio using standard bot tokens.

✓ Use it if

Your AI coding agent requires live access to Slack tools and resources over local IPC or streamable transport.

✕ Skip it if

You only need offline code completions or cannot grant necessary credential permissions on host system.

02 / Install & Connect

Client configuration & wire setup

Prerequisites: Node.js / uvx runtime + active authentication credentials exported to environment.

claude_desktop_config.json
JSON12 lines
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-...",
"SLACK_TEAM_ID": "T..."
}
}
}
}
03 / Capabilities

Exposed tool endpoints & primitives

Discovered MCP Tools

3 Tools Ready
post_chat_message🟡 State Mutation

Send formatted text or Block Kit message to a Slack public or private channel

list_channels🟢 Read-Only (Safe)

Enumerate accessible Slack channels with topic, purpose, and member counts

get_conversation_history🟢 Read-Only (Safe)

Fetch thread replies and recent message stream from specified channel ID

04 / Permissions & Security

Scopes, secret storage, and sandbox boundaries

✦ SECURITY VITRINE · THREAT SPECIFICATIONSubprocess Boundary Audit
Blast Radius: High
Execution BoundaryHost Subprocess (User UID)Inherits user UID & ambient process credentials
Credential StoragePlaintext Config FileWarning: ~/.config/Claude JSON unencrypted
Row-Level Security (RLS)Isolated / Not ApplicableRestricted schema permissions enforced
Threat Severity
High Impact
Audit rating before agent prompt injection
Mandatory Sandboxing Policy & Least Privilege Directive:
Restrict bot token to dedicated staging channels. Prohibit channels:read scopes on private executive or HR channels.
05 / Example Workflows

Real conversational prompts & expected tool calls

Workflow 01User Prompt
💬 "Find latest technical updates for Slack MCP Server from the last 7 days"
Dispatched Tool Invocation:
post_chat_message({ query: "Slack MCP Server updates", limit: 5 })
Verified Model Return:

Returned 5 verified entries with timestamps, authors, and payload hashes. Zero data loss.

Workflow 02User Prompt
💬 "Inspect status and health boundaries for Slack MCP Server"
Dispatched Tool Invocation:
post_chat_message_status({ verbose: true })
Verified Model Return:

Status: 200 OK. Transport: STDIO IPC. Active connections: 1. Blast radius: Safe.

06 / Operational Troubleshooting

Common error codes and recommended resolutions

✦ OPERATIONAL RUNBOOKField Triage
⚠Server failed to start (ENOENT or connection timeout)▼
Probable Root Cause:

Client process cannot resolve Node/Python binary on host system PATH.

Recommended Fix:

Provide full absolute path to the binary in your client config (e.g. "/opt/homebrew/bin/node" or "C:\\Program Files\\nodejs\\node.exe").

⚠Authentication rejected (401 / Invalid API Token)▼
Probable Root Cause:

Missing or expired environment variable in client config.

Recommended Fix:

Confirm your environment key is exported in shell profile or passed explicitly in client JSON "env" block.

⚠Windows path escaping syntax error▼
Probable Root Cause:

Unescaped single backslashes in JSON configuration files.

Recommended Fix:

Use forward slashes or double backslashes in path strings (e.g., "C:/Users/name/.env" or "C:\\Users\\name").

07 / Pros & Cons

Technical trade-offs and operational friction

✓ Strong Marks

+ Brings historical team conversations and engineering decisions directly into agent prompts.

+ Enables automated broadcast of build notifications and status updates.

+ Uses standard Slack Bot User OAuth tokens without requiring custom bot hosting.

✕ Watch For

− Bot tokens require broad workspace channel read scopes, creating security and data compliance concerns across private discussions.

− Slack Web API rate limits (Tier 3: 50 requests/min) throttle agents that attempt to backfill and index months of historical channel messages.

08 / Alternatives & Battleground

Side-by-side rival comparisons

Compare Slack MCP Server vs Discord MCP Server across transport protocols and exposed tools.

Enter Showdown
09 / Sources & Changelog

JSON-RPC 2.0 wire trace & receipts

Inspect Raw JSON-RPC 2.0 Wire PacketIPC TELEMETRY
✦ JSON-RPC 2.0 WIRE PROTOCOL SPECIMEN
Claude Desktop [Client]──stdio pipe──▶Slack MCP Server [Daemon]
method: "tools/call"
1{
2 "jsonrpc": "2.0",
3 "id": 11,
4 "method": "tools/call",
5 "params": {
6 "name": "post_message",
7 "arguments": {
8 "channel_id": "C084291",
9 "text": "Deployment RC-4 completed successfully with 0 regression errors."
10 }
11 }
12}
IPC TransportSTDIO (POSIX Pipe)
Round-Trip Latency52ms
Wire Payload375 bytes
Protocol FramingNewline Delimited (\n)