使用说明
Slack MCP 服务器
用于Slack的只读MCP(模型上下文协议)服务器,具有OAuth 2.1身份验证。
演示
https://github.com/user-attachments/assets/211bd428-209f-461a-b9a1-9cc85fd7c438
可用工具
slack_get_channel_messages-从频道检索消息slack_get_thread_replies-获取对话线程回复slack_search_messages-使用过滤器进行高级邮件搜索slack_get_users-列出工作区用户或获取特定配置文件slack_get_channels-列出频道或获取详细信息
快速开始
1.创建Slack应用程序
- 访问 Slack API应用程序 并创建新应用程序
- 在...之下 应用程序凭据,复制您的
Client ID和Client Secret - 导航至 OAuth和权限 并添加这些 用户令牌范围:
channels:historygroups:historyim:historympim:historychannels:readgroups:readim:readmpim:readusers:readusers:read.emailsearch:read - 添加 重定向URL 在...之下 OAuth和权限:
- 对于本地测试:使用HTTPS代理,如ngrok(例如:
https://abc123.ngrok.io/oauth2callback).请参阅下面的本地开发设置。 - 生产:
https://your-domain.com/oauth2callback
- 对于本地测试:使用HTTPS代理,如ngrok(例如:
2.安装
uv sync
3.本地开发设置(HTTPS代理)
Slack要求OAuth回调使用HTTPS。对于本地开发,请使用ngrok或类似的HTTPS代理:
# Visit https://ngrok.com/ to download ngrok and start the proxy
ngrok http 8001
复制HTTPS转发URL(例如。, https://abc123.ngrok.io/oauth2callback)并将其添加为Slack应用程序设置中的重定向URL。
4.配置
设置所需的环境变量:
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.运行服务器
uv run python server.py
服务器将于启动 http://localhost:8001 默认情况下。确保你的ngrok代理与OAuth一起运行。
6.配置您的MCP客户端
添加到您的MCP客户端配置中(例如,游标为~/.cursor/MCP.json):
{
"mcpServers": {
"slack": { "url": "http://localhost:8001/mcp", "transport": "http" }
}
}
7.身份验证
当您的MCP客户端首次连接时,身份验证会通过OAuth 2.1自动进行。您的客户端将打开一个浏览器窗口进行Slack授权——批准访问,您就可以开始了。
部署
对于生产部署,您可以在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
发展
使用运行测试 uv run pytest.
许可证
此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
Duolingo正在招聘!申请地点:https://www.duolingo.com/careers