Skip to main content
Glama

Slack MCP Server

by ubie-oss

slack-mcp-server

A MCP(Model Context Protocol) server for accessing Slack API. This server allows AI assistants to interact with the Slack API through a standardized interface.

Transport Support

This server supports both traditional and modern MCP transport methods:

  • Stdio Transport (default): Process-based communication for local integration
  • Streamable HTTP Transport: HTTP-based communication for web applications and remote clients

Features

Available tools:

  • slack_list_channels - List public channels in the workspace with pagination
  • slack_post_message - Post a new message to a Slack channel
  • slack_reply_to_thread - Reply to a specific message thread in Slack
  • slack_add_reaction - Add a reaction emoji to a message
  • slack_get_channel_history - Get recent messages from a channel
  • slack_get_thread_replies - Get all replies in a message thread
  • slack_get_users - Retrieve basic profile information of all users in the workspace
  • slack_get_user_profiles - Get multiple users' profile information in bulk (efficient for batch operations)
  • slack_search_messages - Search for messages in the workspace with powerful filters:
    • Basic query search
    • Location filters: in_channel
    • User filters: from_user, with
    • Date filters: before (YYYY-MM-DD), after (YYYY-MM-DD), on (YYYY-MM-DD), during (e.g., "July", "2023")
    • Content filters: has (emoji reactions), is (saved/thread)
    • Sorting options by relevance score or timestamp

Quick Start

Installation

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

NOTE: Its now hosted in GitHub Registry so you need your PAT.

Configuration

You need to set the following environment variables:

  • SLACK_BOT_TOKEN: Slack Bot User OAuth Token
  • SLACK_USER_TOKEN: Slack User OAuth Token (required for some features like message search)

You can also create a .env file to set these environment variables:

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

Usage

Start the MCP server

Stdio Transport (default):

npx @ubie-oss/slack-mcp-server

Streamable HTTP Transport:

npx @ubie-oss/slack-mcp-server -port 3000

You can also run the installed module with node:

# Stdio transport node node_modules/.bin/slack-mcp-server # HTTP transport node node_modules/.bin/slack-mcp-server -port 3000

Command Line Options:

  • -port <number>: Start with Streamable HTTP transport on specified port
  • -h, --help: Show help message
Client Configuration

For Stdio Transport (Claude Desktop, etc.):

{ "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>" } } }

For Streamable HTTP Transport (Web applications):

Start the server:

SLACK_BOT_TOKEN=<your-bot-token> SLACK_USER_TOKEN=<your-user-token> npx @ubie-oss/slack-mcp-server -port 3000

Connect to: http://localhost:3000/mcp

See examples/README.md for detailed client examples.

Implementation Pattern

This server adopts the following implementation pattern:

  1. Define request/response using Zod schemas
    • Request schema: Define input parameters
    • Response schema: Define responses limited to necessary fields
  2. Implementation flow:
    • Validate request with Zod schema
    • Call Slack WebAPI
    • Parse response with Zod schema to limit to necessary fields
    • Return as JSON

For example, the slack_list_channels implementation parses the request with ListChannelsRequestSchema, calls slackClient.conversations.list, and returns the response parsed with ListChannelsResponseSchema.

Development

Available Scripts

  • npm run dev - Start the server in development mode with hot reloading
  • npm run build - Build the project for production
  • npm run start - Start the production server
  • npm run lint - Run linting checks (ESLint and Prettier)
  • npm run fix - Automatically fix linting issues

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Run tests and linting: npm run lint
  4. Commit your changes
  5. Push to the branch
  6. Create a Pull Request
Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

A server implementing Model Context Protocol that enables AI assistants to interact with Slack API through a standardized interface, providing tools for messaging, channel management, user information retrieval, and more.

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

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server implementation that enables AI assistants to interact with Slack workspaces, allowing them to browse channels, send messages, reply to threads, add reactions, and retrieve user information.
        Last updated -
        15
        1
        JavaScript
        Apache 2.0
      • -
        security
        F
        license
        -
        quality
        A comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.
        Last updated -
        3
        1
        TypeScript
      • -
        security
        A
        license
        -
        quality
        Enables AI assistants to interact with Slack workspaces through the Model Context Protocol, providing tools for reading/sending messages, managing channels, and accessing Slack API functionality.
        Last updated -
        1
        Python
        MIT License
      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server that integrates with Slack API, allowing users to send messages, view channel history, manage channels, send direct messages, and retrieve user lists from Slack workspaces.
        Last updated -
        Python
        • Apple
        • Linux

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/ubie-oss/slack-mcp-server'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server