Slack Web API服务器

一个基于Dedalus MCP框架构建的Slack Web API服务器,提供消息、文件、用户和频道的全面搜索与管理功能,适用于团队协作与文档管理。

  • by NickyHeC
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 NickyHeC/slack-mcp

使用说明

Slack MCP服务器

MCP服务器 Slack Web API 与建 Dedalus MCP framework。凭据由以下方式保护 多思 --您的服务器代码永远看不到原始令牌。

特性

  • 跨消息、文件、用户和渠道的全面搜索
  • 支持线程回复的消息发送
  • 频道列表、历史检索和详细信息
  • 画布创建、编辑和阅读,实现丰富的文档协作
  • 用户配置文件查找
  • 所有列表端点上的基于光标的分页
  • DAuth处理Slack的分层速率限制

设置

1.创建Slack应用程序

  1. 首选 api.slack.com/apps 并创建新应用程序
  2. 在...之下 OAuth和权限,添加下面列出的范围
  3. 将应用程序安装到您的工作区
  4. 复制 Bot用户OAuth令牌 (xoxb-...)或 用户OAuth令牌 (xoxp-...)

2.所需范围

范围 需要
channels:read list_channels, search_channels, get_channel_info
channels:history get_channel_history, get_thread_replies
groups:read 专用频道接入
groups:history 私人频道历史
chat:write send_message
users:read search_users
users.profile:read get_user_profile
search:read search_messages, search_files (仅限用户令牌)
canvases:read get_canvas
canvases:write create_canvas, update_canvas

注: 搜索工具(search_messages, search_files)要求a 用户令牌 (xoxp-...).所有其他工具都使用机器人令牌。

3.配置环境

cp .env.example .env

填写您的令牌和Dedalus凭据:

DEDALUS_AS_URL=https://as.dedaluslabs.ai
DEDALUS_API_KEY=your-dedalus-api-key
SLACK_TOKEN=xoxb-your-bot-token

4.安装并运行

pip install -e .
python -m src.main

服务器在端口8080上启动。首先测试连接:

python -m src.client --test-connection

可用工具

搜索

工具 说明
search_messages 在工作区中搜索邮件(需要用户令牌)
search_files 在工作区中搜索文件(需要用户令牌)
search_users 按名称或显示名称列出/搜索用户
search_channels 按名称列出/搜索频道

频道

工具 说明
list_channels 列出所有可访问的频道并分页
get_channel_info 获取特定频道的详细元数据
get_channel_history 从频道检索消息历史记录
get_thread_replies 获取消息线程中的所有回复

消息传递

工具 说明
send_message 向频道发送消息或在帖子中回复

画布

工具 说明
create_canvas 使用markdown内容创建新画布
update_canvas 替换现有画布的内容
get_canvas 阅读画布的部分和内容

用户

工具 说明
get_user_profile 获取用户的详细个人资料信息

项目结构

slack-mcp/
├── src/
│   ├── __init__.py
│   ├── main.py        # DAuth connection + server config
│   ├── tools.py       # All 13 Slack tools
│   └── client.py      # Test client
├── pyproject.toml
├── .env.example
└── README.md

参考文献

许可证

麻省理工学院