slack-mcp
Provides read-only access to Slack, including retrieving messages from channels, thread replies, searching messages, listing users and channels.
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-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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceA Model Context Protocol server that provides read-only access to Slack data including messages, channels, and users through secure API endpoints.Last updatedMIT
- Alicense-qualityDmaintenanceA read-only MCP server that enables AI assistants to access Slack workspace data, including channels, messages, threads, and user information.Last updated24,1283MIT
- Alicense-qualityCmaintenanceSelf-hosted MCP server for Slack using User OAuth Token, enabling message management, channel operations, and user interactions via natural language.Last updated56MIT
- 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.Last updated7MIT
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Slack for AI agents: DMs, search, threads, triage, actions - browser-session or hosted OAuth.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/duolingo/slack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server