关于 Slack MCP Client
Slack 中的 MCP 客户端,用 TypeScript 编写,支持多种 MCP 服务连接方式。面向 Slack 工作区的用户,可通过 bot 在对话中调用工具。
主要功能
- 01支持 HTTP、Stdio、SSE 等多种服务协议
- 02OAuth 授权流程集成
- 03MCP 工具调用
- 04本地开发和 Socket Mode 部署
适用场景
- 01在 Slack 对话中自动化工作流
- 02通过 bot 调用外部服务和工具
- 03连接多个 MCP 服务到团队聊天
MCP 相关
该 Slack 客户端连接到 MCP 服务,将它们的工具暴露给 bot,允许在 Slack 对话中调用这些工具。
详细介绍
Slack MCP 客户端
一个具有 MCP 客户端的 Slack 机器人,用 Typescript 编写。
当前支持:
- HTTP Streamable、Stdio MCP 服务,如 2025-03-26 版本中定义的那样
- 2025-03-26 版本中定义的基于 Oauth 的授权流程
- SSE MCP 服务,如协议的之前版本中定义的那样
- 仅 MCP 工具(更多功能即将推出)
请查看视频以了解它能做什么的简要概览!视频使用的是这个 linkedin-mcp-server,它支持协议的最新身份验证规范。
https://github.com/user-attachments/assets/1232d292-4a30-44c4-a05d-bf07d7c5c882
安装
按照这些说明在本地运行。
设置 ngrok 以在本地运行应用
- 将 http://localhost:3000 暴露到网络:https://ngrok.com/docs/getting-started/
- 如果不想使用 ngrok,也可以使用 Slack 应用的 socketMode。在实例化 bolt App 时需要将 socketMode 设置为 true,并在 Slack 应用管理仪表板中激活应用的 socketMode。
设置 Slack 应用
- 编辑 slack-app-manifest.json:将 ngrok 网址复制到 request_url 字段。
- 在 Slack 工作区中添加一个新应用,可以使用 slack-app-manifest.json 文件进行配置。
- 从 env.example 文件创建 .env 文件
cp .env.example .env
- 填充 Slack 令牌:
- 来自应用基本信息页面的签名密钥
- 具有 connections:write 范围的应用级令牌,可在应用基本信息页面中生成
- 可在 OAuth 和权限页面中找到的 Slack 机器人令牌
- 用 ngrok 网址更新身份验证重定向网址
要求
- Node 22 (
lts/jod) - pnpm 10
- OpenAI API 密钥
- 一些 MCP 服务通过 stdio、sse 或 streamable http 运行且可访问。如果需要,可以查看这个列表!
说明
- 安装依赖项:
pnpm install
- 创建 mcp.json 文件并添加 MCP 服务器配置。如果需要,请查看 MCP 服务器列表。
cp mcp-example.json mcp.json
- 运行客户端:
pnpm run dev
- 开启与机器人的新讨论线程,开始体验吧。
有用的文档
- Bolt AI 助手应用:https://tools.slack.dev/bolt-js/concepts/ai-apps/
许可证
本项目在 MIT 许可证下获得许可 - 详见许可证文件。
贡献
欢迎贡献!请随时开启问题或提交拉取请求 🚀!
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。