simple-slack-mcp-server

simple-slack-mcp-server

A simplified MCP server for accessing Slack API, enabling AI assistants to list channels, post messages, reply to threads, add reactions, and get channel history.

Category
Visit Server

README

simple-slack-mcp-server

A simplified MCP (Model Context Protocol) server for accessing Slack API. This server allows AI assistants to interact with essential Slack messaging and channel operations through a standardized interface.

Transport Support

This server uses stdio transport only for direct integration with MCP clients like Claude Desktop.

Features

Available tools focused on core messaging and channel operations:

  • 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

Quick Start

Installation

npm install simple-slack-mcp-server

Configuration

You need to set the following environment variable:

  • SLACK_BOT_TOKEN: Slack Bot User OAuth Token

You can create a .env file to set this environment variable:

SLACK_BOT_TOKEN=xoxb-your-bot-token

Usage

Start the MCP server

npx simple-slack-mcp-server

You can also run the installed module with node:

node node_modules/.bin/slack-mcp-server

Client Configuration

For Claude Desktop and other MCP clients:

{
  "slack": {
    "command": "npx",
    "args": [
      "simple-slack-mcp-server"
    ],
    "env": {
      "SLACK_BOT_TOKEN": "<your-bot-token>"
    }
  }
}

See examples/README.md for detailed client examples.

Required Slack Bot Permissions

Your Slack bot needs the following OAuth scopes:

  • channels:read - To list channels
  • chat:write - To post messages
  • chat:write.public - To post in public channels
  • reactions:write - To add reactions

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
  • npm run examples - Run the example client

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured