Slack集成服务

MCP Slack Server是一个Slack集成服务,使AI助手如Claude能够与Slack工作区交互,包括读取和发送消息、管理反应、搜索内容和处理线程。

  • by limklister
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 limklister/mcp-slack-server

使用说明

MCP Slack服务器

用于Slack集成的模型上下文协议(MCP)服务器。使像Claude这样的人工智能助手能够与Slack工作区进行交互——阅读消息、发送消息、管理反应、搜索内容和处理线程。

特性

  • 渠道管理:列表和访问频道
  • 消息操作:读取历史记录、发送消息、回复线程
  • 直接消息:向用户发送私信,列出DM对话
  • 反应:添加和删除表情符号反应
  • 搜索:对所有邮件进行全文搜索
  • 线程支持:阅读并回复主题对话
  • 用户查找:获取用户信息

身份验证方法

选择最适合您用例的身份验证方法:

方法1:Slack应用令牌(推荐)

最适合: 长期生产使用,自动化稳定

  • 设置时间: 10-15分钟
  • 令牌寿命: 月/年
  • 要求: 创建Slack应用程序,工作区权限

完整设置指南→

方法2:浏览器会话令牌(快速入门)

最适合: 快速测试,个人实验,无法安装应用程序

  • 设置时间: 2分钟
  • 令牌寿命: ~24小时
  • 要求: Chrome浏览器,已登录Slack

浏览器令牌指南→

快速启动:

npm install
npm run extract-token  # Paste curl from Chrome DevTools
npm run build
npm start

快速开始

1.安装依赖项

npm install

2.获取Slack代币

选择一种方法:

选项A:Slack应用程序(长期)

  1. 首选https://api.slack.com/apps
  2. 创建新应用程序或选择现有应用程序
  3. 转到“OAuth和权限”
  4. 添加以下范围:
    • channels:read -查看基本频道信息
    • channels:history -查看公共频道中的消息
    • chat:write -发送消息
    • reactions:read -查看反应
    • reactions:write -添加/删除反应
    • search:read -搜索工作区内容
    • users:read -查看工作区中的人员
  5. 将应用程序安装到工作区
  6. 复制“用户OAuth令牌”(以开头 xoxp-)

选项B:浏览器令牌(快速测试)

  1. 在Chrome中打开Slack,打开DevTools网络选项卡
  2. 查找请求 workspace.slack.com/api
  3. 复制为 cURL
  4. 跑 npm run extract-token 并粘贴curl命令
  5. 令牌、cookie和工作区URL自动添加到.env

看 浏览器_ TOKEN_SETUP.md 了解详细的提取步骤。

3.配置环境

cp .env.example .env
# Edit .env and add your SLACK_USER_TOKEN
# If using browser token, also add SLACK_COOKIE and SLACK_WORKSPACE_URL

4.建造

npm run build

5.添加到克劳德代码

添加到您的Claude代码配置中(~/.claude/config.json):

{
  "mcpServers": {
    "slack": {
      "command": "node",
      "args": ["/full/path/to/mcp-slack-server/dist/index.js"],
      "env": {
        "SLACK_USER_TOKEN": "xoxp-your-token-here"
      }
    }
  }
}

对于浏览器令牌: 添加 "SLACK_COOKIE": "xoxd-your-cookie-here" 转到env部分。

重新启动克劳德代码。服务器将在活动时出现。

可用工具

看 docs/TOOLS.md 获取详细的工具文档。

发展

# Run in dev mode with auto-reload
npm run dev

# Build TypeScript
npm run build

# Run built version
npm start

# Extract browser token
npm run extract-token

文档

许可证

麻省理工学院