Slack MCP Host

Slack MCP Host

site icon
2025.04.08 2
PythonSlack 机器人MCP 集成LLM 交互交流协作开发效率
Slack MCP Host 是一个 Slack 机器人,用于将 MCP(Machine Control Protocol)服务器与 Slack 集成,提供基于 LLM 的交互功能。该机器人可以在专用频道中执行配置的 MCP 服务器工具,并以用户友好的格式呈现结果。
View on GitHub

Overview

基本能力

产品定位

Slack MCP Host 是一个 Slack 机器人,用于将 MCP 服务器与 Slack 集成,提供基于 LLM 的交互功能。

核心功能

  • 🤖 在 Slack 中支持基于 LLM 的对话
  • 🔧 与多个 MCP 服务器集成
  • 📝 支持 Markdown 渲染
  • 🔍 可折叠的工具执行结果
  • 💾 维护对话历史
  • 🔐 安全的配置管理

适用场景

  • 在 Slack 中集成 MCP 服务器工具
  • 通过自然语言交互执行 MCP 服务器工具
  • 在 Slack 中查看和管理 MCP 服务器工具的执行结果

工具列表

  • mcp-neo4j-cypher: 用于执行 Neo4j Cypher 查询的工具
  • mcp-server-time: 用于获取当前时间的工具

常见问题解答

无明确常见问题解答部分。

使用教程

使用依赖

  • Python 3.11+
  • uv 用于依赖管理
  • 具有管理员访问权限的 Slack 工作区
  • OpenAI API 访问权限
  • 一个或多个 MCP 服务器

安装教程

  1. 克隆仓库
git clone https://github.com/yourusername/slack-mcp-host.git
cd slack-mcp-host
  1. 创建并激活虚拟环境
uv venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
  1. 安装依赖
uv sync
  1. 配置环境
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
  1. 创建 Slack 应用
  2. 访问 api.slack.com/apps
  3. 点击 "Create New App" → "From an app manifest"
  4. 选择你的工作区
  5. 复制并粘贴 manifest.yml 的内容
  6. 创建应用并安装到你的工作区

调试方式

运行本地开发服务器:

uvicorn src.api:app --reload --port 8000

使用 ngrok 暴露本地服务器:

ngrok http 8000

更新 Slack 应用的 Event Subscription URL 为 ngrok URL。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。