Slack机器人

一个使用模型上下文协议(MCP)增强功能的Slack机器人,支持多LLM模型和外部工具集成。

  • by MAYANK240903
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 mayank240903/mcp_client_for_sse_server

使用说明

MCP简单Slackbot

一个简单的Slack机器人,使用模型上下文协议(MCP)通过外部工具增强其功能。

特性

  • 人工智能助手:使用LLM功能响应通道和DM中的消息
  • MCP集成:完全访问MCP工具,如SQLite数据库和web抓取
  • 多LLM支持:适用于OpenAI、Groq和Anthropic模型
  • 应用主页选项卡:显示可用工具和使用信息

设置

1.创建Slack应用程序

  1. 首选 api.slack.com/apps 点击“创建新应用”
  2. 选择“从应用清单”并选择您的工作区
  3. 复制以下内容 mcp_simple_slackbot/manifest.yaml 进入清单编辑器
  4. 创建应用程序并将其安装到您的工作区
  5. 在“基本信息”部分,向下滚动到“应用级令牌”
  6. 点击“生成令牌和范围”,然后:
    • 输入类似“mcp助手”的名称
    • 添加 connections:write 范围
    • 点击“生成”
  7. 注意你的两个:
    • 机器人令牌(xoxb-...)在“OAuth和权限”中找到
    • 应用令牌(xapp-...)你刚刚生成的

2.安装依赖项

# Create a virtual environment
python -m venv venv

# Activate the virtual environment
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install project dependencies
pip install -r mcp_simple_slackbot/requirements.txt

3.配置环境变量

创建一个 .env 文件在 mcp_simple_slackbot 目录(参见 .env.example 对于模板):

# Slack API credentials
SLACK_BOT_TOKEN=xoxb-your-token
SLACK_APP_TOKEN=xapp-your-token

# LLM API credentials
OPENAI_API_KEY=sk-your-openai-key
# or use GROQ_API_KEY or ANTHROPIC_API_KEY

# LLM configuration
LLM_MODEL=gpt-4-turbo

运行Bot

# Navigate to the module directory
cd mcp_simple_slackbot

# Run the bot directly
python main.py

机器人将:

  1. 连接到所有已配置的MCP服务器
  2. 发现可用工具
  3. 在Socket模式下启动Slack应用程序
  4. 倾听提及和直接消息

用法

  • 直接消息:向机器人发送直接消息
  • 频道提及:在频道中提及机器人 @MCP Assistant
  • 应用程序主页:访问机器人的“应用主页”选项卡查看可用工具

建筑

该机器人采用专注的架构设计:

  1. SlackMCPBot:管理Slack事件和消息处理的核心类
  2. LLM客户:处理与LLM API(OpenAI、Groq、Anthropic)的通信
  3. 服务器:管理与MCP服务器的通信
  4. 工具:表示MCP服务器中的可用工具

当收到消息时,机器人:

  1. 将消息与可用工具一起发送到LLM
  2. 如果LLM响应包括工具调用,则执行该工具
  3. 将结果返回给LLM进行解释
  4. 向用户提供最终响应

鸣谢

该项目基于 MCP简单聊天机器人示例.

许可证

MIT许可证