返回市场
Slack-MCP主机

Slack-MCP主机

作者:jexp5 星标更新:2025-04-08

项目介绍

Slack MCP 主机

一个集成MCP(机器控制协议)服务器与Slack的机器人,提供在专用频道中的LLM驱动交互。该机器人可以从配置的MCP服务器执行工具,并以用户友好的格式展示结果。

功能

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

预备条件

  • 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 服务器
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应用
  • 访问api.slack.com/apps
  • 点击“创建新应用” → “从应用清单开始”
  • 选择您的工作区
  • 复制并粘贴manifest.yml的内容
  • 创建应用并将其安装到您的工作区

部署

Cloudflare Workers

  1. 安装Wrangler
npm install -g wrangler
  1. 登录Cloudflare
wrangler login
  1. 设置密钥
wrangler secret put SLACK_API_KEY
wrangler secret put OPENAI_API_KEY
  1. 部署
wrangler deploy
  1. 更新Slack应用配置
  • 转到您的Slack应用设置
  • 更新事件订阅URL为您的Cloudflare Workers URL: https://slack-mcp-host.<your-worker-subdomain>.workers.dev/slack/events

使用示例

这是一个交互流程示例:

  1. 用户开始对话
用户:你能帮我找到克里斯托弗·诺兰导演的电影吗?
  1. 机器人响应工具执行
机器人:我将使用Neo4j Movies数据库帮助您查找克里斯托弗·诺兰导演的电影。

<details><summary>工具结果</summary>
工具neo4j_movies结果:
- 盗梦空间 (2_010_)
- 黑暗骑士 (2_008_)
- 星际穿越 (2_014_)
- 记忆碎片 (2_000_)
- 奇迹 (2_006_)
</details>

您想了解更多关于这些电影中的哪一部?
  1. 用户跟进
用户:告诉我更多关于盗梦空间的信息。
  1. 机器人执行另一个查询
机器人:我将为您获取关于《盗梦空间》的详细信息。

<details><summary>工具结果</summary>
工具neo4j_movies结果:
标题:盗梦空间 (2_010_)
导演:克里斯托弗·诺兰
演员:莱昂纳多·迪卡普里奥,约瑟夫·高登-莱维特,艾伦·佩吉
剧情:一名通过梦境共享技术窃取企业秘密的小偷被赋予了相反的任务,即将一个想法植入一位CEO的心中。
</details>

这部电影因其创新的故事讲述和视觉效果而受到好评。您还想了解其他电影还是《盗梦空间》的具体方面?

开发

为了本地开发运行:

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

使用ngrok或其他类似工具公开您的本地服务器:

ngrok http 8000

用ngrok URL更新您的Slack应用的事件订阅URL。

贡献

  1. 分叉仓库
  2. 创建您的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加惊人的功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开Pull Request

许可证

本项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。 </中文翻译>