Token导航 LogoToken导航TokenDH.com
Gnosis Slackbot logo
办公协作stdio官方级别未说明来源级核验

Gnosis Slackbot

MCP Server

一个基于Python的异步Slack机器人,支持Docker容器化和MCP工具集成,用于团队协作和自动化任务。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
团队协作自动化PythonClaudeDockerClaude DesktopClaude

安装说明

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

作者 / 组织

DeepBlueDynamics

提供方

DeepBlueDynamics

最后核验

2026/5/17 20:23

运行时

Python

快速接入

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

命令预览

python setup.py --install

详细介绍

Gnosis Slack机器人

一个基于Python的异步Slack机器人,支持Docker,并集成了MCP工具。

特点/功能

  • 🤖 使用异步Slack机器人的助手 slack-bolt
  • 🐳 使用Docker容器化以简化部署
  • 基于FastAPI的API,用于外部集成
  • 🛠️ 用于Claude集成的MCP工具
  • 📸 支持文本、图片和文件上传
  • 🔄 线程回复和丰富的消息格式化

文档

所有扩展指南现在都位于 vibe/ 目录:

快速入门

1. 安装

运行交互式安装向导:

python setup.py --install

这将提示您输入:

  • Slack 机器人令牌 (xoxb-...)
  • Slack 应用令牌 (xapp-...)
  • Slack 签名密钥
  • 可选:默认频道ID
  • API配置

2. 构建Docker容器

python setup.py --build

3. 启动机器人

python setup.py --start

在Windows(PowerShell)上:

scripts\start_bot.ps1

或者在不使用 Docker 的情况下本地运行:

python -m bot.main

设置Slack应用

  1. 访问 https://api.slack.com/apps
  1. 创建一个新应用(或使用现有应用)
  1. 配置机器人令牌范围:

- app_mentions:read - channels:history - channels:read - chat:write - files:write - im:history - im:read - im:write - users:read

  1. 启用套接字模式并获取应用令牌
  1. 将应用程序安装到您的工作区
  1. 复制令牌并运行 python setup.py --install

API 使用

该机器人在8765端口(可配置)上提供了一个REST API。

发送消息

curl -X POST http://localhost:8765/send \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "C1234567890",
    "text": "Hello from Gnosis!"
  }'

发送图片

curl -X POST http://localhost:8765/send-with-image \
  -F "channel=C1234567890" \
  -F "text=Check out this image!" \
  -F "image=@/path/to/image.png"

回复线程

curl -X POST http://localhost:8765/reply \
  -F "channel=C1234567890" \
  -F "thread_ts=1234567890.123456" \
  -F "text=This is a reply"

MCP工具集成

MCP工具使Claude和其他MCP客户端能够与Slack进行交互。

设置MCP工具

  1. 安装MCP依赖项:
cd mcp
pip install -r requirements.txt
  1. 添加到您的MCP配置中(例如,Claude Desktop配置):
{
  "mcpServers": {
    "gnosis-slackbot": {
      "command": "python",
      "args": [
        "/path/to/gnosis-slackbot/mcp/slackbot_mcp.py"
      ]
    }
  }
}

可用的MCP工具

  • slack_send_message - 发送短信
  • slack_send_image - 发送图片
  • slack_reply - 回复帖子
  • slack_upload_file - 上传文件
  • slack_get_user - 获取用户信息
  • slack_get_channel - 获取频道信息

消息记录与监控

所有发出去的机器人消息(API发送、私信自动回复、提及回复、斜杠命令回复和文件上传)都会被同步到 logs/slack_messages.log日志是以换行符分隔的JSON格式,因此可以被其他代理程序追踪。

  • 使用以下配置路径 SLACK_MESSAGE_LOG (默认为 logs/slack_messages.log)。
  • 通过机器人上传的附件会被同步到 logs/slack_messages/attachments/ (用……覆盖 SLACK_ATTACHMENTS_DIR)。 每条日志条目都包含一个 local_copy 当文件已保存时,字段指向该文件。
  • 在Codex容器内 slack-log MCP服务器提供辅助程序:

- slack_log_status — 确认文件存在,并报告文件大小/修改时间。 - slack_log_tail — 获取最新的条目。 - slack_log_since — 检索比某个ISO时间戳更新的条目。

来自 Codex CLI 的示例 tail 命令:

codex tool slack-log slack_log_tail '{"tail": 20}'

Docker 命令

查看日志

docker logs -f gnosis-slackbot

停止机器人

python setup.py --stop

或者手动地:

docker stop gnosis-slackbot
docker rm gnosis-slackbot

重建并重启

python setup.py --stop
python setup.py --build
python setup.py --start

项目结构

gnosis-slackbot/
├── bot/
│   ├── __init__.py
│   ├── main.py           # Entry point
│   ├── slack_bot.py      # Slack bot logic
│   └── api_server.py     # FastAPI server
├── vibe/
│   ├── API_DOCUMENTATION.md
│   ├── CHECKLIST.md
│   ├── PROJECT_SUMMARY.md
│   └── SETUP_GUIDE.md
├── mcp/
│   ├── slackbot_mcp.py   # MCP tool implementation
│   └── requirements.txt
├── scripts/
│   ├── start_bot.sh      # Unix/macOS launcher
│   ├── start_bot.ps1     # Windows PowerShell launcher
│   ├── restart_container.sh
│   ├── check_channel_join.py
│   ├── test_container.py
│   └── test_send_message.py
├── Dockerfile
├── requirements.txt
├── setup.py              # Setup and management script
├── .env                  # Configuration (created by setup)
└── README.md

配置

所有配置都存储在 .env

SLACK_BOT_TOKEN=xoxb-...
SLACK_APP_TOKEN=xapp-...
SLACK_SIGNING_SECRET=...
SLACK_DEFAULT_CHANNEL=C1234567890
API_HOST=0.0.0.0
API_PORT=8765
DEBUG=false

发展

本地运行

# Install dependencies
pip install -r requirements.txt

# Run bot
python -m bot.main

调试模式

设定 DEBUG=true.env 用于详细日志记录。

故障排除

机器人未响应

  1. 检查日志: docker logs gnosis-slackbot
  2. 验证令牌在 .env
  3. 确保在Slack应用中已启用套接字模式
  4. 检查机器人是否具有所需的范围权限

API无法访问

  1. 检查容器是否正在运行: docker ps
  2. 验证端口映射: -p 8765:8765
  3. 检查防火墙设置

MCP工具问题

  1. 验证API是否正在运行: curl http://localhost:8765/health
  2. 检查MCP工具配置路径
  3. 查看MCP日志

许可证

麻省理工学院(MIT)

支持

对于问题和疑问,请在仓库中创建一个议题。

目录标签

目录标签

团队协作自动化PythonClaudeDockerSlack机器人本地部署MCP工具

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP