{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-slack","slug":"slack","name":"Slack","type":"mcp","url":"https://github.com/modelcontextprotocol/servers-archived/tree/main/src/slack","page_url":"https://unfragile.ai/slack","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-slack__cap_0","uri":"capability://tool.use.integration.mcp.compliant.slack.channel.message.posting","name":"mcp-compliant slack channel message posting","description":"Enables AI agents to post messages to Slack channels through the Model Context Protocol transport layer, which abstracts away HTTP/WebSocket complexity. The server implements MCP's standardized tool schema for message composition, handling authentication via Slack Bot tokens and translating tool invocations into Slack Web API calls. This allows Claude and other MCP clients to send formatted messages (text, blocks, attachments) without managing API credentials or rate limiting directly.","intents":["I want my AI agent to send notifications to a Slack channel when a task completes","I need to post structured messages with buttons and interactive elements from an LLM workflow","I want to integrate Slack messaging into a multi-step AI automation without writing custom API code"],"best_for":["AI agent builders integrating Slack notifications into MCP-based workflows","Teams using Claude Desktop or MCP-compatible clients who need Slack automation","Developers prototyping LLM-driven team communication tools"],"limitations":["Archived implementation — no active maintenance or security updates","No built-in message threading or reply-to-message-ID support based on reference implementation","Rate limiting handled by Slack API tier, not by the server itself","No support for file uploads or rich media beyond text and block kit elements"],"requires":["Slack workspace with Bot token (xoxb-*) with chat:write scope","MCP client (Claude Desktop, VS Code extension, or compatible tool)","Node.js 18+ or Python 3.9+ depending on server fork implementation","Network access to Slack Web API endpoints (api.slack.com)"],"input_types":["JSON tool invocation with channel ID/name, message text, optional blocks/attachments"],"output_types":["JSON response with message timestamp, channel ID, and success/error status"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-slack__cap_1","uri":"capability://tool.use.integration.slack.channel.listing.and.metadata.retrieval","name":"slack channel listing and metadata retrieval","description":"Provides AI agents with the ability to query available Slack channels, retrieve channel metadata (topic, description, member count, creation date), and list channel members through MCP tool invocations. The server caches channel lists to reduce API calls and implements filtering by channel name, type (public/private), or membership status. This enables agents to make context-aware decisions about which channels to post to or monitor.","intents":["I need my agent to find the right Slack channel to post a message based on topic or name","I want to list all channels in a workspace to understand team structure programmatically","I need to check channel membership before posting to ensure the right audience"],"best_for":["Multi-channel Slack workspaces where agents need to route messages intelligently","Workflow automation that depends on channel discovery and filtering","Teams building Slack-aware AI assistants that adapt behavior based on channel context"],"limitations":["Channel list caching may be stale if channels are created/deleted frequently","No real-time channel updates — requires explicit refresh calls","Archived channels may or may not be included depending on API scope configuration","Member list pagination not explicitly documented in reference implementation"],"requires":["Slack Bot token with channels:read and users:read scopes","MCP client capable of invoking tools with filter parameters","Slack workspace with at least one channel accessible to the bot"],"input_types":["JSON tool invocation with optional filters: channel_name_pattern, is_private, is_archived"],"output_types":["JSON array of channel objects with id, name, topic, description, member_count, created_at"],"categories":["tool-use-integration","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-slack__cap_2","uri":"capability://tool.use.integration.slack.conversation.history.retrieval.with.context.windowing","name":"slack conversation history retrieval with context windowing","description":"Allows AI agents to fetch message history from Slack channels or direct messages, with configurable limits on message count and time range. The server implements context windowing to prevent token overflow in LLM prompts by truncating or summarizing older messages. It handles message formatting (converting Slack's rich text blocks into readable text), resolving user mentions and emoji, and optionally including thread replies. This enables agents to understand channel context before taking actions.","intents":["I want my agent to read recent messages in a channel to understand the current discussion before responding","I need to fetch the last N messages from a DM to provide conversation context to an LLM","I want to retrieve messages from a specific time range to analyze team communication patterns"],"best_for":["Conversational AI agents that need to understand Slack channel context before acting","Workflow automation that analyzes recent messages to make decisions","Teams building Slack-integrated LLM assistants with memory of recent discussions"],"limitations":["Message history is limited by Slack's API retention policies (free tier: 90 days)","Context windowing may truncate important information if message history is large","Thread replies require separate API calls, adding latency","Slack's rich formatting (mentions, emoji, links) may not fully preserve in text conversion","No support for searching messages by content — only time-based or count-based retrieval"],"requires":["Slack Bot token with channels:history and groups:history scopes","MCP client with sufficient token budget to handle message history in prompts","Channel or DM ID accessible to the bot"],"input_types":["JSON tool invocation with channel_id, limit (message count), oldest_timestamp, latest_timestamp"],"output_types":["JSON array of message objects with user, text, timestamp, thread_ts, reactions, attachments"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-slack__cap_3","uri":"capability://tool.use.integration.slack.user.lookup.and.profile.retrieval","name":"slack user lookup and profile retrieval","description":"Enables agents to query Slack user information by user ID, email, or display name, retrieving profile data such as real name, title, department, timezone, and status. The server implements user caching to reduce API calls and supports bulk user lookups. This capability allows agents to personalize messages, route tasks to appropriate team members, or understand organizational structure.","intents":["I need to find a user's Slack ID by their email to mention them in a message","I want to look up a user's timezone to schedule notifications at appropriate times","I need to retrieve team member information to route a task to the right person"],"best_for":["Agents that need to personalize Slack interactions based on user profiles","Workflow automation that routes tasks or notifications to specific team members","Multi-timezone teams where agents need to respect user availability"],"limitations":["User cache may be stale if profiles are updated frequently","Bulk user lookups may hit rate limits on large workspaces","Some profile fields (e.g., custom fields) may not be accessible depending on workspace permissions","No support for searching users by custom attributes or department"],"requires":["Slack Bot token with users:read and users:read.email scopes","User ID, email, or display name to query"],"input_types":["JSON tool invocation with user_id OR email OR display_name"],"output_types":["JSON object with user_id, real_name, display_name, email, title, department, timezone, status, profile_picture_url"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-slack__cap_4","uri":"capability://tool.use.integration.slack.reaction.emoji.management.add.remove","name":"slack reaction emoji management (add/remove)","description":"Provides agents with the ability to add or remove emoji reactions to Slack messages, enabling non-verbal communication and message categorization. The server validates emoji names against Slack's supported emoji set and handles reaction conflicts (e.g., duplicate reactions). This allows agents to acknowledge messages, mark items as complete, or categorize discussions without posting text.","intents":["I want my agent to react with a checkmark emoji when a task is marked complete","I need to add a 'needs-review' emoji to messages that require attention","I want to remove a reaction if a status changes (e.g., remove 'in-progress' when done)"],"best_for":["Workflow automation that uses emoji reactions for status tracking","Agents that need to provide non-verbal feedback in Slack channels","Teams using emoji-based categorization or workflow systems"],"limitations":["Limited to Slack's built-in emoji set plus custom workspace emoji","No support for emoji skin tone modifiers or compound emoji","Reaction limits enforced by Slack (max reactions per message varies by workspace)","No bulk reaction operations — each reaction requires a separate API call"],"requires":["Slack Bot token with reactions:write scope","Message timestamp and channel ID to target","Valid Slack emoji name (without colons)"],"input_types":["JSON tool invocation with channel_id, message_ts, emoji_name, action (add/remove)"],"output_types":["JSON response with success status and updated reaction list"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-slack__cap_5","uri":"capability://tool.use.integration.mcp.transport.abstraction.for.slack.api.authentication","name":"mcp transport abstraction for slack api authentication","description":"The Slack MCP server implements the Model Context Protocol's transport layer to handle authentication, request/response serialization, and error handling for all Slack API calls. Rather than exposing raw HTTP requests, the server uses MCP's tool schema system to define Slack capabilities as discoverable, typed tools that clients can invoke. Authentication is managed server-side using environment variables or configuration files, eliminating the need for clients to handle credentials. The server implements request queuing and rate limit handling to respect Slack's API quotas.","intents":["I want to use Slack capabilities in my MCP client without managing API credentials or authentication","I need a standardized way to discover what Slack operations are available to my AI agent","I want to handle Slack API errors gracefully without writing custom error handling code"],"best_for":["MCP client developers integrating Slack without managing credentials","Teams deploying Slack automation across multiple Claude instances or MCP clients","Developers who want a clean, typed interface to Slack capabilities"],"limitations":["Archived implementation — no active security updates or maintenance","Authentication is environment-variable based, requiring secure deployment practices","No built-in support for token refresh or rotation","Rate limiting is handled passively (errors returned to client), not proactively queued","MCP protocol overhead adds ~50-100ms latency per tool invocation vs direct SDK calls"],"requires":["Slack Bot token (xoxb-*) set in environment variable SLACK_BOT_TOKEN","MCP-compatible client (Claude Desktop, VS Code extension, etc.)","Node.js 18+ or Python 3.9+ runtime for the server process"],"input_types":["MCP tool invocation JSON with tool name and parameters"],"output_types":["MCP tool result JSON with success/error status and response data"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":28,"verified":false,"data_access_risk":"high","permissions":["Slack workspace with Bot token (xoxb-*) with chat:write scope","MCP client (Claude Desktop, VS Code extension, or compatible tool)","Node.js 18+ or Python 3.9+ depending on server fork implementation","Network access to Slack Web API endpoints (api.slack.com)","Slack Bot token with channels:read and users:read scopes","MCP client capable of invoking tools with filter parameters","Slack workspace with at least one channel accessible to the bot","Slack Bot token with channels:history and groups:history scopes","MCP client with sufficient token budget to handle message history in prompts","Channel or DM ID accessible to the bot"],"failure_modes":["Archived implementation — no active maintenance or security updates","No built-in message threading or reply-to-message-ID support based on reference implementation","Rate limiting handled by Slack API tier, not by the server itself","No support for file uploads or rich media beyond text and block kit elements","Channel list caching may be stale if channels are created/deleted frequently","No real-time channel updates — requires explicit refresh calls","Archived channels may or may not be included depending on API scope configuration","Member list pagination not explicitly documented in reference implementation","Message history is limited by Slack's API retention policies (free tier: 90 days)","Context windowing may truncate important information if message history is large","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.37,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:04.049Z","last_scraped_at":"2026-05-03T14:00:18.053Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=slack","compare_url":"https://unfragile.ai/compare?artifact=slack"}},"signature":"oQIlS325YL7Ye+BqCFxRQNp2ZpCsyEbsOvR/vMY059+DVnbWmnusF8Rse51DZWkI8sdB5UZhtqAiaidWNvhHCg==","signedAt":"2026-06-21T14:22:46.127Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/slack","artifact":"https://unfragile.ai/slack","verify":"https://unfragile.ai/api/v1/verify?slug=slack","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}