Slack搜索服务

一个提供Slack搜索功能的MCP服务器,允许LLMs从Slack工作区搜索和检索用户、频道、消息等。

  • by takuya0206
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 takuya0206/slack_search_function_mcp

使用说明

Slack搜索MCP服务器

一种模型上下文协议(MCP)服务器,提供访问Slack搜索功能的工具和资源。此服务器允许LLM从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工作区中的所有频道

需求

  • 包子 运行时
  • 具有适当权限的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令牌从未在响应中记录或公开
  • 令牌通过环境变量安全传递