Slack Explorer

Queries Slack messages, threads, and user data using a dedicated MCP server.
  • typescript

46

GitHub Stars

typescript

Language

4 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You can deploy and use the Slack Explorer MCP Server to retrieve information from Slack messages and threads. By running this MCP server in a container, you gain programmatic access to message search, thread replies, user profiles, and file content using a Slack User Token with appropriate permissions, enabling you to build powerful search and retrieval workflows for Slack data.

How to use

You interact with this MCP server through an MCP client to perform Slack searches and fetch data. Start by running the MCP server, then send requests to the server’s endpoints to search messages, fetch thread replies, obtain user profiles, and locate files. Practical usage includes filtering searches by channel, user, dates, and specific features like reactions or files, as well as retrieving all replies in a thread or bulk user profile details.

How to install

Prerequisites before you begin include having Docker installed on your machine. You will also need a Slack User Token with the necessary scopes to access message history, user profiles, and file contents.

### 1) Create a Slack app and obtain a User Token
- Create an app at Slack API
- Add the following User Token Scopes in OAuth & Permissions:
  - channels:history for public channels
  - groups:history for private channels
  - im:history for direct messages
  - mpim:history for group direct messages
  - search:read for message search
  - users.profile:read for user profiles
  - users:read for user information
  - files:read for file content access
- Install the app to your workspace
- Get the User OAuth Token (starts with xoxp-)
  - Tip: To use with multiple users in the same workspace, add them as Collaborators and have each user reinstall from OAuth & Permissions to get their own User OAuth Token

### 2) Configure the MCP server

Create a configuration block to run the MCP server using Docker. The token should be provided as an environment variable.

```json
{
  "mcpServers": {
    "slack-explorer-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--pull", "always",
        "-e", "SLACK_USER_TOKEN=xoxp-your-token-here",
        "ghcr.io/shibayu36/slack-explorer-mcp:latest"
      ]
    }
  }
}

3) Alternative local command (Claude Code)

claude mcp add slack-explorer-mcp -- docker run -i --rm --pull always \
  -e SLACK_USER_TOKEN=xoxp-your-token-here \
  ghcr.io/shibayu36/slack-explorer-mcp:latest

4) Use the MCP server

Once the server is running, use your MCP client to perform Slack searches, for example:

  • Search for meeting-related messages in a channel
  • Find messages from a specific user about a topic
  • Retrieve all thread replies for a post
(Your MCP client requests will be sent to the running Slack Explorer MCP Server.)

Additional setup and usage notes

The MCP server can also be used in HTTP mode for streamable access. Start the server with the TRANSPORT=http environment variable to enable HTTP, and pass your Slack token via the X-Slack-User-Token header in requests.

Using as Streamable HTTP Server

Start the HTTP server by running Docker with the TRANSPORT=http variable set. The server will listen on the specified port and host, and you should provide your Slack token in the header for each request.

# Start HTTP server (default: all interfaces 0.0.0.0, port 8080)
docker run -i --rm --pull always \
  -e TRANSPORT=http \
  -p 8080:8080 \
  ghcr.io/shibayu36/slack-explorer-mcp:latest

# Start with custom host and port
docker run -i --rm --pull always \
  -e TRANSPORT=http \
  -e HTTP_HOST=127.0.0.1 \
  -e HTTP_PORT=9090 \
  -p 9090:9090 \
  ghcr.io/shibayu36/slack-explorer-mcp:latest

Available tools

search_messages

Query Slack messages with advanced filters such as channel, user, date range, and features like reactions or files.

get_thread_replies

Retrieve all replies in a Slack message thread with optional pagination.

get_user_profiles

Fetch profile information for multiple users by their IDs.

search_users_by_name

Find users by their display name with exact or partial matches.

search_files

Search for files across channels and users with type and date range filters.

get_canvas_content

Retrieve HTML content of Slack canvases by IDs.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational