Token导航 LogoToken导航TokenDH.com
MCP slack bot logo
AI代理stdio官方级别未说明来源级核验

MCP slack bot

MCP Server

一个与MCP(Model Context Protocol)服务器集成的Slack机器人,提供智能查询响应。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
团队协作Python自动化OAuth认证

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Saliha067

提供方

Saliha067

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

MCP Slack Bot 设置指南

一个与MCP(模型上下文协议)服务器集成的Slack机器人,用于提供智能查询响应。

特点/功能

demo

先决条件

  • Python 3.9或更高版本
  • Docker 和 Docker Compose
  • 拥有管理员访问权限的Slack工作区
  • Ollama(用于本地大型语言模型)或OpenAI API密钥

快速入门

1. 克隆仓库

git clone https://github.com/Saliha067/mcp_slack_bot.git
cd mcp_slack_bot

2. 安装Python依赖项

pip install -r requirements.txt

3. 创建Slack应用

  1. 访问 https://api.slack.com/apps
  2. 点击“创建新应用”→“从头开始”
  3. 为您的应用命名并选择工作区
  4. 首选 OAuth & 权限

- 添加机器人令牌范围: - app_mentions:read - chat:write - im:history - im:read - channels:history - 将应用程序安装到工作区 - 复制 机器人用户OAuth令牌 (以……开始 xoxb-

  1. 首选 套接字模式

- 启用套接字模式 - 生成 应用级令牌 和;与;带有 connections:write 范围 - 复制令牌(以...开头 xapp-)

  1. 首选 事件订阅

- 启用事件 - 订阅: app_mentionmessage.im

4. 配置环境

创造 .env 文件:

SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_APP_TOKEN=xapp-your-app-token
OPENAI_API_KEY=sk-your-openai-key
LLM_MODEL=qwen2.5:7b
ENVIRONMENT=prod

环境选项:

  • ENVIRONMENT=prod - 仅支持HTTP/可流式传输的MCP服务器
  • ENVIRONMENT=dev - 所有MCP服务器类型(HTTP + stdio)

5. 配置MCP服务器

编辑 servers_config.json

{
  "servers": [
    {
      "name": "VictoriaMetrics",
      "type": "http",
      "url": "http://localhost:3000/mcp",
      "allowedTools": ["query", "metrics", "labels"]
    }
  ]
}

6. 启动Docker服务

docker-compose up -d

这开始于:

  • VictoriaMetrics(指标数据库)运行在8428端口
  • MCP-VictoriaMetrics(MCP 服务器)在端口 3000 上运行

7. 加载测试数据(可选)

chmod +x scripts/load_test_data.sh
./scripts/load_test_data.sh

8. 启动机器人

python main.py

使用方法

在Slack中

提及该机器人:

@your-bot What's the CPU usage on server1?

直接消息:

List all available metrics

多服务器查询:

What's the Bitcoin price and show me CPU metrics?

生成示例问题

python scripts/generate_sample_questions.py

配置

服务器类型

HTTP/可流式传输(生产环境):

{
  "name": "VictoriaMetrics",
  "type": "http",
  "url": "http://localhost:3000/mcp",
  "allowedTools": ["query", "metrics"]
}

Stdio(仅限开发):

{
  "name": "LocalFilesystem",
  "type": "stdio",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
  "allowedTools": []
}

工具过滤

允许特定工具:

"allowedTools": ["query", "metrics", "labels"]

允许所有工具:

"allowedTools": []

监测

检查日志:

# Look for tool filtering
grep "Loaded.*tools" 
grep "Blocked execution"
grep "Executing allowed tool"

预期输出:

✅ Loaded VictoriaMetrics (http) server
📦 Loaded 7 tools from 'VictoriaMetrics'
✅ Executing allowed tool: query with args: {...}
🚫 Blocked execution of disallowed tool: active_queries

Docker 命令

# Start services
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down

# Restart services
docker-compose restart

故障排除

机器人未响应:

  • 检查Slack令牌 .env
  • 验证是否提到了机器人或在私信中
  • 检查机器人是否已被邀请加入频道

MCP服务器连接失败:

  • 验证正在运行的Docker容器: docker-compose ps
  • 检查MCP服务器URL servers_config.json
  • 测试端点: curl http://localhost:3000/mcp

工具执行被阻止:

  • 检查 allowedToolsservers_config.json
  • 审查日志以过滤消息
  • 验证工具名称是否完全匹配

项目结构

mcp_slackbot/
├── main.py                  # Bot entry point
├── .env                     # Environment variables
├── servers_config.json      # MCP server configuration
├── docker-compose.yml       # Docker services
├── requirements.txt         # Python dependencies
├── utils/
│   ├── slack_bot.py        # Slack integration
│   ├── server.py           # MCP server client
│   ├── chatbot.py          # LLM integration
│   ├── config.py           # Configuration loader
│   ├── tool.py             # Tool definitions
│   └── prompt_manager.py   # Prompt management
├── scripts/
│   ├── load_test_data.sh              # Load sample metrics
│   └── generate_sample_questions.py   # Generate test queries
└── prompts/
    └── prompts_config.yaml  # LLM prompts

添加新的MCP服务器

  1. 添加到 servers_config.json
{
  "name": "MyServer",
  "type": "http",
  "url": "http://localhost:8000/mcp",
  "allowedTools": ["tool1", "tool2"]
}
  1. 重启机器人:
python main.py
  1. 生成问题:
python scripts/generate_sample_questions.py

安全注意事项

  • 使用 ENVIRONMENT=prod 在生产环境中(仅限HTTP)
  • 配置 allowedTools 限制工具访问
  • 永远不要承诺 .env 文件
  • 在生产环境中使用密钥管理
  • 定期审查工具执行日志

支持

  • 问题:https://github.com/Saliha067/mcp_slack_bot/issues
  • MCP 文档:https://modelcontextprotocol.io/
  • Slack API: https://api.slack.com/

致谢/制作人员名单

MCP 简单聊天机器人示例

目录标签

目录标签

团队协作Python自动化OAuth认证Slack机器人本地部署智能查询MCP集成自动化响应

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP