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.
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 paginationslack_post_message- Post a new message to a Slack channelslack_reply_to_thread- Reply to a specific message thread in Slackslack_add_reaction- Add a reaction emoji to a messageslack_get_channel_history- Get recent messages from a channelslack_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 channelschat:write- To post messageschat:write.public- To post in public channelsreactions:write- To add reactions
Implementation Pattern
This server adopts the following implementation pattern:
-
Define request/response using Zod schemas
- Request schema: Define input parameters
- Response schema: Define responses limited to necessary fields
-
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 reloadingnpm run build- Build the project for productionnpm run start- Start the production servernpm run lint- Run linting checks (ESLint and Prettier)npm run fix- Automatically fix linting issuesnpm run examples- Run the example client
Contributing
- Fork the repository
- Create your feature branch
- Run tests and linting:
npm run lint - Commit your changes
- Push to the branch
- Create a Pull Request
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.