Slack Search MCP Server

by takuya0206
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

  • Used as the runtime environment for the MCP server, enabling execution of the TypeScript code and providing build capabilities for creating a compiled executable.

  • Provides tools for accessing Slack's search functionality, allowing users to retrieve workspace information (users, channels), fetch messages from specific channels, get thread replies, and search through messages across the workspace.

Slack Search MCP Server

A Model Context Protocol (MCP) server that provides tools and resources to access Slack's search functionality. This server allows LLMs to search and retrieve users, channels, messages, and more from a Slack workspace.

Features

Tools

  1. get_users - Get a list of users in the Slack workspace
  2. get_channels - Get a list of channels in the Slack workspace
  3. get_channel_messages - Get messages from a specific channel
  4. get_thread_replies - Get replies in a thread
  5. search_messages - Search for messages in Slack

Resources

  1. allusers:// - Get all users in the Slack workspace
  2. allchannels:// - Get all channels in the Slack workspace

Requirements

  • Bun runtime
  • Slack API token with appropriate permissions

Installation

  1. Clone the repository
  2. Install dependencies:
    bun install

Usage

  1. Set the Slack API token as an environment variable:
    export SLACK_TOKEN=xoxb-your-token-here
  2. Run the server:
    bun run index.ts
    Or use the compiled version:
    ./dist/slack_search_function_mcp

Building

To build the executable:

bun run build

This will create a compiled executable in the dist directory.

MCP Configuration

To use this server with an MCP-enabled LLM, add it to your MCP configuration:

{ "mcpServers": { "slack": { "command": "/path/to/dist/slack_search_function_mcp", "env": { "SLACK_TOKEN": "xoxb-your-token-here" } } } }

Tool Examples

Get Users

{ "name": "get_users", "arguments": { "limit": 10 } }

Get Channels

{ "name": "get_channels", "arguments": { "limit": 10, "exclude_archived": true } }

Get Channel Messages

{ "name": "get_channel_messages", "arguments": { "channel": "C01234ABCDE", "limit": 10 } }

Get Thread Replies

{ "name": "get_thread_replies", "arguments": { "channel": "C01234ABCDE", "thread_ts": "1234567890.123456", "limit": 10 } }

Search Messages

{ "name": "search_messages", "arguments": { "query": "important announcement", "sort": "timestamp", "sort_dir": "desc", "count": 10 } }

Resource Examples

Get All Users

allusers://

Get All Channels

allchannels://

Error Handling

The server includes comprehensive error handling for:

  • Invalid or missing Slack API token
  • API rate limits
  • Network errors
  • Invalid parameters
  • Authentication failures

Security

  • The Slack API token is never logged or exposed in responses
  • The token is securely passed via environment variables
-
security - not tested
F
license - not found
-
quality - not tested

An MCP server that enables LLMs to access Slack's search functionality to retrieve users, channels, messages, and thread replies from a Slack workspace.

  1. Features
    1. Tools
    2. Resources
  2. Requirements
    1. Installation
      1. Usage
        1. Building
          1. MCP Configuration
            1. Tool Examples
              1. Get Users
              2. Get Channels
              3. Get Channel Messages
              4. Get Thread Replies
              5. Search Messages
            2. Resource Examples
              1. Get All Users
              2. Get All Channels
            3. Error Handling
              1. Security