
duolingo/slack-mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
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 channels - slack_get_thread_replies - Get conversation thread replies - slack_search_messages - Advanced message search with filters - slack_get_users - List workspace users or get specific profiles - slack_get_channels - List channels or get detailed info 1. Visit Slack API Apps and create a new app 2. Under , copy your Client ID and Client Secret 3. Navigate to and add these : channels:history groups:history im:history mpim:history channels:read groups:read im:read mpim:read users:read users:read.email search:read 4. Add under : - 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 Slack requires HTTPS for OAuth callbacks.
README
以下は原文 README の抜粋です。原文を見る。
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
Quick Start
1. Create Slack App
- Visit Slack API Apps and create a new app
- Under App Credentials, copy your
Client IDandClient Secret - Navigate to OAuth & Permissions and add these User Token Scopes:
channels:historygroups:historyim:historympim:historychannels:readgroups:readim:readmpim:readusers:readusers:read.emailsearch:read - Add 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
- For local testing: Use an HTTPS proxy like ngrok (E.g:
2. Installation
uv sync
3. 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 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.
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=8001
5. Run the Server
uv run python server.py
The 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
インストール
docker run -p 8001:8001 \設定
{
"mcpServers": {
"slack": { "url": "http://localhost:8001/mcp", "transport": "http" }
}
}