Slack MCP Server

by ubie-oss
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports environment variable configuration through .env files for storing Slack tokens and other configuration settings.

  • Integrated for code linting during development to maintain code quality and consistency.

  • Hosts the package in GitHub Registry, requiring a Personal Access Token (PAT) for installation and access to the MCP server package.

slack-mcp-服务器

用于访问 Slack API 的MCP(模型上下文协议)服务器。该服务器允许 AI 助手通过标准化接口与 Slack API 进行交互。

特征

可用工具:

  • slack_list_channels - 使用分页列出工作区中的公共频道
  • slack_post_message - 向 Slack 频道发布新消息
  • slack_reply_to_thread - 回复 Slack 中的特定消息线程
  • slack_add_reaction - 在消息中添加反应表情符号
  • slack_get_channel_history - 获取频道的最新消息
  • slack_get_thread_replies - 获取消息线程中的所有回复
  • slack_get_users - 检索工作区中所有用户的基本个人资料信息
  • slack_get_user_profile - 获取用户的个人资料信息
  • slack_search_messages - 在工作区中搜索消息

快速入门

安装

npm install @ubie-oss/slack-mcp-server

注意:它现在托管在 GitHub Registry 中,因此您需要您的 PAT。

配置

您需要设置以下环境变量:

  • SLACK_BOT_TOKEN :Slack Bot 用户 OAuth 令牌
  • SLACK_USER_TOKEN :Slack 用户 OAuth 令牌(消息搜索等某些功能所需)

您还可以创建一个.env文件来设置这些环境变量:

SLACK_BOT_TOKEN=xoxb-your-bot-token SLACK_USER_TOKEN=xoxp-your-user-token

用法

启动 MCP 服务器

直接地:

npx @ubie-oss/slack-mcp-server

或者,使用节点运行已安装的模块:

node node_modules/.bin/slack-mcp-server

编辑客户端的 MCP 配置 json:

{ "slack": { "command": "npx", "args": [ "-y", "@ubie-oss/slack-mcp-server" ], "env": { "NPM_CONFIG_//npm.pkg.github.com/:_authToken": "<your-github-pat>", "SLACK_BOT_TOKEN": "<your-bot-token>", "SLACK_USER_TOKEN": "<your-user-token>" } } }

实现模式

本服务器采用如下实现模式:

  1. 使用 Zod 模式定义请求/响应
    • 请求模式:定义输入参数
    • 响应模式:定义仅限于必要字段的响应
  2. 实施流程:
    • 使用 Zod 模式验证请求
    • 调用 Slack WebAPI
    • 使用 Zod 模式解析响应以限制必要的字段
    • 以 JSON 形式返回

例如, slack_list_channels实现使用ListChannelsRequestSchema解析请求,调用slackClient.conversations.list ,并返回使用ListChannelsResponseSchema解析的响应。

发展

可用脚本

  • npm run dev - 使用热重载以开发模式启动服务器
  • npm run build构建生产项目
  • npm run start启动生产服务器
  • npm run lint - 运行 linting 检查(ESLint 和 Prettier)
  • npm run fix - 自动修复 linting 问题

贡献

  1. 分叉存储库
  2. 创建你的功能分支
  3. 运行测试和 lint: npm run lint
  4. 提交你的更改
  5. 推送到分支
  6. 创建拉取请求

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

实现模型上下文协议的服务器,使AI助手能够通过标准化接口与Slack API进行交互,提供消息传递、频道管理、用户信息检索等工具。

  1. Features
    1. Quick Start
      1. Installation
      2. Configuration
      3. Usage
    2. Implementation Pattern
      1. Development
        1. Available Scripts
        2. Contributing
      ID: sa995xz7mo