Slack MCP 服务器

一个快速、轻量级的 Slack MCP 服务器,用于从 AI 编辑器或终端发送消息、读取历史记录和回复线程。

  • by kai-kou
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 kai-kou/slack-fast-mcp

使用说明

松弛快速mcp

最快的Slack 主控程序 服务器。 用Go编写,大约10毫秒后开始。没有运行时,没有依赖关系,只有一个二进制文件。

发布消息、阅读历史记录以及回复来自AI编辑器的帖子,例如 光标, 帆板运动, 克劳德桌面,或您的终端。

日语版在这里


目录


为什么要放松快速mcp?

MCP服务器启动新进程 对于每一个请求启动速度直接影响您的体验。

松弛快速mcp Node.js mcp Python mcp
初创公司 约10毫秒 约200-500毫秒 约300-800毫秒
安装 单二进制 npm install pip install
运行时 无需 Node.js Python
二进制大小 ~10 MB 无 无

基准:在苹果M1(macOS)上测量的启动时间。实际值因硬件而异。 复制: make bench (scripts/benchmark.sh)

特性

  • 5个MCP工具 — slack_post_message, slack_get_history, slack_post_thread, slack_add_reaction, slack_remove_reaction
  • 命令行接口命令模式 --从终端使用: post, history, reply
  • 安装向导 --互动 slack-fast-mcp setup 便于配置
  • 按项目配置 — .slack-mcp.json 用于特定于项目的Slack设置
  • 跨平台 --macOS、Linux、Windows二进制文件可用
  • 安全 --令牌的环境变量引用、硬编码令牌警告

设计理念

把一些事情做得特别好,而不是把所有事情都做好。

有 许多Slack MCP服务器 可用。slack-fast mcp采取了一种刻意简约的方法:

松弛快速mcp 功能丰富的替代品
设计 极简主义——5个专注的工具 功能齐全——8+个工具
认证 标准Bot令牌(xoxb) 机器人/用户/浏览器令牌
依赖项 ~15(二进制~10 MB) 100+(二进制~15 MB)
CLI模式 内置终端命令 仅限MCP服务器
设置 交互式向导+每个项目配置 环境变量
反应 添加/删除表情符号反应 全面反应管理
DM/搜索 不支持 支持

如果您重视以下内容,请选择松弛快速mcp:

  • 速度 --每次请求时冷启动时间低于10ms
  • 简洁 --一个二进制文件,零运行时依赖关系,3分钟设置
  • 开发人员经验 --CLI模式、安装向导、项目范围配置
  • 清洁身份验证 --标准Slack Bot令牌,无需解决方法

如果需要,考虑替代方案:

消息搜索、DM/组DM支持、浏览器令牌身份验证或SSE/HTTP传输。

另请参见: korotovsky/lack mcp服务器 如果您需要高级功能,(1k+星,Go,功能丰富)是一个不错的选择。


你能做什么?

以下是slack-fast mcp大放异彩的一些现实场景:

  • 你的编辑每天站出来 --要求AI发布进度更新 #daily-standup 无需留下您的代码
  • 拉取请求通知 --让AI在您完成PR后向Slack发布摘要
  • 基于线程的协作 --直接从Cursor或Claude Desktop读取并回复Slack线程
  • CI/CD状态报告 --通过CLI将管道构建结果传输到Slack通道
  • 表情符号反应 -让人工智能用表情符号对消息做出反应(例如:thumbsup:表示确认,:eyes:表示“查看”)
  • 团队日志/日志 --自动将会话后摘要发送到您的个人 #times-* 频道

快速开始

先决条件

1.安装

选项A:下载二进制文件(推荐)

从下载最新二进制文件 GitHub发布:

# macOS (Apple Silicon)
curl -LO https://github.com/kai-kou/slack-fast-mcp/releases/latest/download/slack-fast-mcp_Darwin_arm64.tar.gz
tar xzf slack-fast-mcp_Darwin_arm64.tar.gz
sudo mv slack-fast-mcp /usr/local/bin/
Other platforms
# macOS (Intel)
curl -LO https://github.com/kai-kou/slack-fast-mcp/releases/latest/download/slack-fast-mcp_Darwin_amd64.tar.gz
tar xzf slack-fast-mcp_Darwin_amd64.tar.gz
sudo mv slack-fast-mcp /usr/local/bin/

# Linux (x86_64)
curl -LO https://github.com/kai-kou/slack-fast-mcp/releases/latest/download/slack-fast-mcp_Linux_amd64.tar.gz
tar xzf slack-fast-mcp_Linux_amd64.tar.gz
sudo mv slack-fast-mcp /usr/local/bin/

# Windows (PowerShell)
Invoke-WebRequest -Uri "https://github.com/kai-kou/slack-fast-mcp/releases/latest/download/slack-fast-mcp_Windows_amd64.zip" -OutFile slack-fast-mcp.zip
Expand-Archive slack-fast-mcp.zip -DestinationPath "$env:USERPROFILE\bin"

Windows路径: 如果 $env:USERPROFILE\bin 不在您的PATH中,请添加它:

[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:USERPROFILE\bin", "User")

添加后重新启动PowerShell。

macOS网守: 如果看到警告,请运行: xattr -d com.apple.quarantine /usr/local/bin/slack-fast-mcp

选项B:去安装

go install github.com/kai-kou/slack-fast-mcp/cmd/slack-fast-mcp@latest

选项C:从源代码构建

git clone https://github.com/kai-kou/slack-fast-mcp.git
cd slack-fast-mcp && make build

验证:

slack-fast-mcp version

2.创建Slack应用程序

有关截图的详细演练,请参阅 Slack应用程序设置指南.

  1. 首选 api.slack.com/apps → 创建新应用程序 → 从头开始

  2. 添加 Bot令牌范围 在...之下 OAuth和权限:

    范围 目的 必填项?
    chat:write 发布消息 是
    channels:history 阅读公共频道历史记录 是
    channels:read 解析频道名称 是
    reactions:write 添加/删除表情符号反应 推荐
    users:read 在历史记录中显示用户名 推荐
    groups:history 读取私人频道历史记录 可选
    groups:read 解析专用频道名称 可选
  3. 安装 将应用程序添加到您的工作区

  4. 复制 Bot用户OAuth令牌 (xoxb-...)

3.配置

最简单的方法是运行安装向导:

slack-fast-mcp setup

或手动配置:

export SLACK_BOT_TOKEN='xoxb-your-token-here'
Persisting the token across terminal sessions

这 export 命令仅设置当前会话的变量。要持久化它(以及像Cursor这样的AI编辑器可以拾取它),请将导出行添加到您的shell配置文件中:

Shell 要编辑的文件 如何检查
Z shell (macOS默认设置) ~/.zprofile 或 ~/.zshrc echo $SHELL 显示 /bin/zsh
bash ~/.bash_profile 或 ~/.bashrc echo $SHELL 显示 /bin/bash
# Example: Add to ~/.zprofile (macOS with zsh)
echo "export SLACK_BOT_TOKEN='xoxb-your-token-here'" >> ~/.zprofile
source ~/.zprofile

有关每个操作系统的详细说明,请参阅 Slack应用程序设置指南§5.1.

4.添加到您的AI编辑器

光标/风帆

增添 .cursor/mcp.json (或 .windsurf/mcp.json):

{
  "mcpServers": {
    "slack-fast-mcp": {
      "command": "/usr/local/bin/slack-fast-mcp",
      "args": [],
      "env": {
        "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}"
      }
    }
  }
}

克劳德桌面

添加到Claude Desktop的MCP配置(设置→ 开发者→ MCP服务器):

{
  "slack-fast-mcp": {
    "command": "/usr/local/bin/slack-fast-mcp",
    "args": [],
    "env": {
      "SLACK_BOT_TOKEN": "your-token-here"
    }
  }
}

注: Claude Desktop可能不支持 ${VAR} 环境变量扩展。如果直接设置令牌,请确保此配置文件 不 致力于Git。它通常存储在您的用户目录中,因此这通常是安全的。

松弛快速mcp与 任何与MCP兼容的工具 通过stdio传输。

5.邀请机器人

此步骤是必需的。 除非被邀请,否则机器人无法在频道上发帖或阅读。

在Slack中,打开目标频道并键入:

/invite @your-bot-name

MCP工具

当作为MCP服务器连接时,有五个工具可用:

slack_post_message

将消息发布到Slack频道。

参数 类型 必填 说明
channel string 否 通道名称或ID。默认为配置值
message 字符串 是 消息文本(松弛mrkdwn 支持)
display_name string 否 发件人姓名(附加 #name 消息标签)

例子:

slack_post_message(channel: "general", message: "Hello from MCP!")

slack_get_history

从频道获取消息历史记录。

参数 类型 必填 说明
channel string 否 通道名称或ID。默认为配置值
limit integer 否 消息数,1–100(默认值:10)
oldest string 否 开始时间(Unix时间戳)
latest string 否 结束时间(Unix时间戳)

例子:

slack_get_history(channel: "general", limit: 5)

slack_post_thread

回复消息线程。

参数 类型 必填 说明
channel string 否 通道名称或ID。默认为配置值
thread_ts 字符串 是 父消息的时间戳
message 字符串 是 回复文本(松弛mrkdwn 支持)
display_name string 否 发件人姓名(附加 #name 消息标签)

例子:

slack_post_thread(channel: "general", thread_ts: "1234567890.123456", message: "Got it!")

slack_add_reaction

在消息中添加表情符号反应。

参数 类型 必填 说明
channel string 否 通道名称或ID。默认为配置值
timestamp 字符串 是 要响应的消息的时间戳
reaction 字符串 是 没有冒号的表情符号名称(例如。 thumbsup, heart, eyes)

例子:

slack_add_reaction(channel: "general", timestamp: "1234567890.123456", reaction: "thumbsup")

slack_remove_reaction

从消息中删除表情符号反应。

参数 类型 必填 说明
channel string 否 通道名称或ID。默认为配置值
timestamp 字符串 是 从中删除反应的消息的时间戳
reaction 字符串 是 没有冒号的表情符号名称(例如。 thumbsup, heart, eyes)

例子:

slack_remove_reaction(channel: "general", timestamp: "1234567890.123456", reaction: "thumbsup")

CLI使用情况

slack-fast mcp也可以作为一个独立的CLI工具:

# Post a message
slack-fast-mcp post --channel general --message "Hello from CLI!"

# Get channel history
slack-fast-mcp history --channel general --limit 20

# Reply to a thread
slack-fast-mcp reply --channel general --thread-ts 1234567890.123456 --message "Reply here"

# Add a reaction
slack-fast-mcp react --channel general --timestamp 1234567890.123456 --reaction thumbsup

# Remove a reaction
slack-fast-mcp unreact --channel general --timestamp 1234567890.123456 --reaction thumbsup

# JSON output (pipe to jq for pretty printing)
slack-fast-mcp history --channel general --json | jq '.messages[].text'

# Start as MCP server (default when no subcommand is given)
slack-fast-mcp serve

# Show version
slack-fast-mcp version

# Run setup wizard
slack-fast-mcp setup

配置

配置按以下优先级解决(最高优先级优先):

优先级 来源 示例
1 CLI标志 --token, --channel
2 环境变量 SLACK_BOT_TOKEN, SLACK_DEFAULT_CHANNEL
3 项目配置文件 .slack-mcp.json
4 全局配置文件 ~/.config/slack-fast-mcp/config.json

项目配置: .slack-mcp.json

创建一个 .slack-mcp.json 在项目根目录中设置默认值:

{
  "token": "${SLACK_BOT_TOKEN}",
  "default_channel": "general",
  "display_name": "my-bot"
}
字段 类型 必填 描述
token 字符串 是 机器人令牌。使用 ${ENV_VAR} 参考环境变量
default_channel string 否 默认频道名称或ID
display_name string 否 默认发件人名称(附加 #name 消息标签)

环境变量

变量 描述
SLACK_BOT_TOKEN Slack Bot用户OAuth令牌
SLACK_DEFAULT_CHANNEL 默认频道名称或ID
SLACK_DISPLAY_NAME 默认发件人显示名称
SLACK_FAST_MCP_LOG_LEVEL 日志级别: debug, info, warn, error

安全

许可证管理

  • 从不硬编码令牌 在提交到Git的文件中
  • 使用 ${SLACK_BOT_TOKEN} 配置文件中的环境变量引用
  • 工具 检测并发出警告 如果它找到硬编码的令牌(以 xoxb-, xoxp-, xoxs-)

推荐 .gitignore

.slack-mcp.json

这个工具不做什么

  • 是否 不 在本地存储任何数据(消息、令牌或凭据)
  • 是否 不 具有管理员/管理权限--仅读取和发布消息
  • 与Slack的所有通信都结束了 超文本传输安全协议

如果令牌泄漏

  1. 首选 api.slack.com/apps
  2. 选择您的应用程序→ OAuth和权限
  3. 点击 撤销令牌 使受损令牌无效
  4. 重新安装应用程序以生成新令牌

故障排除

错误 原因 修复
not_in_channel Bot未被邀请到频道 /invite @your-bot-name 在频道里
invalid_auth 令牌无效或已过期 请在以下时间重新生成 api.slack.com/apps
channel_not_found 频道名称错误 请检查拼写;不包括 # 前缀
missing_scope 未添加OAuth作用域 在Slack应用程序设置中添加作用域,然后重新安装
already_reacted 已对此表情符号做出反应 使用其他表情符号或先删除现有反应
no_reaction 无需删除的反应 检查表情符号名称-机器人程序只能删除自己的反应
token_not_configured 未设置令牌 运行 slack-fast-mcp setup 或设置 SLACK_BOT_TOKEN
MCP连接超时/ No server info found 二进制文件在启动时挂起 请参阅“二进制文件无法启动在......下面

二进制文件无法启动

症状: MCP客户端(游标等)显示连接错误,日志包含重复的消息,如:

[info] Starting new stdio process with command: .../slack-fast-mcp
[info] Server creation in progress for getInstructions, waiting
[error] No server info found

原因: 在macOS上,二进制文件可能挂在动态链接器上(dyld)级别,永远不会达到Go运行时。这可能发生在以下情况:

  • 更新Go工具链后使用过时的二进制文件
  • 使用与当前macOS版本不兼容的交叉编译或GoReleaser构建的二进制文件
  • macOS重大更新后

诊断:

# Check if the binary responds normally
slack-fast-mcp version

# If the version command does not respond within a few seconds, the binary is broken

修复:

# Rebuild the binary from source
cd /path/to/slack-fast-mcp
make build
# The binary will be generated at ./build/slack-fast-mcp

# Or rebuild directly with go build
go build -o slack-fast-mcp ./cmd/slack-fast-mcp/

# Copy the rebuilt binary to the path configured in your MCP settings
sudo cp ./build/slack-fast-mcp /usr/local/bin/

重建后,在编辑器的设置中重新加载MCP服务器。

有关更多详细信息,请参阅 Slack应用程序设置指南.


路线图

功能 优先级 状态
文件上传支持 中等 计划中
表情符号反应 低 完成
用户搜索/提及 低 计划
多工作空间支持 低 计划中
HTTP传输(远程MCP) 低 计划中

贡献

欢迎投稿!请随时提交拉取请求。

看 贡献.md 作为指导方针。

发展

git clone https://github.com/kai-kou/slack-fast-mcp.git
cd slack-fast-mcp

make build         # Build the binary
make test          # Run tests
make test-race     # Run tests with race detector
make quality       # Full quality gate (vet, build, test, coverage, smoke)
make smoke         # Smoke test the binary
make help          # Show all available targets

致谢

使用这些优秀的库构建:

许可证

MIT许可证