Slack搜索功能MCP
一个MCP服务器,使大语言模型能够访问Slack的搜索功能,从而从Slack工作区检索用户、频道、消息和线程回复。
服务介绍
Slack 搜索 MCP 服务器
这是一个提供工具和资源以访问 Slack 搜索功能的模型上下文协议 (MCP) 服务器。该服务器允许大型语言模型 (LLMs) 从 Slack 工作区中搜索并检索用户、频道、消息等。
功能
工具
get_users- 获取 Slack 工作区中的用户列表get_channels- 获取 Slack 工作区中的频道列表get_channel_messages- 从特定频道获取消息get_thread_replies- 获取线程中的回复search_messages- 在 Slack 中搜索消息
资源
allusers://- 获取 Slack 工作区中的所有用户allchannels://- 获取 Slack 工作区中的所有频道
需求
- Bun 运行时
- 具有适当权限的 Slack API 令牌
安装
- 克隆仓库
- 安装依赖项:
bun install
使用方法
-
将 Slack API 令牌设置为环境变量:
export SLACK_TOKEN=xoxb-your-token-here -
运行服务器:
bun run index.ts或者使用编译版本:
./dist/slack_search_function_mcp
构建
要构建可执行文件:
bun run build
这将在 dist 目录下创建一个编译后的可执行文件。
MCP 配置
要将此服务器与支持 MCP 的 LLM 一起使用,请将其添加到您的 MCP 配置中:
{
"mcpServers": {
"slack": {
"command": "/path/to/dist/slack_search_function_mcp",
"env": {
"SLACK_TOKEN": "xoxb-your-token-here"
}
}
}
}
工具示例
获取用户
{
"name": "get_users",
"arguments": {
"limit": 10
}
}
获取频道
{
"name": "get_channels",
"arguments": {
"limit": 10,
"exclude_archived": true
}
}
获取频道消息
{
"name": "get_channel_messages",
"arguments": {
"channel": "C01234ABCDE",
"limit": 10
}
}
获取线程回复
{
"name": "get_thread_replies",
"arguments": {
"channel": "C01234ABCDE",
"thread_ts": "1234567890.123456",
"limit": 10
}
}
搜索消息
{
"name": "search_messages",
"arguments": {
"query": "important announcement",
"sort": "timestamp",
"sort_dir": "desc",
"count": 10
}
}
资源示例
获取所有用户
allusers://
获取所有频道
allchannels://
错误处理
服务器包括全面的错误处理,包括:
- 无效或缺失的 Slack API 令牌
- API 速率限制
- 网络错误
- 无效参数
- 认证失败
安全性
- Slack API 令牌永远不会被记录或在响应中暴露
- 通过环境变量安全地传递令牌