A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
OAuth-based multi-user Slack MCP server with HTTP transport
A read-only MCP (Model Context Protocol) server for Slack with OAuth 2.1 authentication.
https://github.com/user-attachments/assets/211bd428-209f-461a-b9a1-9cc85fd7c438
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 infoClient ID and Client Secretchannels:history groups:history im:history mpim:history channels:read groups:read im:read mpim:read users:read users:read.email search:readhttps://abc123.ngrok.io/oauth2callback). See local development setup below.https://your-domain.com/oauth2callbackuv sync
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 8001
Copy the HTTPS forwarding URL (e.g., https://abc123.ngrok.io/oauth2callback) and add it as a Redirect URL in your Slack app settings.
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=8001
uv run python main.py
The server will start on http://localhost:8001 by default. Make sure your ngrok proxy is running alongside it for OAuth to work.
Add to your MCP client configuration (e.g. ~/.cursor/mcp.json for Cursor):
{
"mcpServers": {
"slack": { "url": "http://localhost:8001/mcp", "transport": "http" }
}
}
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.
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-mcp
Run tests with uv run pytest.
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
MCP server integration for DaVinci Resolve Studio
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnos
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots