S

Slack搜索功能MCP

@takuya0206/slack_search_function_mcp
0 Stars 323 次浏览 takuya0206 更新于 2026-08-23

一个MCP服务器,使大语言模型能够访问Slack的搜索功能,从而从Slack工作区检索用户、频道、消息和线程回复。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Slack 搜索 MCP 服务器

这是一个提供工具和资源以访问 Slack 搜索功能的模型上下文协议 (MCP) 服务器。该服务器允许大型语言模型 (LLMs) 从 Slack 工作区中搜索并检索用户、频道、消息等。

功能

工具

  1. get_users - 获取 Slack 工作区中的用户列表
  2. get_channels - 获取 Slack 工作区中的频道列表
  3. get_channel_messages - 从特定频道获取消息
  4. get_thread_replies - 获取线程中的回复
  5. search_messages - 在 Slack 中搜索消息

资源

  1. allusers:// - 获取 Slack 工作区中的所有用户
  2. allchannels:// - 获取 Slack 工作区中的所有频道

需求

  • Bun 运行时
  • 具有适当权限的 Slack API 令牌

安装

  1. 克隆仓库
  2. 安装依赖项:
    bun install
    

使用方法

  1. 将 Slack API 令牌设置为环境变量:

    export SLACK_TOKEN=xoxb-your-token-here
    
  2. 运行服务器:

    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 令牌永远不会被记录或在响应中暴露
  • 通过环境变量安全地传递令牌

相关 MCP 服务