easy-slack-mcp
Provides tools for interacting with Slack, enabling AI assistants to send messages, manage channels, users, files, and reactions.
Click on "Deploy 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., "@easy-slack-mcpsend a message to #general saying 'Hello team!'"
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.
easy-slack-mcp
Slack integration for AI assistants - Connect Cursor, Claude Desktop, and other MCP-compatible tools directly to Slack. Send messages, read channels, manage users, and automate workflows with AI.
π¦ What We Provide
Feature | Description |
MCP Server | Full Model Context Protocol integration for AI assistants (Cursor, Claude Desktop, etc.) |
REST API | Complete Slack API wrapper with OpenAPI/Swagger documentation |
Message Management | Send, update, and delete messages in channels and DMs |
Channel Operations | List, create, view details, and read message history for channels |
User Management | List users, get user info, and access user profiles |
File Operations | Upload files, list files, and get file information |
Reactions | Add and remove emoji reactions to messages |
Interactive Docs | Swagger UI for exploring and testing all endpoints |
Zero Configuration | Run with a single command - just provide your Slack bot token |
Production Ready | Built on easy-mcp-server framework |
Related MCP server: Slack MCP Server
π Quick Start
SLACK_BOT_TOKEN=xoxb-your-token-here npx easy-slack-mcpThat's it! The server runs on:
Service | URL | Notes |
REST API |
| Base for all endpoints |
API Docs (Swagger UI) |
| Interactive documentation |
MCP Server |
| For MCP-compatible clients |
π Detailed Configuration
Getting Your Slack Bot Token
Click "Create New App" β "From scratch"
Give your app a name and select your workspace
Click "Create App"
Navigate to "OAuth & Permissions" in the sidebar
Scroll down to "Bot Token Scopes" and add the following scopes:
chat:write- Send messageschat:write.public- Send to channels bot isn't inchannels:read- View channel infochannels:history- Read channel messagesusers:read- View usersusers:read.email- View email addressesfiles:write- Upload filesfiles:read- View filesreactions:write- Add reactionsreactions:read- View reactions
Scroll to the top and click "Install to Workspace"
Authorize the app
Copy your Bot User OAuth Token (starts with
xoxb-)
Using Environment Variables
Instead of passing the token inline, you can use a .env file for persistent configuration:
# Create .env file
echo "SLACK_BOT_TOKEN=xoxb-your-token-here" > .env
# Run (it will automatically load .env)
npx easy-slack-mcpLocal Installation
For a permanent local installation:
# Install locally
npm install easy-slack-mcp
# Create .env file
echo "SLACK_BOT_TOKEN=xoxb-your-token-here" > .env
# Run
npm start
# OR
npx easy-slack-mcpπ» Use in Cursor / Claude Desktop
Option A: Use as npm package (Recommended)
For Cursor:
Open Cursor Settings β Features β Model Context Protocol
Click "Edit Config"
Add this to your MCP config:
{
"mcpServers": {
"easy-slack-mcp": {
"command": "npx",
"args": ["-y", "easy-slack-mcp"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token-here"
}
}
}
}For Claude Desktop:
Open
~/Library/Application Support/Claude/claude_desktop_config.json(Mac) or%APPDATA%\Claude\claude_desktop_config.json(Windows)Add the same configuration above
For any MCP client:
The server runs automatically when invoked via npx easy-slack-mcp
Client configuration paths
Client | Platform | Config Location |
Cursor | macOS/Windows/Linux | Settings β Features β Model Context Protocol |
Claude Desktop | macOS |
|
Claude Desktop | Windows |
|
Option B: Local Installation
If you prefer a local setup:
# Install locally
npm install easy-slack-mcp
# Create .env file
echo "SLACK_BOT_TOKEN=xoxb-your-token-here" > .env
# Run it
npx easy-slack-mcpThen configure your MCP client to run:
npx easy-slack-mcpπ‘ Using the REST API
Once the server is running, you have full access to Slack via REST endpoints.
π Interactive API Documentation
Name | URL | Best for |
Swagger UI |
| Browsing endpoints, trying requests, viewing schemas |
OpenAPI JSON |
| Import into Postman/Insomnia or tooling |
π Common API Examples
Send a Message
curl -X POST http://localhost:8887/slack/messages \
-H "Content-Type: application/json" \
-d '{
"channel": "C1234567890",
"text": "Hello from easy-slack-mcp!"
}'List Channels
curl "http://localhost:8887/slack/conversations/list?types=public_channel"Get Channel History
curl "http://localhost:8887/slack/conversations/history?channel=C1234567890&limit=20"List Users
curl "http://localhost:8887/slack/users/list"Upload a File
curl -X POST http://localhost:8887/slack/files/upload \
-H "Content-Type: application/json" \
-d '{
"channels": "C1234567890",
"filename": "report.txt",
"content": "File content here"
}'π All Available Endpoints
Category | Method | Path | Description |
Messages | POST |
| Send a message |
Messages | POST |
| Update a message |
Messages | POST |
| Delete a message |
Conversations | GET |
| List all channels |
Conversations | GET |
| Get channel details |
Conversations | POST |
| Create a channel |
Conversations | GET |
| Get message history |
Users | GET |
| List workspace users |
Users | GET |
| Get user details |
Users | GET |
| Get user profile |
Files | POST |
| Upload a file |
Files | GET |
| List files |
Files | GET |
| Get file info |
Reactions | POST |
| Add a reaction |
Reactions | POST |
| Remove a reaction |
Authentication | GET |
| Test authentication |
System | GET |
| Health check |
System | GET |
| API information |
System | GET |
| OpenAPI specification |
System | GET |
| Swagger UI documentation |
βοΈ Advanced Configuration
Environment Variables
All configuration can be set via environment variables:
Name | Required | Default | Description |
| Yes | β | Bot User OAuth Token (starts with |
| No | β | App-level token for Socket Mode (starts with |
| No | β | Verifies Slack request signatures for Events/API Gateway |
| No |
| REST API port |
| No |
| MCP server port |
Example .env content:
SLACK_BOT_TOKEN=xoxb-your-token-here
# Optional
SLACK_APP_TOKEN=xapp-your-app-token
SLACK_SIGNING_SECRET=your-signing-secret
EASY_MCP_SERVER_PORT=8887
EASY_MCP_SERVER_MCP_PORT=8888Required Slack Scopes
See the Detailed Configuration section above for setup steps. The bot typically needs these scopes:
Scope | Purpose |
| Send messages as the bot |
| Post to channels the bot isnβt a member of |
| View basic channel information |
| Read channel messages |
| View users in the workspace |
| View user email addresses |
| Upload files |
| View files |
| Add reactions to messages |
| View reactions on messages |
π― Use Cases
In Cursor / Claude Desktop
"Send a message to #general about the project update"
"What's the latest activity in #support channel?"
"Find user @john and show their profile"
"Summarize this week's messages in #engineering"
Via REST API
Build custom integrations
Automate Slack workflows
Create Slack bots
Integrate with other services
Via Swagger UI
Explore endpoints visually
Test API calls
Understand request/response formats
Share API documentation
π Learn More
Easy MCP Server Framework:
Full Setup Guide: See mcp/resources/slack-quick-start.md
Complete API Docs: See mcp/resources/api-documentation.md
Slack API: https://api.slack.com/methods
Model Context Protocol: https://modelcontextprotocol.io/
π¦ Package Info
Item | Link/Value |
npm | |
Repository | |
License | MIT |
π Need Help?
Check Swagger UI: http://localhost:8887/docs
Test authentication:
curl http://localhost:8887/slack/auth/testCheck server health:
curl http://localhost:8887/healthReview the setup guide
For customization or support, contact
info@easynet.world
Ready to automate Slack with AI? Get started:
# Install and run directly
npx easy-slack-mcp
# Or install locally for project use
npm install easy-slack-mcp
npm startPowered by easy-mcp-server framework
This server cannot be deployed
Maintenance
Related MCP Connectors
Enable interaction with Slack workspaces. Supports subscribing to Slack events through Resources.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
- ZapierOAuthcom.zapier.mcp
Zapier MCP connects AI tools like Claude, ChatGPT, and Cursor to over 8,000 apps and 30,000+ actions, enabling AI to perform real-world tasks such as sending messages, searching data, scheduling events, and updating records. It acts as a translator between AI tools and apps, handling authentication, rate limits, and retries automatically, transforming AI from a conversational tool into a functional extension of your business stack.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables comprehensive Slack workspace integration through AI assistants, allowing users to manage channels, send messages, upload files, search conversations, and interact with users through natural language commands.17-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Slack workspaces through natural language, supporting channel management, message operations, user profiles, reactions, and threaded conversations.-
- AlicenseAqualityDmaintenanceIntegrates AI assistants with Slack workspaces using OAuth 2.0 authenticated user tokens for secure, multi-functional interaction. It enables comprehensive operations including channel management, message searching, file handling, and reaction management through natural language.20169 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read messages, threads, channel info, user profiles, search conversations, and generate permalinks in Slack workspaces.1MIT