Send messages, search conversations, and manage channels in Slack — connect AI agents to your team workspace.
Use with AI AssistantsMCP
Connect Claude, Cursor, or any MCP-compatible client — then call tools directly
① Add This MCP Server
Paste into your AI client config — then all its tools are available instantly.
{
"mcpServers": {
"slack": {
"url": "https://mcp.aerostack.dev/s/aerostack/mcp-slack",
"headers": {
"Authorization": "Bearer YOUR_AEROSTACK_TOKEN"
}
}
}
}Replace YOUR_AEROSTACK_TOKEN with your API token from the dashboard.
② Call a Tool
Ask your AI assistant to call a specific tool, or send raw JSON-RPC:
Natural Language Prompt
“Use the list_channels tool to list public and private channels in the slack workspace”
Using a Workspace?
Add this MCP to your Workspace — your team shares one token, secrets are stored securely, and every AI agent in the workspace can call it without per-user setup.
Post messages, search conversations, and manage users in your Slack workspace.
Slack is the real-time communication hub for modern teams. This MCP server gives your AI agents the ability to post messages to any channel, read message history, search across conversations, look up user profiles, and add emoji reactions — making Slack a natural output channel for automated workflows and AI-driven notifications.
Live endpoint: https://mcp.aerostack.dev/s/aerostack/mcp-slack
Go to OAuth & Permissions → scroll to Bot Token Scopes → add these scopes:
| Scope | Required For | Tools |
|---|---|---|
chat:write | Required — Send messages | post_message |
channels:read | Required — List channels | list_channels |
channels:history | Read channel messages | get_channel_history |
groups:read | List private channels | list_channels (private) |
search:read | Search messages | search_messages |
users:read | Look up users | get_user_info, list_users |
reactions:write | Add emoji reactions | add_reaction |
At minimum, add chat:write and channels:read. Add others based on which tools you need.
Click Install to Workspace → Authorize → Copy the Bot User OAuth Token (xoxb-...).
This step is required! The bot can only post to channels it has been invited to.
In each Slack channel where you want the bot to operate:
/invite @YourBotName
Or: Click channel name → Integrations → Add apps → select your bot.
If you skip this step, you'll get a not_in_channel error when trying to post messages.
SLACK_BOT_TOKEN (xoxb-...) when prompted| Tool | Description | Required Scopes |
|---|---|---|
list_channels | List public/private channels in the workspace | channels:read, groups:read |
post_message | Post a message to a channel or thread | chat:write |
get_channel_history | Get recent messages from a channel | channels:history |
search_messages | Search messages across the workspace | search:read |
get_user_info | Get profile info for a specific user | users:read |
list_users | List all users in the workspace | users:read |
add_reaction | Add an emoji reaction to a message | reactions:write |
| Variable | Required | Description |
|---|---|---|
SLACK_BOT_TOKEN | Yes | Slack Bot User OAuth Token (starts with xoxb-) |
| Error | Cause | Fix |
|---|---|---|
missing_scope | Bot token doesn't have the required scope | Add the scope in Slack API dashboard → OAuth & Permissions → Reinstall the app → update token in Aerostack |
not_in_channel | Bot hasn't been invited to the channel | Type /invite @YourBotName in the channel |
channel_not_found | Wrong channel name or ID | Use channel ID (e.g., C6GK6DHPY) instead of #name |
invalid_auth | Token is expired or wrong | Re-copy the token from Slack API dashboard |
"Post a message to #engineering saying the database migration completed successfully"
"Search Slack for any messages about the payment gateway outage from last week"
"List all users in the workspace and find the user ID for sarah@company.com"
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-slack \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-SLACK-BOT-TOKEN: xoxb-your-bot-token' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"post_message","arguments":{"channel":"#general","text":"Hello from Aerostack!"}}}'
MIT
Live Endpoint
https://mcp.aerostack.dev/s/aerostack/mcp-slack
Sub-50ms globally · Zero cold start
@aerostack
Pre-built functions for the most common MCP tool patterns. Clone, extend, and deploy.
by @aerostack
Read and send Discord messages, manage channels, roles, and members — automate your community from AI agents.
by @aerostack
Create events, check availability, and manage calendars across Google Calendar — automate your scheduling.
by @aerostack
Create, search, update issues, manage sprints, boards, and projects in Jira — AI-native agile project management.
by @aerostack
Manage Trello boards, lists, cards, and members — create, update, move cards and collaborate with AI.
by @aerostack
Full Jira Cloud integration — manage projects, issues, sprints, boards, comments, transitions, and user assignments for agile project management.
Yes. post_message sends to any channel the bot has access to, and add_reaction applies an emoji to the returned message timestamp. Claude can chain both in one step — post a deploy summary then react with a checkmark.
get_channel_history accepts a limit and optional oldest/latest timestamps. Slack's API caps public channel history at the workspace retention policy; the MCP surfaces whatever the bot's token can read, paginated by cursor.
It uses whichever token you configure in Aerostack. A bot token restricts access to channels the bot has been invited to. A user token lets Claude read DMs and private channels that token owner can access — choose based on your privacy requirements.
Yes. get_user_info returns display name, email, timezone, and status for a given user ID. list_users lets Claude resolve a name to an ID first. Email visibility depends on workspace admin settings for the Slack API scope.