
Slack Explorer MCP
io.github.shibayu36Published by GitHub account shibayu36v0.12.0Updated Oct 24, 2026
MCP server specialized in retrieving information from Slack messages and threads
Overview
Read-only Slack explorer that lets an assistant search messages, threads, files, canvases and user profiles visible to a Slack user token.
- What you can do
- Search messages with filters for channel, sender, date range, reactions, files and sorting
- Read all replies in a thread with pagination
- Look up user profiles in bulk and find users by display name
- Search files such as canvases, PDFs, images and spreadsheets, and fetch canvas HTML content
- When to use it
- Useful when you want an assistant to dig through Slack history: finding past discussions, decisions or attachments in channels and DMs, or pulling a full thread and the people involved without leaving the chat client.
- Requirements
- Runs locally as a Docker container (ghcr.io/shibayu36/slack-explorer-mcp), typically via stdio. Needs a Slack app with user token scopes for channel, DM, search, user and file history, and a Slack User OAuth Token (xoxp-) passed as SLACK_USER_TOKEN, or as the X-Slack-User-Token header when TRANSPORT=http is set.
Installation
In SourceWeft
- Open Slack Explorer MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Slack Explorer MCP Server
A Model Context Protocol (MCP) server specialized in retrieving information from Slack messages and threads. It provides tools to access messages that the authenticated user can view using a User Token (xoxp).
Available Tools
-
Message Search (
search_messages)- Search Slack messages with advanced filtering options. You can search by channel, user, date range, and specific features (reactions, files, etc.).
- Parameters
query: Basic search query. Use dedicated fields for inclusion modifiers (bare modifiers in this field are rejected). Exclusion modifiers prefixed with-(e.g.,-in:#channel) ARE allowed herein_channel: Filter by channel name (e.g., "general", "team-dev")from_user: Search messages from specific user (User ID)with: Search DMs/threads with specific users (array of User IDs)before,after,on: Date range filtering (YYYY-MM-DD format)during: Period specification (e.g., "July", "2023")has: Messages containing specific features (emoji, "pin", "file", "link", "reaction")hasmy: Messages where you reacted with specific emojisort: Sort method ("score" or "timestamp")count: Number of results per page (1-100, default: 20)page: Page number (1-100, default: 1)
-
Thread Replies (
get_thread_replies)- Get all replies in a message thread. Supports pagination for efficiently handling large numbers of replies.
- Parameters
channel_id: Channel ID (required)thread_ts: Parent message timestamp (required)limit: Number of replies to retrieve (1-1000, default: 100)cursor: Pagination cursor
-
User Profiles (
get_user_profiles)- Get profile information for multiple users in bulk. Retrieve display names, real names, email addresses, and other profile information by specifying a list of user IDs.
- Parameters
user_ids: Array of user IDs (required, max 100)
-
Search Users by Display Name (
search_users_by_name)- Search users by their display name. Supports both exact match and partial match search with case sensitivity.
- Parameters
display_name: Display name to search for (required)exact: Enable exact match search
-
File Search (
search_files)- Search for files such as canvases, PDFs, and images. You can filter by file type, channel, user, and date range.
- Parameters
query: Basic search query. Use dedicated fields for inclusion modifiers (bare modifiers in this field are rejected). Exclusion modifiers prefixed with-(e.g.,-type:pdfs) ARE allowed heretypes: Filter by file types (e.g., ["canvases", "pdfs"]). Available types: lists, canvases, documents, emails, images, pdfs, presentations, snippets, spreadsheets, audio, videosin_channel: Filter by channel name (e.g., "general", "team-dev")from_user: Search files from specific user (User ID)with_users: Search files in DMs/threads with specific users (array of User IDs)before,after,on: Date range filtering (YYYY-MM-DD format)count: Number of results per page (1-100, default: 20)page: Page number (1-100, default: 1)
-
Canvas Content (
get_canvas_content)- Get HTML content of Slack canvases. Retrieve canvas content by specifying canvas IDs.
- Parameters
canvas_ids: Array of canvas IDs (required, max 20)
Setup
Getting a Slack User Token
- Create an app at Slack API
- Add the following User Token Scopes in OAuth & Permissions:
channels:history- For public channelsgroups:history- For private channelsim:history- For direct messagesmpim:history- For group direct messagessearch:read- For message searchusers.profile:read- For user profilesusers:read- For user informationfiles: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
MCP Server Configuration
-
Configure mcp.json
If you're using Claude Code:
-
Use the agent to perform Slack searches
Examples:
- "Search for meeting-related messages in the general channel from last week"
- "Find messages from @john.doe about 'project'"
- "Get all thread replies for this post"
Usage
Common Search Patterns
-
Search in a specific channel
-
Search messages from a specific user
-
Search messages with reactions
-
Search messages you reacted to
-
Search messages with file attachments
Using as Streamable HTTP Server
By default, the server uses stdio for MCP communication. You can start it as a Streamable HTTP server by setting the TRANSPORT=http environment variable. In HTTP mode, pass the Slack token using the X-Slack-User-Token header.
Starting the server:
Source: README.md at commit ea0b44d
Tools
0Version history
1- v0.12.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts