Slack MCP
Manages environment variables for the server configuration, particularly for storing sensitive information like the Slack Bot Token.
Serves as the runtime environment for the MCP server, allowing it to execute the JavaScript code that powers the Slack integration.
Handles package management for the server, allowing easy installation of dependencies and running of scripts.
Enables messaging and management capabilities with Slack workspaces, including sending messages to channels/users, retrieving channel history, searching workspace messages, getting channel/user lists, and administrative functions like creating channels and inviting users.
Used as the programming language for implementing the MCP server, providing type safety and modern language features.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Slack MCPsend a message to #general reminding the team about the 3pm meeting"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Slack MCP Server
A Model Context Protocol (MCP) server that provides seamless Slack integration for AI assistants. This server enables AI models to interact with Slack workspaces through a comprehensive set of tools for messaging, channel management, and user interactions.
🚀 Features
Core Slack Tools
Message Management: Send messages to channels and users
Channel Operations: List channels and retrieve message history
User Management: Get workspace user information
Message Search: Search across workspace messages
Custom Tools: Specialized tools for specific workflows
Special Features
Smart Workday Calculation: Automatically reads messages from the previous workday
User-Specific Filtering: Dedicated tool for reading specific user messages
Rich Message Information: Includes user details, timestamps, and thread information
Flexible Time Ranges: Support for custom date ranges and all-time searches
Related MCP server: MCP Server for Slack
📋 Available Tools
Tool Name | Description |
| Send messages to channels or users |
| Get list of workspace channels |
| Get list of workspace users |
| Retrieve channel message history |
| Search messages across workspace |
| Special: Read Neil Kuo's messages from frontend-ladisai channel |
🛠️ Installation
Prerequisites
Node.js 18 or higher
npm or yarn
Slack Bot Token with appropriate permissions
Setup
Clone and install dependencies:
git clone <repository-url> cd slack-mcp npm installBuild the project:
npm run build
⚙️ Configuration
Environment Variables
Create a .env file with the following:
# Required: Slack Bot Token from https://api.slack.com/appsSlack Bot Permissions
Your Slack Bot needs the following OAuth scopes:
Required Scopes
channels:read- Read public channelschannels:history- Read channel message historygroups:read- Read private channelsgroups:history- Read private channel historyusers:read- Read user informationchat:write- Send messagessearch:read- Search messages
Optional Scopes
channels:manage- Create channels (if using channel creation tools)groups:write- Manage private channels
MCP Configuration
Add to your MCP client configuration (e.g., Cursor's mcp.json):
{
"mcpServers": {
"slack-mcp": {
"command": "node",
"args": [
"YOUR_PATH/slack-mcp/dist/index.js",
"--token",
"YOUR TOKEN",
"--user-id",
"YOUR PERSONAL SLACK ID"
]
}
}
}🎯 Usage Examples
Basic Message Sending
// Send a message to a channel
{
"tool": "slack_send_message",
"parameters": {
"channel": "general",
"text": "Hello from MCP!"
}
}
// Send a direct message to a user
{
"tool": "slack_send_message",
"parameters": {
"channel": "U1234567890",
"text": "Private message"
}
}Reading Channel History
// Get recent messages from a channel
{
"tool": "slack_get_channel_history",
"parameters": {
"channel": "frontend-ladisai",
"limit": 10
}
}Special: Reading Neil Kuo's Messages
// Get Neil Kuo's latest messages (automatic workday detection)
{
"tool": "read_frontend_ladisai_messages",
"parameters": {
"max_results": 5
}
}
// Get all-time latest messages
{
"tool": "read_frontend_ladisai_messages",
"parameters": {
"all_time": true,
"max_results": 10
}
}
// Get messages from a specific date
{
"tool": "read_frontend_ladisai_messages",
"parameters": {
"manual_date": "2025-01-27",
"max_results": 5
}
}User and Channel Information
// List all users
{
"tool": "slack_get_users",
"parameters": {
"limit": 100
}
}
// List all channels
{
"tool": "slack_get_channels",
"parameters": {
"exclude_archived": true
}
}🔧 Development
Scripts
npm run build- Build the TypeScript projectnpm run dev- Build and watch for changesnpm start- Start the MCP servernpm run typecheck- Run TypeScript type checking
Project Structure
slack-mcp/
├── src/
│ ├── index.ts # Main MCP server
│ ├── slack-client.ts # Slack API client wrapper
│ └── tools/
│ ├── index.ts # Tool registry
│ ├── send-message.ts # Message sending tool
│ ├── get-channels.ts # Channel listing tool
│ ├── get-users.ts # User listing tool
│ ├── get-channel-history.ts # Channel history tool
│ ├── search-messages.ts # Message search tool
│ └── read-frontend-ladisai.ts # Custom Neil Kuo reader
├── dist/ # Compiled JavaScript
├── package.json
└── README.md🔍 Smart Workday Logic
The read_frontend_ladisai_messages tool includes intelligent workday calculation:
Monday → Reads Friday's messages (3 days back)
Tuesday → Reads Monday's messages (1 day back)
Wednesday → Reads Tuesday's messages (1 day back)
Thursday → Reads Wednesday's messages (1 day back)
Friday → Reads Thursday's messages (1 day back)
Saturday → Reads Friday's messages (1 day back)
Sunday → Reads Friday's messages (2 days back)
🐛 Troubleshooting
Common Issues
"Failed to get channel list"
Check if your bot has
channels:readpermissionEnsure the bot is added to the workspace
"Failed to get channel history"
Verify the bot has
channels:historypermissionCheck if the bot is invited to the specific channel
"Message sent successfully" but no message appears
Confirm the bot has
chat:writepermissionVerify the channel name/ID is correct
MCP server not responding
Check if the build was successful:
npm run buildVerify environment variables are set correctly
Restart your MCP client (e.g., Cursor)
Testing the Server
# Test if the server responds to tool list requests
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | node dist/index.js📝 License
MIT License - see LICENSE file for details.
🤝 Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
📞 Support
For issues and questions:
Check the troubleshooting section above
Review Slack API documentation
Check MCP protocol specifications
Note: This MCP server is optimized for the frontend-ladisai channel workflow and includes specialized tools for reading Neil Kuo's messages with smart workday detection.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NeilKuo-opennet/slack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server