松弛通知器MCP
   
MCP服务器 双向Slack通信 克劳德代码。任务完成时收到通知,并直接从Slack回复Claude的问题。
快速开始
# Add to Claude Code (one command)
claude mcp add slack-notifier -s user \
-e SLACK_BOT_TOKEN=xoxb-your-token \
-e SLACK_DEFAULT_CHANNEL=YOUR-CHANNEL-ID \
-- uvx slack-notifier-mcp@latest特性
- 发送消息 -发送具有可选紧急级别和线程支持的消息
- 询问并等待 -通过Slack帖子提问并等待回复
- 双向 -从Slack回复Claude,在您的终端中获取回复
- 紧急程度 -具有适当格式的正常、重要和关键通知
Slack应用程序设置
在使用此服务器之前,您需要创建一个Slack应用程序:
- 首选 api.slack.com/apps 然后单击 创建新应用程序
- 选择 从零开始,命名它(例如“Claude Code”),然后选择您的工作区
- 首选 OAuth和权限 在侧边栏中
- 在...之下 范围>Bot令牌范围,添加:
- chat:write -发送消息 - channels:history -阅读公共频道消息 - groups:history -阅读私人频道消息 - im:history -读取DM消息 - users:read -获取用户显示名称
- 点击 安装到工作区 在顶端
- 复制 Bot用户OAuth令牌 (开始于
xoxb-)
要获取默认频道ID,请执行以下操作:
- 打开Slack,右键单击频道,然后选择 查看频道详细信息
- 在底部,复制 频道ID (开始于
C)
安装
克劳德代码(推荐)
claude mcp add slack-notifier -s user \
-e SLACK_BOT_TOKEN=xoxb-your-token \
-e SLACK_DEFAULT_CHANNEL=YOUR-CHANNEL-ID \
-- uvx slack-notifier-mcp@latestVS Code
code --add-mcp '{"name":"slack-notifier","command":"uvx","args":["slack-notifier-mcp@latest"],"env":{"SLACK_BOT_TOKEN":"xoxb-your-token","SLACK_DEFAULT_CHANNEL":"YOUR-CHANNEL-ID"}}'其他MCP客户端
Claude Desktop
添加到您的Claude Desktop配置中:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"slack-notifier": {
"command": "uvx",
"args": ["slack-notifier-mcp@latest"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token",
"SLACK_DEFAULT_CHANNEL": "YOUR-CHANNEL-ID"
}
}
}
}Cursor
- 首选 设置→ MCP → 添加新的MCP服务器
- 选择
command类型 - 输入命令:
uvx slack-notifier-mcp@latest - 为添加环境变量
SLACK_BOT_TOKEN和SLACK_DEFAULT_CHANNEL
或添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"slack-notifier": {
"command": "uvx",
"args": ["slack-notifier-mcp@latest"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token",
"SLACK_DEFAULT_CHANNEL": "YOUR-CHANNEL-ID"
}
}
}
}Windsurf / Other MCP Clients
任何兼容MCP的客户端都可以使用松弛通知器:
{
"mcpServers": {
"slack-notifier": {
"command": "uvx",
"args": ["slack-notifier-mcp@latest"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token",
"SLACK_DEFAULT_CHANNEL": "YOUR-CHANNEL-ID"
}
}
}
}本地开发
git clone https://github.com/strand-ai/slack-notifier-mcp.git
cd slack-notifier-mcp
uv sync
uv run slack-notifier-mcpMCP工具
send
向Slack发送一条消息,其中包含可选的紧急情况和线程支持。
# Simple message
send(message="Build completed successfully")
# With urgency (adds formatting and @here for critical)
send(
message="Server is down!",
urgency="critical" # or "normal", "important"
)
# Reply in a thread
send(
message="Done with the first step, moving on...",
thread_ts="1234567890.123456"
)
# Mention user
send(
message="Need your attention",
mention_user=True
)参数:
message(必填):消息文本(支持Slack mrkdwn)channel(可选):通道ID或名称(如果未设置,则使用默认值)thread_ts(可选):在线程中回复的线程时间戳urgency(可选):normal,important,或criticalmention_user(可选):如果为true,@表示配置的用户
ask_user
发送问题并等待用户的回复。
ask_user(
question="Should I use PostgreSQL or SQLite for the database?",
context="Setting up the backend for the new API",
timeout_minutes=10
)
# Returns: {"success": True, "reply": "Use PostgreSQL", ...}参数:
question(必填):要问的问题channel(可选):频道ID或名称context(可选):关于您正在进行的工作的其他上下文timeout_minutes(可选):等待多长时间(默认5,最多30)
get_thread_replies
检查线程中的新回复。
get_thread_replies(
channel="YOUR-CHANNEL-ID",
thread_ts="1234567890.123456",
since_ts="1234567891.000000" # Only newer messages
)环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
SLACK_BOT_TOKEN | 是 | 来自Slack应用程序的机器人令牌(xoxb-…) |
SLACK_DEFAULT_CHANNEL | 否 | 通知的默认通道 |
示例用法
告诉克劳德代码:
“测试运行完毕后在Slack上通知我”
“在Slack上询问我是否继续进行数据库迁移”
“如果我不在时发生任何错误,请发送Slack通知”
调试
运行MCP检查器以测试工具:
npx @anthropics/mcp-inspector uvx slack-notifier-mcp@latest检查您的令牌是否有效:
curl -H "Authorization: Bearer xoxb-your-token" \
https://slack.com/api/auth.test发展
# Install with dev dependencies
uv sync --extra dev
# Run tests
uv run pytest
# Format code
uv run black slack_mcp
uv run ruff check slack_mcp --fix许可证
麻省理工学院
