MCP简单Slackbot
一个简单的Slack机器人,使用模型上下文协议(MCP)通过外部工具增强其功能。
特性
- 人工智能助手:使用LLM功能响应通道和DM中的消息
- MCP集成:完全访问MCP工具,如SQLite数据库和web抓取
- 多LLM支持:适用于OpenAI、Groq和Anthropic模型
- 应用主页选项卡:显示可用工具和使用信息
设置
1.创建Slack应用程序
- 首选 api.slack.com/apps 点击“创建新应用”
- 选择“从应用清单”并选择您的工作区
- 复制以下内容
mcp_simple_slackbot/manifest.yaml进入清单编辑器 - 创建应用程序并将其安装到您的工作区
- 在“基本信息”部分,向下滚动到“应用级令牌”
- 点击“生成令牌和范围”,然后:
- 输入类似“mcp助手”的名称 - 添加 connections:write 范围 - 点击“生成”
- 注意你的两个:
- 机器人令牌(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.txt3.配置环境变量
创建一个 .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机器人将:
- 连接到所有已配置的MCP服务器
- 发现可用工具
- 在Socket模式下启动Slack应用程序
- 倾听提及和直接消息
用法
- 直接消息:向机器人发送直接消息
- 频道提及:在频道中提及机器人
@MCP Assistant - 应用程序主页:访问机器人的“应用主页”选项卡查看可用工具
建筑
该机器人采用专注的架构设计:
- SlackMCPBot:管理Slack事件和消息处理的核心类
- LLM客户:处理与LLM API(OpenAI、Groq、Anthropic)的通信
- 服务器:管理与MCP服务器的通信
- 工具:表示MCP服务器中的可用工具
当收到消息时,机器人:
- 将消息与可用工具一起发送到LLM
- 如果LLM响应包括工具调用,则执行该工具
- 将结果返回给LLM进行解释
- 向用户提供最终响应
鸣谢
该项目基于 MCP简单聊天机器人示例.
许可证
MIT许可证
