使用说明
Slack MCP服务器
用于与Slack交互的MCP(模型上下文协议)服务器。
安全功能
- 链接展开已禁用:防止可能泄露敏感信息的自动链接爬行
- 速率限制:强制每个端点每分钟60个请求
- Markdown转换:自动将GitHub风格的Markdown转换为Slack
mrkdwn格式
Slack设置
-
创建Slack应用程序:
- 访问 Slack应用程序
- 点击“创建新应用”
- 选择“从头开始”
- 命名您的应用程序并选择您的工作区
-
配置Bot令牌范围: 导航到“OAuth和权限”并添加以下范围:
channels:history-查看公共频道中的消息和其他内容channels:read-查看基本频道信息chat:write-以应用程序的身份发送消息reactions:write-在消息中添加表情符号反应users:read-查看用户及其基本信息users.profile:read-查看用户的详细资料
-
将应用程序安装到工作区:
- 点击“安装到工作区”并授权应用程序
- 保存以开头的“Bot用户OAuth令牌”
xoxb-
-
得到你的 团队ID (以a开头
T)
MCP服务器配置
增添 mcp.json 服务器配置:
{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@axivo/mcp-slack"
],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567",
"SLACK_CHANNEL_IDS": "C01234567, C76543210"
}
}
}
}
环境变量
所需变量:
SLACK_BOT_TOKEN-Slack机器人令牌(以开头xoxb-)SLACK_TEAM_ID-松弛 团队ID (开始于T)
可选变量:
SLACK_CHANNEL_IDS-以逗号分隔的频道ID列表,仅限制对特定频道的访问。如果未设置,服务器可以访问机器人有权访问的所有公共频道。
提示示例
以下是如何使用Slack MCP服务器和自然语言提示的实际示例:
- "在#general Slack频道中提到我的名字,并发布项目更新"
- "阅读#marketing Slack频道的最后20条消息,了解讨论情况"
- "回复#support Slack频道的最新帖子并提供解决方案"
- "在#announcements Slack频道的最新消息中添加竖起大拇指的反应"
- "从关于API更改的长线程中获取所有回复"
- "在#general Slack频道中编辑我的最后一条消息以修复拼写错误"
- "列出我可以访问的所有频道,并找到与工程相关的频道"
- "查找John的个人资料信息和时区"
MCP工具
-
add_reaction- 在消息中添加反应表情符号
- 所需输入:
channel_id(string):包含消息的通道的IDtimestamp(string):要响应的消息的时间戳reaction(字符串):表情符号反应的名称(不带::)
- 返回:反应添加确认
-
edit_message- 编辑Slack频道中的现有消息
- 所需输入:
channel_id(string):包含消息的通道的IDtimestamp(string):要编辑的消息的时间戳text(string):要编辑的消息文本
- 返回:带有更新内容的消息编辑确认
-
get_channel_history- 从频道获取最新消息
- 所需输入:
channel_id(string):通道的ID
- 可选输入:
limit(数字,默认值:10):要检索的邮件数
- 返回:包含元数据的最近消息数组
-
get_thread_replies- 获取消息线程中的所有回复
- 所需输入:
channel_id(string):包含线程的通道的IDthread_ts(string):父消息的时间戳,格式为“1234567890.123456”。不带句点的格式的时间戳可以通过添加句点进行转换,使其后面有6个数字
- 返回:包含消息详细信息的线程回复数组
-
get_user_profile- 获取特定用户的详细个人资料信息
- 所需输入:
user_id(string):用户的ID
- 返回:详细的用户配置文件信息,包括显示名称、状态、时区等。
-
get_users- 获取工作区中所有用户的列表及其基本配置文件信息
- 可选输入:
limit(数字,默认值:100,最大值:200):返回的最大用户数cursor(string):下一页结果的分页光标
- 返回:包含基本配置文件信息的工作区用户列表
-
list_channels- 在工作区中列出带有分页的公共或预定义频道
- 可选输入:
limit(数字,默认值:100,最大值:200):要返回的最大通道数cursor(string):下一页结果的分页光标
- 返回:通道列表及其ID和信息
-
post_message- 在Slack频道发布新消息
- 所需输入:
channel_id(string):要发布的频道的IDtext(string):要发布的消息文本
- 返回:带有时间戳和频道信息的消息发布确认
-
reply_to_thread- 在Slack中回复特定消息线程
- 所需输入:
channel_id(string):包含线程的通道的IDthread_ts(string):父消息的时间戳,格式为“1234567890.123456”。不带句点的格式的时间戳可以通过添加句点进行转换,使其后面有6个数字text(string):要发布的回复文本
- 可选输入:
broadcast(boolean,默认值:false):是否也向主通道发送回复
- 返回:带有消息详细信息的线程回复确认
