关于 Slack MCP Host
Slack MCP Host 是面向团队的 Slack 机器人,可通过 LLM 对话使用已配置的 MCP 服务。它在专用频道执行服务工具,并以 Markdown 和可折叠结果呈现输出。
主要功能
- 01在 Slack 中进行 LLM 对话
- 02连接多个 MCP 服务
- 03以 Markdown 呈现回复
- 04折叠显示工具结果
- 05保留对话历史
适用场景
- 01在 Slack 查询已连接的数据库
- 02跟进先前的工具结果
- 03查看较长的工具输出
MCP 相关
它连接已配置的 MCP 服务,在 Slack 对话中执行其工具并向用户呈现结果。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Slack MCP Host
一个 Slack 机器人,可将 MCP(Machine Control Protocol)服务与 Slack 集成,并在专用频道中提供由大模型驱动的交互。该机器人可以执行已配置的 MCP 服务中的工具,并以用户友好的格式呈现结果。
功能
- 🤖 在 Slack 中进行由大模型驱动的对话
- 🔧 集成多个 MCP 服务
- 📝 支持 Markdown 渲染
- 🔍 可折叠的工具执行结果
- 💾 维护对话历史记录
- 🔐 安全的配置管理
前置条件
- Python 3.11+
- 用于依赖管理的 uv
- 具有管理员权限的 Slack 工作区
- OpenAI API 访问权限
- 一个或多个 MCP 服务
设置
- 克隆仓库
git clone https://github.com/yourusername/slack-mcp-host.git
cd slack-mcp-host
- 创建并激活虚拟环境
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- 安装依赖
uv sync
- 配置环境
cp .env.example .env
使用你的凭据编辑 .env:
SLACK_API_KEY=xoxb-your-slack-bot-token
OPENAI_API_KEY=your-openai-api-key
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-4
# MCP Servers
SLACK_MCP_NEO4J_MOVIES=uvx mcp-neo4j-cypher --url neo4j+s://demo.neo4jlabs.com --username movies --password movies
SLACK_MCP_TIME=uvx mcp-server-time
- 创建 Slack App
- 前往 api.slack.com/apps
- 点击 “Create New App” → “From an app manifest”
- 选择你的工作区
- 复制并粘贴
manifest.yml的内容 - 创建应用并将其安装到你的工作区
部署
Cloudflare Workers
- 安装 Wrangler
npm install -g wrangler
- 登录 Cloudflare
wrangler login
- 设置机密
wrangler secret put SLACK_API_KEY
wrangler secret put OPENAI_API_KEY
- 部署
wrangler deploy
- 更新 Slack App 配置
- 前往 Slack App 设置
- 将 Event Subscription URL 更新为你的 Cloudflare Workers URL:
https://slack-mcp-host.<your-worker-subdomain>.workers.dev/slack/events
使用示例
以下是一个交互流程示例:
- 用户开始对话
User: Can you help me find movies directed by Christopher Nolan?
- 机器人执行工具并回复
Bot: I'll help you find movies directed by Christopher Nolan using the Neo4j Movies database.
<details><summary>Tool Results</summary>
Tool neo4j_movies result:
- Inception (2010)
- The Dark Knight (2008)
- Interstellar (2014)
- Memento (2000)
- The Prestige (2006)
</details>
Would you like to know more details about any of these movies?
- 用户继续提问
User: Tell me more about Inception
- 机器人执行另一项查询
Bot: I'll get the details about Inception for you.
<details><summary>Tool Results</summary>
Tool neo4j_movies result:
Title: Inception (2010)
Director: Christopher Nolan
Cast: Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen Page
Plot: A thief who steals corporate secrets through dream-sharing technology is given the inverse task of planting an idea into the mind of a C.E.O.
</details>
The movie received critical acclaim for its innovative storytelling and visual effects. Would you like to know about any other movies or specific aspects of Inception?
开发
在本地运行以进行开发:
uvicorn src.api:app --reload --port 8000
使用 ngrok 或类似工具公开本地服务:
ngrok http 8000
使用 ngrok URL 更新 Slack App 的 Event Subscription URL。
贡献
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 将更改推送到分支(
git push origin feature/amazing-feature) - 发起 Pull Request
许可证
本项目采用 MIT License,详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。