使用说明
Slack MCP服务器
A. 生产准备就绪 用于全面集成Slack的模型上下文协议(MCP)服务器。使AI助手能够通过标准化、安全的工具与Slack工作区无缝交互。
🚀 快速开始
Warp.dev用户
-
构建Docker镜像:
git clone https://github.com/atarukun/slack-mcp.git cd slack-mcp docker build -t slack-mcp:latest . -
在扭曲中配置:
{ "slack-mcp": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "SLACK_BOT_TOKEN=xoxb-your-actual-slack-bot-token", "slack-mcp:latest" ], "env": {}, "working_directory": null, "start_on_launch": true } } -
获取您的Slack机器人令牌 从https://api.slack.com/apps
-
开始使用Slack工具 在Warp!
适用于Claude桌面用户
看 配置指南.md 有关详细的设置说明。
✨ 特性
🔐 身份验证和安全
- 通过环境变量进行安全的机器人令牌处理
- 自动令牌验证和格式检查
- 速率限制合规性(最小间隔1秒)
- 支持Bot(
xoxb-)和用户(xoxp-)代币
💬 消息传递工具
- send_message:向频道、用户或线程发送消息
- 带Slack块和附件的富文本格式
- 线程回复支持
thread_ts参数 - 多通道消息广播
🏢 工作区发现
- list_channels:分类频道列表,格式美观
- get_channel_info:详细的渠道信息和统计数据
- 支持公共、私人和存档渠道
- 成员数量和渠道元数据
👥 用户管理
- get_user_info:全面的用户资料信息
- 显示名称、标题、状态消息和时区数据
- 管理员和机器人帐户检测
- 基于电子邮件的用户查找
🔌 连接与测试
- test_slack_connection:全面的连接测试
- 工作区信息显示(名称、域、品牌)
- API配置详细信息和诊断
- set_slack_token:运行时令牌配置
🏗️ 建筑
Docker第一设计
- 针对开发和生产进行了优化的多级Dockerfile
- Python 3.12完全支持异步
uv包管理器,用于快速、可靠的依赖关系管理- 非root用户执行以确保安全
- 内置健康检查和监测
MCP协议实现
- FastMCP框架 用于自动刀具注册
- STDIO传输 实现最大的客户端兼容性
- 异步操作 通过适当的错误处理
- 类型安全 具有完整的Pydantic验证
- 速率限制 内置于所有API操作中
📊 当前状态
版本:1.4.1(文件操作已删除)
已完成的阶段:第6页,共13页
可用工具:29个生产就绪的MCP工具
测试:已通过ILDM工作区验证
可用工具
核心工具(第1-3阶段)
set_slack_token-配置身份验证test_slack_connection-验证连接和工作区信息send_message-向频道/用户发送格式化消息get_channel_info-获取详细的频道信息list_channels-通过分类探索工作空间频道get_user_info-检索全面的用户资料
扩展消息传递工具(第4阶段)
update_message-编辑/更新现有消息delete_message-从频道中删除消息pin_message-将重要信息固定到频道unpin_message-取消订阅来自频道的消息get_message_permalink-生成可共享的消息链接schedule_message-安排邮件以备将来发送get_thread_replies-检索并显示线程对话send_direct_message-向用户发送私人消息
渠道管理工具(第5阶段)
create_channel-创建新的公共或私人频道archive_channel-存档渠道以保存历史set_channel_topic-设置或更新频道主题set_channel_purpose-设置频道目的/描述join_channel-加入公共频道leave_channel-离开频道invite_to_channel-邀请用户加入频道remove_from_channel-从频道中删除用户list_channel_members-列出频道的所有成员
用户管理工具(第6阶段)
get_user_info-获取Slack用户的详细信息list_workspace_members-列出工作区中的所有成员(带分类)search_slack_users-按姓名、电子邮件或标题搜索用户get_user_presence-获取用户当前的在线状态(活动/离开)get_user_timezone-获取用户的时区信息get_user_conversations-列出用户所属的所有对话
📖 文档
- 配置指南.md -针对不同MCP客户端的设置
- ROADMAP.md -开发阶段和未来特征
- 更改日志.md -版本历史和更改
- Docker配置 -多个部署示例
🛠️ 发展
先决条件
- Docker和Docker Compose
- Python 3.12+(用于本地开发)
- Slack Bot令牌来自https://api.slack.com/apps
地方发展
# Clone and setup
git clone https://github.com/atarukun/slack-mcp.git
cd slack-mcp
# Build development container
docker build --target development -t slack-mcp-dev .
# Run with development setup
docker-compose up --build
# Run tests
source .venv/bin/activate
python test_tools.py
生产部署
# Build production image
docker build --target production -t slack-mcp:latest .
# Run production container
docker run --rm -i \
-e SLACK_BOT_TOKEN=xoxb-your-token \
slack-mcp:latest
🤝 贡献
欢迎投稿!该项目遵循结构化的开发路线图:
- 第1-3阶段: ✅ 核心实施(已完成)
- 第4-5阶段: ✅ 扩展消息传递、渠道管理(已完成)
- 第6阶段:使用基本工具进行用户管理(将更高级的用户管理完全移至第10阶段)
- 第7-9阶段:搜索、交互元素和其他高级功能
- 第10-13阶段:分析、工作流程、生产功能
看 ROADMAP.md 详细的开发阶段。
📄 许可证
MIT许可证 -看 许可证 文件以获取详细信息。
👨💻 作者
布伦农教堂 (atarukun@gmail.com )
🙏 致谢
⭐ 标记此存储库 如果你觉得它有用的话!
🐛 报告问题 在GitHub上
💡 建议功能 通过GitHub讨论