# Slack MCP

> Slack MCP gives your AI agent full operational control over your workspace. Send messages, find specific conversations across channels, manage users, read channel history, and even pin important alerts—all without you ever leaving your current application. It turns Slack from a chat log into an auditable, actionable data source that any compatible AI client can interact with.

## Overview
- **Category:** talk-to-me
- **Price:** Free
- **Tags:** messaging, team-chat, workflow-automation, channel-management, notification-management

## Description

Your agent becomes a direct participant in your team's communications. Instead of opening the Slack app and clicking through threads or searching endless channels, you simply ask your AI client to perform the action. It handles everything: sending replies to specific people, gathering all messages about a topic from last week, or listing every user in the workspace along with their time zones. This MCP lets you use powerful commands—like reading recent message history or finding out what a channel is actually for—and get clean answers back. By connecting via Vinkius, your AI agent gets access to this deep layer of functionality, letting you manage communication flow and retrieve context without ever manually switching tabs.

## Tools

### channels_list
Lists all public and private channels your agent can access within the workspace.

### channels_history
Retrieves recent messages from a specific Slack channel in reverse chronological order.

### channel_info
Gets detailed information about a particular channel, like its purpose and member count.

### messages_send
Sends a message to any specified Slack channel or sends a direct message (DM) to a user.

### messages_search
Searches for messages across the entire workspace by keyword, sender, or time frame.

### message_update
Edits an existing message, but only if the agent originally sent it and you provide the exact timestamp.

### message_delete
Permanently removes a Slack message. The agent can delete messages it wrote or any in channels where it has admin permissions.

### users_list
Retrieves a list of all workspace members, including their ID, name, email, and current status.

### user_info
Gets the full profile details for one specific user, like their time zone or admin status.

### reactions_add
Adds an emoji reaction to a message using its channel ID and exact timestamp.

### thread_replies
Gathers all replies within a specific discussion thread, ordered from oldest to newest.

### pin_message
Marks an important message so it appears in the channel's details panel for easy reference.

### set_channel_topic
Updates the official topic text that displays at the top of a specific Slack channel.

## Prompt Examples

**Prompt:** 
```
List all channels in my Slack workspace.
```

**Response:** 
```
I found 12 channels in your workspace. The most active ones are #general (45 members), #engineering (28 members), and #product (19 members). Would you like to read recent messages from any of them?
```

**Prompt:** 
```
Post a message in #engineering: 'Deploy v2.4.1 is live on production 🚀'
```

**Response:** 
```
Message posted successfully to #engineering: 'Deploy v2.4.1 is live on production 🚀'. Would you like me to also react with a ✅ emoji?
```

**Prompt:** 
```
Search for messages about 'API outage' from last week.
```

**Response:** 
```
I found 8 messages mentioning 'API outage'. The first report came from @alex in #incidents at 2:34 PM on Monday. The root cause was identified as a database connection pool exhaustion. Would you like to see the full thread?
```

## Capabilities

### Search all conversations
It searches message content, usernames, and channels across the entire workspace for specific keywords or senders.

### Draft and post messages
You can write updates to any channel or direct message a user using rich text formatting.

### Audit communication history
The agent retrieves recent messages from specific channels, allowing you to catch up on discussions or track activity for compliance.

### Manage team members and groups
You can list all users in the workspace, or get detailed profiles, including roles, email addresses, and timezones.

### Interact with specific messages
It lets your agent react to messages with emojis, pin critical information, or even edit existing posts (if you sent them).

## Use Cases

### Auditing a Project Failure
The Ops Analyst needs to figure out who knew about the database issue and when. They ask their agent to search for messages mentioning 'database' or 'outage' from last week, using `messages_search` to create a clear timeline of awareness.

### Onboarding New Team Members
The Product Manager needs an overview of the #product channel. They ask their agent to get detailed information about the channel and then read recent messages via `channels_history` so they can catch up on discussions without being overwhelmed.

### Tracking a Specific Decision
The Team Lead needs confirmation of the final design choice. They ask their agent to find the discussion thread and retrieve all replies using `thread_replies`, ensuring they capture every vote or counterpoint before moving forward.

### Sending a Company-Wide Update
The Executive needs to announce an immediate policy change. Instead of manually posting it everywhere, they ask their agent to use `messages_send` to post the update simultaneously in #general and @all department channels.

## Benefits

- Stop manually searching. Use `messages_search` to instantly pull up every mention of 'API outage' or 'Q3 budget' from across dozens of channels in one go.
- Keep the record clean by using `pin_message` on critical decisions, ensuring that key information isn't buried deep within a chat thread.
- Never miss an update. The agent can read recent messages via `channels_history` or track specific discussions through `thread_replies`, giving you full context without opening the app.
- Improve accountability by using `users_list` and `user_info` to quickly identify who has what role, where they are located, or if their status needs updating.
- Streamline communications by having your agent post updates via `messages_send`, letting you broadcast information instantly rather than copy-pasting into multiple threads.

## How It Works

The bottom line is that you speak natural language to your AI client, and it talks directly to Slack using its full toolset.

1. First, subscribe to this MCP on Vinkius and provide your Slack Bot Token.
2. Next, connect the MCP credentials within your AI client (like Cursor or Claude).
3. Finally, simply tell your agent what you need done—for example, 'Find all messages about the Q3 deployment'—and it executes the action.

## Frequently Asked Questions

**How do I use the messages_search tool in Slack MCP?**
You instruct your agent to search for content, usernames, or channels. The agent executes `messages_search` and returns results sorted by how recent they are.

**Can the Slack MCP send DMs?**
Yes, it can. You use the messages_send tool to post a direct message to any user in your workspace.

**Does the Slack MCP allow me to see who is an admin?**
Yep. Use `user_info` on a specific user ID; it returns their full profile, including whether they have admin status or what their timezone is.

**What if I need to track messages from a thread?**
You use the agent's ability to get replies via `thread_replies`. This collects all responses within that single discussion, keeping them in chronological order for clarity.

**Can the Slack MCP automatically post updates?**
It can. You simply ask your agent to use messages_send and specify the channel ID; it posts the update instantly so you don't have to copy/paste.