Slack协议服务器

一个连接Claude Desktop或Cursor到Slack的模型上下文协议(MCP)服务器,允许用户通过Slack账户认证并执行读取频道、发送消息、搜索、添加反应等操作。

  • by brandonj-taboola
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 brandonj-taboola/slack-mcp

使用说明

Slack MCP服务器

将Claude Desktop或Cursor连接到Slack的模型上下文协议(MCP)服务器。使用您的Slack帐户进行身份验证,让Claude阅读频道、发布消息、搜索、反应等等——一切尽在您的掌握之中。

可用工具

工具 说明
list_channels 列出您可以访问的所有频道
get_channel_messages 从频道读取消息
post_message 向频道或线程发送消息
search_messages 在Slack中搜索邮件
get_thread_replies 在一个帖子中获取所有回复
add_reaction 在消息中添加表情符号反应
list_users 列出工作区中的所有用户
get_user_info 获取特定用户的详细信息
list_files 列出在Slack中共享的文件
get_file_info 获取特定文件的详细信息
summarize_channel 按名称从频道获取所有消息
slack_reauth 重新验证(切换帐户或刷新令牌)

所需松弛范围

MCP服务器使用以下用户令牌作用域:

范围 目的
channels:read 列出公共频道
groups:read 列出私人频道
channels:history 阅读公共频道消息
groups:history 阅读私人频道消息
im:read 列出直接消息
im:history 读取DM内容
mpim:read 列出组DM
mpim:history 读取组DM内容
chat:write 发布消息
users:read 获取用户信息
reactions:read 阅读表情符号反应
reactions:write 添加表情符号反应
files:read 查看共享文件
files:write 上传文件
search:read 搜索邮件

安装说明

先决条件

  • Node.js 20.x或更高版本
  • 克劳德桌面或光标
  • mkcert(用于本地SSL证书)
  • Slack应用程序凭据(客户端ID和客户端密码)-来自项目管理员的请求

第一步:克隆项目

将存储库克隆到计算机上的任何位置:

git clone https://github.com/brandonj-taboola/slack-mcp.git
cd slack-mcp

请注意此目录的完整路径——稍后您需要它来配置编辑器。

步骤2:安装SSL证书

Slack需要HTTPS进行OAuth重定向。使用mkcert创建受信任的本地证书。

Windows(PowerShell作为管理员)

# Install mkcert (requires Chocolatey)
choco install mkcert -y

# Install the local certificate authority
mkcert -install

# Navigate to the project directory and generate certificates
cd C:\path\to\slack-mcp
mkcert localhost 127.0.0.1

macOS

# Install mkcert (requires Homebrew)
brew install mkcert

# Install the local certificate authority
mkcert -install

# Navigate to the project directory and generate certificates
cd /path/to/slack-mcp
mkcert localhost 127.0.0.1

这将在您的项目目录中创建两个文件:

  • localhost+1.pem (证书)
  • localhost+1-key.pem (私钥)

步骤3:安装依赖关系并构建

从项目目录中:

cd /path/to/slack-mcp
npm install
npm run build

步骤4:获取Slack应用程序凭据

向项目管理员请求以下内容:

  • Slack客户端ID
  • Slack客户端密码

这些凭据用于安装在Taboola工作区中的共享Slack应用程序。

步骤5:配置编辑器

将以下内容添加到MCP配置文件中:

视窗

{
  "mcpServers": {
    "slack": {
      "command": "node",
      "args": ["C:\\path\\to\\slack-mcp\\build\\index.js"],
      "env": {
        "SLACK_CLIENT_ID": "your-client-id",
        "SLACK_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

macOS

{
  "mcpServers": {
    "slack": {
      "command": "node",
      "args": ["/path/to/slack-mcp/build/index.js"],
      "env": {
        "SLACK_CLIENT_ID": "your-client-id",
        "SLACK_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

配置文件位置

编辑器 Windows macOS
克劳德桌面 %APPDATA%\Claude\claude_desktop_config.json ~/Library/Application Support/Claude/claude_desktop_config.json
光标 %APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json ~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

注: 替换 /path/to/slack-mcp (或 C:\path\to\slack-mcp 在Windows上)与克隆存储库的实际路径。使用项目管理员提供的值更新凭据。

步骤6:重新启动编辑器

关闭并重新打开Claude Desktop或Cursor以加载新配置。

步骤7:身份验证

第一次使用Slack工具时:

  1. 您的浏览器将打开Slack的授权页面
  2. 使用您的Taboola Slack帐户登录
  3. 点击 允许 授权应用程序
  4. 您将看到“授权成功!”-关闭浏览器选项卡
  5. 返回编辑器并继续

您的令牌已保存在本地,以备将来会话使用。

使用示例

配置后,您可以向Claude询问以下问题:

  • “列出我的Slack频道”
  • “显示#general中的最后10条消息”
  • “将‘Hello team!’发布到#random”
  • “在Slack中搜索有关季度报告的消息”
  • “在最后一条消息中添加缩略图反应”

故障排除

“未找到SSL证书”

确保你已经跑过了 mkcert localhost 127.0.0.1 在项目目录和 .pem 文件存在。

“SLACK_CLIENT_ID和SLAK_CLIENT_CRET环境变量是必需的”

检查编辑器配置是否正确 env 具有这两个值的部分。

OAuth回调上的“无法访问网站”

OAuth回调服务器仅在身份验证期间运行。重新启动编辑器,然后再次尝试使用Slack工具来触发新的OAuth流。

令牌已过期或想要切换帐户

请克劳德使用 slack_reauth 工具,或删除 .slack-token.json 从项目目录中,重新启动编辑器。

安全注意事项

  • 您的Slack令牌存储在本地 .slack-token.json (未同步或共享)
  • 客户端密钥应保持私有,不要将其提交给版本控制
  • SSL证书是您计算机的本地证书
  • 所有Slack API调用都是使用您的用户身份进行的