Slack MCP Server
MCP ServerFreeRead and send Slack messages and manage channels via MCP.
Capabilities8 decomposed
slack workspace channel enumeration via mcp protocol
Medium confidenceExposes a standardized MCP tool that lists all accessible channels in a connected Slack workspace by querying the Slack Web API's conversations.list endpoint. The server implements the MCP Tools primitive to surface this capability as a callable function with JSON-RPC transport, enabling LLM clients to discover and introspect channel metadata (name, topic, member count, archived status) without direct API knowledge. Uses Slack SDK for TypeScript to handle authentication via bot token and pagination of large channel lists.
Implements channel listing as a first-class MCP tool rather than a raw API wrapper, meaning the capability is discoverable and callable by any MCP-compatible client (Claude, custom agents) without requiring direct Slack SDK knowledge. Uses MCP's standardized tool schema to abstract away pagination and error handling.
Simpler than building direct Slack API integrations because MCP handles transport, authentication context, and tool discovery; more discoverable than raw webhooks because the tool is self-describing in the MCP protocol.
slack message history retrieval with thread context
Medium confidenceImplements an MCP tool that fetches message history from a specified Slack channel using the conversations.history API, with optional thread-aware context retrieval via replies.list. The server accepts channel ID and optional timestamp range parameters, returning paginated message objects including user ID, timestamp, text content, and thread metadata. Handles both flat channel history and nested thread replies, enabling LLM clients to read conversation context before responding or analyzing.
Combines channel history and thread reply retrieval into a single MCP tool abstraction, handling the complexity of nested Slack conversation structure (flat messages vs threaded replies) transparently. The server manages pagination and scope validation, exposing a unified interface rather than requiring clients to call multiple Slack APIs.
More context-aware than simple message fetching because it supports thread-aware retrieval; more efficient than raw Slack API calls because the MCP server can batch and cache common queries.
slack message posting with formatting and metadata
Medium confidenceExposes an MCP tool that posts messages to a Slack channel using the chat.postMessage API, supporting plain text, markdown, and Slack's Block Kit JSON formatting. The server accepts channel ID, message text, and optional parameters (thread timestamp for replies, metadata for custom fields, reply broadcast flag). Handles message composition, formatting validation, and returns the posted message timestamp for reference or threading.
Abstracts Slack's chat.postMessage API as an MCP tool, allowing LLM clients to post messages without handling authentication, formatting validation, or error recovery. Supports both simple text and complex Block Kit JSON, enabling rich UI composition from AI-generated content.
More flexible than webhook-based posting because it supports threading, metadata, and dynamic formatting; more discoverable than raw API calls because the tool schema is self-describing in MCP.
slack thread reply composition with context awareness
Medium confidenceImplements an MCP tool that posts replies to Slack threads using chat.postMessage with thread_ts parameter, enabling LLM clients to respond within conversation threads while optionally broadcasting replies to the channel. The server validates thread timestamp, handles reply-specific formatting, and manages the relationship between thread context and channel visibility. Supports both private thread replies and broadcast replies that appear in both thread and channel.
Treats thread replies as a first-class MCP capability separate from channel posting, recognizing that Slack's threading model requires explicit thread_ts handling. The server abstracts away the complexity of broadcast vs private replies, allowing clients to specify intent (thread-only or broadcast) without API-level details.
More conversation-aware than generic message posting because it enforces thread context; simpler than managing thread state manually because the MCP server handles timestamp validation and broadcast logic.
slack message reaction management (add/remove emoji reactions)
Medium confidenceExposes MCP tools for adding and removing emoji reactions to Slack messages using the reactions.add and reactions.remove APIs. The server accepts channel ID, message timestamp, and emoji name, managing the relationship between message identity (channel + timestamp) and reaction state. Supports standard Slack emoji names and custom emoji, with error handling for invalid emoji or permission issues.
Implements reaction management as discrete MCP tools (add and remove) rather than a single toggle, giving clients explicit control over reaction state. The server validates emoji names and handles Slack's idempotent reaction semantics, where adding a duplicate reaction is a no-op.
Lighter-weight than message posting for simple acknowledgments because reactions don't create notification noise; more discoverable than raw API calls because the tool schema is self-describing in MCP.
mcp protocol transport and tool schema exposition
Medium confidenceImplements the Model Context Protocol server-side transport layer using TypeScript SDK, exposing all Slack capabilities as standardized MCP Tools with JSON-RPC 2.0 communication. The server registers tool handlers, manages request/response serialization, and implements the MCP initialization handshake. Supports stdio and SSE (Server-Sent Events) transport mechanisms, allowing MCP clients (Claude, custom agents) to discover and invoke Slack tools through a unified protocol interface.
Implements the full MCP server lifecycle (initialization, tool registration, request handling) using the official TypeScript SDK, making it a reference implementation for how to expose third-party APIs as MCP tools. The server handles protocol-level concerns (schema validation, error serialization) transparently, allowing clients to treat Slack as a native capability.
More standardized than custom API wrappers because it uses the official MCP protocol; more discoverable than direct Slack SDK usage because tools are self-describing; enables multi-client reuse because MCP is client-agnostic.
slack authentication and token management via mcp context
Medium confidenceManages Slack bot token authentication by accepting the token at server initialization (via environment variable or startup parameter) and using it for all subsequent API calls. The server stores the token securely in memory and passes it to the Slack SDK for each request, handling token validation and API authentication errors. Does not implement token refresh or rotation; assumes long-lived bot tokens.
Implements authentication at the MCP server level rather than delegating to clients, centralizing token management and reducing the risk of token exposure in client code. The server acts as a trusted intermediary, validating all requests against the stored token.
More secure than client-side token management because the token never leaves the server; simpler than OAuth flows because it uses long-lived bot tokens; more centralized than per-request authentication because the token is managed once at startup.
slack api error handling and resilience with mcp error responses
Medium confidenceImplements error handling for Slack API failures (rate limits, invalid channels, permission errors, network timeouts) by catching exceptions from the Slack SDK and translating them into JSON-RPC error responses. The server returns descriptive error messages to MCP clients, including error codes and context, enabling clients to implement retry logic or graceful degradation. Does not implement automatic retries or exponential backoff.
Translates Slack API errors into standardized JSON-RPC error responses, providing a consistent error interface across all tools. The server preserves Slack-specific error details in the error data field, allowing clients to implement sophisticated error handling without parsing error messages.
More informative than silent failures because errors are explicitly returned; more standardized than raw Slack error responses because they conform to JSON-RPC; enables client-side retry logic because error codes are machine-readable.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with Slack MCP Server, ranked by overlap. Discovered automatically through the match graph.
@sigmacomputing/slack-mcp-server
MCP server for interacting with Slack
@sigmacomputing/slack-mcp-server
MCP server for interacting with Slack
slack-mcp-server
Model Context Protocol (MCP) server for Slack Workspaces. This integration supports both Stdio and SSE transports, proxy settings and does not require any permissions or bots being created or approved by Workspace admins
slack-relay-mcp
Code-execution-based Slack MCP tool — CLI + TypeScript API + Claude Code skill
Slack
** - Channel management and messaging capabilities. Now maintained by [Zencoder](https://github.com/zencoderai/slack-mcp-server)
Slack
Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.
Best For
- ✓AI agents and assistants that need workspace awareness before taking Slack actions
- ✓Teams building multi-channel notification systems with LLM orchestration
- ✓Developers integrating Slack into MCP-based AI workflows
- ✓AI assistants that need to read Slack conversation history before generating responses
- ✓Chatbots that require thread context to maintain conversation coherence
- ✓Analytics and monitoring agents that analyze Slack communication patterns
- ✓AI agents that need to communicate results or alerts back to Slack users
- ✓Chatbots that generate responses and post them to channels or threads
Known Limitations
- ⚠Pagination is automatic but large workspaces (10k+ channels) may incur multiple API calls with latency
- ⚠Returns only channels the bot token has permission to view; private channels require explicit membership
- ⚠No filtering on the server side — clients must filter results themselves
- ⚠Channel metadata is point-in-time; archived/unarchived status changes require re-querying
- ⚠API rate limits apply (typically 1 request per second per workspace); large history requests may require backoff
- ⚠Message content is limited to what Slack stores; deleted messages are not retrievable
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
About
Official MCP server for Slack workspace integration. Exposes tools for listing channels, reading message history, posting messages, replying to threads, and managing reactions in Slack.
Categories
Alternatives to Slack MCP Server
Search the Supabase docs for up-to-date guidance and troubleshoot errors quickly. Manage organizations, projects, databases, and Edge Functions, including migrations, SQL, logs, advisors, keys, and type generation, in one flow. Create and manage development branches to iterate safely, confirm costs
Compare →AI-optimized web search and content extraction via Tavily MCP.
Compare →Scrape websites and extract structured data via Firecrawl MCP.
Compare →Are you the builder of Slack MCP Server?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →