Slack MCP for AI. Search history and manage team status from your agent.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
Slack MCP Server lets your AI client interact with your entire Slack workspace. You can programmatically list channels, check who's online (`get_user_presence`), send messages, and search deep into message history—all without leaving your agent interface.
It gives your AI the ability to read team discussions and manage basic user data.
What your AI can do
List pins
Gets a list of any messages that were pinned to the top of a specific channel.
List reactions
Reads all emojis and reactions placed on a single, specified message.
Check connection
Verifies that your AI client has proper API access credentials for the Slack workspace.
Fetch channel details, list pinned messages, and retrieve message history for a specific channel.
List all workspace members, view detailed user profiles, and check if any given user is currently online.
Search for messages across the workspace or send new updates to specific channels.
Ask an AI about this
Waiting for input…
Slack MCP Server: 11 Tools for Team Communication
Use these tools to manage everything from listing all users to sending messages across specific Slack channels.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using Slack on VinkiusList Pins
Gets a list of any messages that were pinned to the top of a specific channel.
List Reactions
Reads all emojis and reactions placed on a single, specified message.
Check Connection
Verifies that your AI client has proper API access credentials for the Slack...
Get Channel Details
Retrieves specific metadata, like channel description or topic, for a given channel...
Get Channel History
Lists recent messages that were sent in a specified channel over time.
Get User Presence
Checks and returns the current status (online, away, etc.) for a user ID.
Get User Profile
Fetches comprehensive details about a workspace member, like their job title or department.
List Channels
Retrieves a list of all public channels available in the entire workspace.
List Users
Retrieves the full roster of every member within the Slack workspace.
Send Message
Posts a new message directly to a designated channel or direct conversation (DM).
Search Messages
Searches for messages matching specific keywords or timeframes across multiple...
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Slack, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Slack. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 11 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Tracking who said what in Slack shouldn't feel like reading a novel.
Today, finding context means opening the channel, scrolling back past dozens of unrelated conversations, and manually piecing together who agreed to what. You're clicking through threads, copy-pasting dates, and asking multiple people for summaries just to get a basic understanding.
With this MCP server, you ask your agent: 'What did we decide about the Q3 budget?' The agent runs `search_messages`, pulls relevant chunks of history from `get_channel_history`, and hands you an immediate summary. You get the answer without the scroll.
Using Slack MCP Server: Get real-time user status and full channel context.
Before, if you needed to know a team member's availability or their role in the company, you were stuck clicking through their profile link or asking a colleague. This was friction—a multi-step process that wasted time.
Now, your agent uses `get_user_presence` and `get_user_profile`. It checks status instantly and pulls deep details from one command. The manual steps are gone; you just get the data.
What your AI can actually do with this
Your AI client connects directly to your Slack workspace using this MCP Server. It gives your agent the ability to read team discussions, track user status, and send updates—all without you leaving your own interface. You'll never have to copy-paste data from a chat window again.
Reading Channel Data
You can make your AI client see everything that happens in any channel. First, it retrieves the full list of all public channels using list_channels. Once it knows the channel ID, you can pull specific metadata for that room—things like its official description or topic—with get_channel_details. To track conversations over time, your agent uses get_channel_history, pulling back a chronological list of recent messages sent within that specific channel.
When you need to know what was important in a thread, the AI client can get all pinned messages for any channel using list_pins. It also reads every emoji and reaction left on any given message via list_reactions.
If you want context from old threads, your agent doesn't just look at recent posts; it runs targeted searches across multiple channels using search_messages, letting you filter messages by keywords or specific timeframes. Finally, if you need to send a quick update or announcement, the server allows your client to post new messages directly into any designated channel or private direct message (DM) using send_message.
Managing Users and Presence
Your agent can keep tabs on who's in the office and what they're working on. It starts by pulling a complete roster of every single member in the workspace via list_users. From that list, you can fetch deep details about any individual—like their job title or department—by calling get_user_profile. To know if someone's actually available for a quick chat, your client checks the current status (online, away, etc.) using get_user_presence against a user ID.
Before anything else, you can run check_connection to make sure your AI client has all the proper API credentials needed to talk to Slack.
Putting It All Together
Your agent combines these tools: it checks if a specific employee is online (get_user_presence), finds their professional role using get_user_profile, and then sends them a follow-up message in a private chat (send_message). Alternatively, your client pulls the entire history of a project channel (get_channel_history), looks at who reacted to key posts (list_reactions), and summarizes everything for you.
It's designed so that no matter what piece of team communication data you need—a name, a date stamp, or an emoji reaction—your agent can pull it directly from the source.
019dd160-c1c9-7051-8fe5-ed64aa530923 Here's how it actually works
The bottom line is, your AI client uses one central connection to run several specific commands against Slack's API, giving you a single point of automation for comms data.
Subscribe to this server and provide your Slack Bot User OAuth Token (xoxb-...) in the app settings.
Your AI client uses the token to authenticate against the MCP Server endpoint.
You issue a command (e.g., 'Search for PR reviews from last week') and the agent calls multiple tools (get_channel_history, search_messages) sequentially to build an answer.
Who is this actually for?
This is for the Project Manager who needs visibility into team discussions without opening 10 different tabs. It’s for the Support Engineer tired of manually pulling user details and checking status. If your job requires knowing what was said, or who was working on it right now—this helps.
Needs to post quick updates to the #general channel and pull discussion points from multiple team channels without switching apps.
Uses the agent to automatically check a user's profile details and current presence status when handling an incoming support ticket.
Coordinates team notifications by ensuring announcements are sent to specific channels and checking workspace health.
What Changes When You Connect
Need to know who's available? Use get_user_presence to check a user’s real-time status without asking them directly. It gives you instant availability data.
Stop reading through pages of chat logs. search_messages lets your agent query keywords or dates across the whole workspace, giving you immediate context on old discussions.
Running into missing info? Use get_user_profile to pull a person's full details (title, department) instantly. This is better than manually checking their profile page every time.
Announcing something needs precision. The send_message tool lets your agent post announcements directly to the right channel, ensuring no one misses critical updates.
Can't find that important document? Use list_pins to retrieve all messages pinned in a key channel. It saves you from scrolling through months of chat history just for one link.
See it in action
Onboarding a New Team Member
A new PM needs context on the #engineering channel. Instead of asking 5 people, they prompt their agent: 'Give me the top 3 discussion points about feature X.' The agent runs search_messages and compiles a summary from recent chat history, solving the knowledge gap in seconds.
Pre-Meeting Status Check
An Ops Manager is organizing an ad-hoc meeting. They tell their agent: 'Who's free for a call right now?' The agent calls get_user_presence against the list of users, instantly giving back only those who are online and available.
Investigating Project Delays
A support lead needs to know why a ticket stalled. They ask their agent: 'What was discussed about Ticket 123 last week?' The agent uses get_channel_history and filters the results, providing the exact conversation threads they need.
Mass Communication Coordination
An Ops team needs to announce a system outage. They prompt: 'Send an urgent notice about the database downtime to #alerts.' The agent uses send_message, ensuring the critical information gets posted directly and immediately.
The honest tradeoffs
Treating Slack like a simple document search.
Trying to find an old file by just remembering keywords, which results in reading pages of irrelevant chat history because you don't know the exact channel or date range.
Don't rely on memory. Use search_messages with specific parameters (keyword AND time range) and combine that search with get_channel_history to narrow down exactly where the conversation happened.
Asking about people without context.
A manager asks, 'Is Sarah available?' but doesn't specify which team or project. The agent can't give a good answer and just says 'check manually.'
Be specific. Tell your agent: 'Check the presence of @sarah-connor in relation to the #product channel right now.' Use get_user_presence for immediate status checks.
Assuming all channels are visible.
Trying to find a niche discussion but only checking the main public channels, missing conversations held in private or restricted team spaces.
First, run list_channels to get an overview of everything. Then, use get_channel_details on promising candidates before asking the agent to search history.
When It Fits, When It Doesn't
Use this MCP Server if your primary need is reading or writing data that already lives inside Slack—messages, user profiles, channel lists. This setup works best for context retrieval and basic communication orchestration (e.g., 'Send X message to Y channel'). Don't use it if you need to interact with systems outside of Slack, like a ticketing system (Jira), an HR database, or a CRM. For those needs, you’ll need a dedicated integration type (a different MCP Server entirely). It's for comms data only; don't assume it can manage project tasks or financial records.
Questions you might have
How do I use the send_message tool to post an announcement? +
You tell your agent, 'Send a message to #general: Our deadline moved.' The agent executes send_message using the channel ID and posting the content. You just need to specify the target and text.
What is the difference between list_channels and get_channel_details? +
list_channels gives you a roster of all public channels available in the workspace (the names). get_channel_details requires a specific channel ID and returns metadata about that single channel, like its topic or description.
Can I find messages from a user using search_messages? +
Yes. You can instruct your agent to use search_messages, specifying the keywords and the target user's ID or name. This narrows down the search dramatically.
Does get_user_profile give me enough info for a support ticket? +
It gives you comprehensive details like job title, department, and member metadata that should cover most support needs. It's better than just guessing who they are.
How many tools does the Slack MCP Server have? +
The server exposes 11 distinct tools for managing communication in Slack, covering everything from checking connections to reading reactions on specific messages.
If I use the check_connection tool, what does a successful run confirm about my API access? +
It confirms that your bot token has current permissions to communicate with Slack. A green status means you can send messages and read channel data without authentication errors.
How does list_reactions help me track message engagement, beyond just the message content? +
It gives a count of specific interactions like 👍 or 🎉 attached to an individual post. This lets you measure how much the team is reacting to content, which is key for sentiment analysis.
When I call get_user_presence, am I getting real-time status updates, or is there a latency? +
It provides near real-time availability data. While it’s fast, remember that network conditions can cause slight delays; the information reflects the user's last reported status.
How do I find my Slack Bot User OAuth Token? +
Log in to Slack API, select your app, and navigate to OAuth & Permissions. You will find the token starting with xoxb- under the OAuth Tokens for Your Workspace section.
We've already built the connector for Slack. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 11 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.