slack-mcp
Provides read-only access to Slack, including retrieving messages from channels, thread replies, searching messages, listing users and channels.
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., "@slack-mcpshow me the latest messages in #general"
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 read-only MCP (Model Context Protocol) server for Slack with OAuth 2.1 authentication.
Demo
https://github.com/user-attachments/assets/211bd428-209f-461a-b9a1-9cc85fd7c438
Available Tools
slack_get_channel_messages- Retrieve messages from channelsslack_get_thread_replies- Get conversation thread repliesslack_search_messages- Advanced message search with filtersslack_get_users- List workspace users or get specific profilesslack_get_channels- List channels or get detailed info
Related MCP server: Slack MCP Server
Quick Start
1. Create Slack App
Visit Slack API Apps and create a new app
Under App Credentials, copy your
Client IDandClient SecretNavigate to OAuth & Permissions and add these User Token Scopes:
channels:historygroups:historyim:historympim:historychannels:readgroups:readim:readmpim:readusers:readusers:read.emailsearch:readAdd Redirect URL under OAuth & Permissions:
For local testing: Use an HTTPS proxy like ngrok (E.g:
https://abc123.ngrok.io/oauth2callback). See local development setup below.For production:
https://your-domain.com/oauth2callback
2. Installation
uv sync3. Local Development Setup (HTTPS Proxy)
Slack requires HTTPS for OAuth callbacks. For local development, use ngrok or a similar HTTPS proxy:
# Visit https://ngrok.com/ to download ngrok and start the proxy
ngrok http 8001Copy the HTTPS forwarding URL (e.g., https://abc123.ngrok.io/oauth2callback) and add it as a Redirect URL in your Slack app settings.
4. Configuration
Set required environment variables:
export SLACK_CLIENT_ID="your_client_id"
export SLACK_CLIENT_SECRET="your_client_secret"
# Use https://your-domain.com for production.
export SLACK_MCP_BASE_URI="http://localhost"
# Use https://your-domain.com for production.
export SLACK_EXTERNAL_URL="https://abc123.ngrok.io"
# Optional, if you want to run the MCP server on a different port.
export SLACK_MCP_PORT=80015. Run the Server
uv run python server.pyThe server will start on http://localhost:8001 by default. Make sure your ngrok proxy is running alongside it for OAuth to work.
6. Configure Your MCP Client
Add to your MCP client configuration (e.g. ~/.cursor/mcp.json for Cursor):
{
"mcpServers": {
"slack": { "url": "http://localhost:8001/mcp", "transport": "http" }
}
}7. Authenticate
Authentication happens automatically via OAuth 2.1 when your MCP client first connects. Your client will open a browser window for Slack authorization — approve access and you're ready to go.
Deployment
For production deployment, you can run it inside docker:
docker build -t slack-mcp .
docker run -p 8001:8001 \
-e SLACK_CLIENT_ID="your_client_id" \
-e SLACK_CLIENT_SECRET="your_client_secret" \
-e SLACK_MCP_BASE_URI="https://your-domain.com" \
-e SLACK_EXTERNAL_URL="https://your-domain.com" \
slack-mcpDevelopment
Run tests with uv run pytest.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Duolingo is hiring! Apply at https://www.duolingo.com/careers
This server cannot be deployed
Maintenance
Related MCP Connectors
OAuth-protected, read-only-by-default MCP server for provenance-labeled QuillCaddie project memory.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Twitter/X read-only MCP server — 12 tools: search, users, tweets, followers, timelines, trends.
Read-only MCP server for The Quiet Protocol's engines, benchmarks, proof, and business data.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides read-only access to Slack data including messages, channels, and users through secure API endpoints.MIT
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server that enables AI assistants to access Slack workspace data, including channels, messages, threads, and user information.17,928 npm3MIT
- AlicenseAqualityCmaintenanceA self-hosted, read-only Slack MCP server that runs locally and provides read-only access to Slack channels, messages, and users via the Slack Web API, with no third-party intermediary.7MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for interacting with Slack using a user token. It allows reading channels, DMs, threads, search, and posting messages as the authenticated user.28 npmMIT