npm package: @mcpflow.io/mcp-slack
Description: Channel management and messaging functionality.
Author: Anthropic, PBC
Latest version: 1.0.2

# Slack

<!-- MCPFlow Packaged MCP -->
> 此包由 [MCPFlow](https://mcpflow.io) 打包并发布到npm仓库。

Channel management and messaging functionality.

## 安装与使用

直接使用npx运行:

```bash
npx @mcpflow.io/mcp-slack
```

或者先安装后使用:

```bash
# 安装
npm install @mcpflow.io/mcp-slack

# 使用
npx @mcpflow.io/mcp-slack
```

## 使用方法

请参考原始仓库的使用说明。

## 工具函数

### retrieveContext

从AWS知识库中检索上下文信息

**参数:**

- `n`: 检索结果数量
- `query`: 检索查询文本
- `knowledgeBaseId`: AWS知识库ID

### performWebSearch

使用Brave Search API进行网络搜索

**参数:**

- `count`: 搜索结果数量
- `query`: 搜索查询文本
- `offset`: 分页偏移量

### performLocalSearch

使用Brave Local Search API进行本地搜索

**参数:**

- `count`: 搜索结果数量
- `query`: 本地搜索查询文本

### generate_image

使用EverArt模型生成图片

**参数:**

- `model`: 模型ID
- `prompt`: 所需图片的文本描述
- `image_count`: 生成图片数量

### read_file

读取文件内容

**参数:**

- `path`: 文件路径

### write_file

写入文件内容

**参数:**

- `path`: 文件路径
- `content`: 文件内容

### edit_file

编辑文件内容

**参数:**

- `path`: 文件路径
- `edits`: 编辑操作数组
- `dryRun`: 是否预览变更

### search_files

搜索文件

**参数:**

- `path`: 搜索路径
- `pattern`: 匹配模式
- `excludePatterns`: 排除模式数组



## 原始信息

- **开发者:** modelcontextprotocol
- **版本:** 1.0.0
- **许可证:** MIT License
- **原始仓库:** [modelcontextprotocol/servers/blob/main/src/slack](https://github.com/modelcontextprotocol/servers/blob/main/src/slack)

## 原始README

# Slack MCP Server

MCP Server for the Slack API, enabling Claude to interact with Slack workspaces.

## Tools

1. `slack_list_channels`
   - List public channels in the workspace
   - Optional inputs:
     - `limit` (number, default: 100, max: 200): Maximum number of channels to return
     - `cursor` (string): Pagination cursor for next page
   - Returns: List of channels with their IDs and information

2. `slack_post_message`
   - Post a new message to a Slack channel
   - Required inputs:
     - `channel_id` (string): The ID of the channel to post to
     - `text` (string): The message text to post
   - Returns: Message posting confirmation and timestamp

3. `slack_reply_to_thread`
   - Reply to a specific message thread
   - Required inputs:
     - `channel_id` (string): The channel containing the thread
     - `thread_ts` (string): Timestamp of the parent message
     - `text` (string): The reply text
   - Returns: Reply confirmation and timestamp

4. `slack_add_reaction`
   - Add an emoji reaction to a message
   - Required inputs:
     - `channel_id` (string): The channel containing the message
     - `timestamp` (string): Message timestamp to react to
     - `reaction` (string): Emoji name without colons
   - Returns: Reaction confirmation

5. `slack_get_channel_history`
   - Get recent messages from a channel
   - Required inputs:
     - `channel_id` (string): The channel ID
   - Optional inputs:
     - `limit` (number, default: 10): Number of messages to retrieve
   - Returns: List of messages with their content and metadata

6. `slack_get_thread_replies`
   - Get all replies in a message thread
   - Required inputs:
     - `channel_id` (string): The channel containing the thread
     - `thread_ts` (string): Timestamp of the parent message
   - Returns: List of replies with their content and metadata


7. `slack_get_users`
   - Get list of workspace users with basic profile information
   - Optional inputs:
     - `cursor` (string): Pagination cursor for next page
     - `limit` (number, default: 100, max: 200): Maximum users to return
   - Returns: List of users with their basic profiles

8. `slack_get_user_profile`
   - Get detailed profile information for a specific user
   - Required inputs:
     - `user_id` (string): The user's ID
   - Returns: Detailed user profile information

## Setup

1. Create a Slack App:
   - Visit the [Slack Apps page](https://api.slack.com/apps)
   - Click "Create New App"
   - Choose "From scratch"
   - Name your app and select your workspace

2. Configure Bot Token Scopes:
   Navigate to "OAuth & Permissions" and add these scopes:
   - `channels:history` - View messages and other content in public channels
   - `channels:read` - View basic channel information
   - `chat:write` - Send messages as the app
   - `reactions:write` - Add emoji reactions to messages
   - `users:read` - View users and their basic information

4. Install App to Workspace:
   - Click "Install to Workspace" and authorize the app
   - Save the "Bot User OAuth Token" that starts with `xoxb-`

5. Get your Team ID (starts with a `T`) by following [this guidance](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-workspace-or-org-id)

### Usage with Claude Desktop

Add the following to your `claude_desktop_config.json`:

#### npx

```json
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-bot-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}
```

#### docker

```json
{
  "mcpServers": {
    "slack": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SLACK_BOT_TOKEN",
        "-e",
        "SLACK_TEAM_ID",
        "mcp/slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-bot-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}
```

### Troubleshooting

If you encounter permission errors, verify that:
1. All required scopes are added to your Slack app
2. The app is properly installed to your workspace
3. The tokens and workspace ID are correctly copied to your configuration
4. The app has been added to the channels it needs to access

## Build

Docker build:

```bash
docker build -t mcp/slack -f src/slack/Dockerfile .
```

## License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.