easy-slack-mcp

easy-slack-mcp

Enables AI assistants like Cursor and Claude Desktop to interact with Slack workspaces, allowing message sending, channel reading, user management, and file operations through natural language.

Category
访问服务器

README

easy-slack-mcp

<img src="images/slack.jpg" alt="Slack Logo" style="width: 100%;"/>

<h2 style="font-size: 1.5em; margin: 1em 0;">🚀 The Easiest way to run Slack MCP</h2>

Slack integration for AI assistants - Connect Cursor, Claude Desktop, and other MCP-compatible tools directly to Slack. Send messages, read channels, manage users, and automate workflows with AI.

npm version License: MIT Node.js TypeScript MCP Slack API Powered by easy-mcp-server


📦 What We Provide

Feature Description
MCP Server Full Model Context Protocol integration for AI assistants (Cursor, Claude Desktop, etc.)
REST API Complete Slack API wrapper with OpenAPI/Swagger documentation
Message Management Send, update, and delete messages in channels and DMs
Channel Operations List, create, view details, and read message history for channels
User Management List users, get user info, and access user profiles
File Operations Upload files, list files, and get file information
Reactions Add and remove emoji reactions to messages
Interactive Docs Swagger UI for exploring and testing all endpoints
Zero Configuration Run with a single command - just provide your Slack bot token
Production Ready Built on easy-mcp-server framework

🚀 Quick Start

SLACK_BOT_TOKEN=xoxb-your-token-here npx easy-slack-mcp

That's it! The server runs on:

Service URL Notes
REST API http://localhost:8887 Base for all endpoints
API Docs (Swagger UI) http://localhost:8887/docs Interactive documentation
MCP Server http://localhost:8888 For MCP-compatible clients

📋 Detailed Configuration

Getting Your Slack Bot Token

  1. Go to https://api.slack.com/apps
  2. Click "Create New App""From scratch"
  3. Give your app a name and select your workspace
  4. Click "Create App"
  5. Navigate to "OAuth & Permissions" in the sidebar
  6. Scroll down to "Bot Token Scopes" and add the following scopes:
    • chat:write - Send messages
    • chat:write.public - Send to channels bot isn't in
    • channels:read - View channel info
    • channels:history - Read channel messages
    • users:read - View users
    • users:read.email - View email addresses
    • files:write - Upload files
    • files:read - View files
    • reactions:write - Add reactions
    • reactions:read - View reactions
  7. Scroll to the top and click "Install to Workspace"
  8. Authorize the app
  9. Copy your Bot User OAuth Token (starts with xoxb-)

Using Environment Variables

Instead of passing the token inline, you can use a .env file for persistent configuration:

# Create .env file
echo "SLACK_BOT_TOKEN=xoxb-your-token-here" > .env

# Run (it will automatically load .env)
npx easy-slack-mcp

Local Installation

For a permanent local installation:

# Install locally
npm install easy-slack-mcp

# Create .env file
echo "SLACK_BOT_TOKEN=xoxb-your-token-here" > .env

# Run
npm start
# OR
npx easy-slack-mcp

💻 Use in Cursor / Claude Desktop

Option A: Use as npm package (Recommended)

For Cursor:

  1. Open Cursor Settings → Features → Model Context Protocol
  2. Click "Edit Config"
  3. Add this to your MCP config:
{
  "mcpServers": {
    "easy-slack-mcp": {
      "command": "npx",
      "args": ["-y", "easy-slack-mcp"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-token-here"
      }
    }
  }
}

For Claude Desktop:

  1. Open ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
  2. Add the same configuration above

For any MCP client: The server runs automatically when invoked via npx easy-slack-mcp

Client configuration paths

Client Platform Config Location
Cursor macOS/Windows/Linux Settings → Features → Model Context Protocol
Claude Desktop macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop Windows %APPDATA%\Claude\claude_desktop_config.json

Option B: Local Installation

If you prefer a local setup:

# Install locally
npm install easy-slack-mcp

# Create .env file
echo "SLACK_BOT_TOKEN=xoxb-your-token-here" > .env

# Run it
npx easy-slack-mcp

Then configure your MCP client to run:

npx easy-slack-mcp

📡 Using the REST API

Once the server is running, you have full access to Slack via REST endpoints.

🔍 Interactive API Documentation

Name URL Best for
Swagger UI http://localhost:8887/docs Browsing endpoints, trying requests, viewing schemas
OpenAPI JSON http://localhost:8887/openapi.json Import into Postman/Insomnia or tooling

📝 Common API Examples

Send a Message

curl -X POST http://localhost:8887/slack/messages \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "C1234567890",
    "text": "Hello from easy-slack-mcp!"
  }'

List Channels

curl "http://localhost:8887/slack/conversations/list?types=public_channel"

Get Channel History

curl "http://localhost:8887/slack/conversations/history?channel=C1234567890&limit=20"

List Users

curl "http://localhost:8887/slack/users/list"

Upload a File

curl -X POST http://localhost:8887/slack/files/upload \
  -H "Content-Type: application/json" \
  -d '{
    "channels": "C1234567890",
    "filename": "report.txt",
    "content": "File content here"
  }'

📚 All Available Endpoints

Category Method Path Description
Messages POST /slack/messages Send a message
Messages POST /slack/messages/update Update a message
Messages POST /slack/messages/delete Delete a message
Conversations GET /slack/conversations/list List all channels
Conversations GET /slack/conversations/info Get channel details
Conversations POST /slack/conversations/create Create a channel
Conversations GET /slack/conversations/history Get message history
Users GET /slack/users/list List workspace users
Users GET /slack/users/info Get user details
Users GET /slack/users/profile Get user profile
Files POST /slack/files/upload Upload a file
Files GET /slack/files/list List files
Files GET /slack/files/info Get file info
Reactions POST /slack/reactions/add Add a reaction
Reactions POST /slack/reactions/remove Remove a reaction
Authentication GET /slack/auth/test Test authentication
System GET /health Health check
System GET /api-info API information
System GET /openapi.json OpenAPI specification
System GET /docs Swagger UI documentation

⚙️ Advanced Configuration

Environment Variables

All configuration can be set via environment variables:

Name Required Default Description
SLACK_BOT_TOKEN Yes Bot User OAuth Token (starts with xoxb-)
SLACK_APP_TOKEN No App-level token for Socket Mode (starts with xapp-)
SLACK_SIGNING_SECRET No Verifies Slack request signatures for Events/API Gateway
EASY_MCP_SERVER_PORT No 8887 REST API port
EASY_MCP_SERVER_MCP_PORT No 8888 MCP server port

Example .env content:

SLACK_BOT_TOKEN=xoxb-your-token-here
# Optional
SLACK_APP_TOKEN=xapp-your-app-token
SLACK_SIGNING_SECRET=your-signing-secret
EASY_MCP_SERVER_PORT=8887
EASY_MCP_SERVER_MCP_PORT=8888

Required Slack Scopes

See the Detailed Configuration section above for setup steps. The bot typically needs these scopes:

Scope Purpose
chat:write Send messages as the bot
chat:write.public Post to channels the bot isn’t a member of
channels:read View basic channel information
channels:history Read channel messages
users:read View users in the workspace
users:read.email View user email addresses
files:write Upload files
files:read View files
reactions:write Add reactions to messages
reactions:read View reactions on messages

🎯 Use Cases

In Cursor / Claude Desktop

  • "Send a message to #general about the project update"
  • "What's the latest activity in #support channel?"
  • "Find user @john and show their profile"
  • "Summarize this week's messages in #engineering"

Via REST API

  • Build custom integrations
  • Automate Slack workflows
  • Create Slack bots
  • Integrate with other services

Via Swagger UI

  • Explore endpoints visually
  • Test API calls
  • Understand request/response formats
  • Share API documentation

📖 Learn More


📦 Package Info

Item Link/Value
npm easy-slack-mcp
Repository GitHub
License MIT

🆘 Need Help?

  1. Check Swagger UI: http://localhost:8887/docs
  2. Test authentication: curl http://localhost:8887/slack/auth/test
  3. Check server health: curl http://localhost:8887/health
  4. Review the setup guide
  5. For customization or support, contact info@easynet.world

Ready to automate Slack with AI? Get started:

# Install and run directly
npx easy-slack-mcp

# Or install locally for project use
npm install easy-slack-mcp
npm start

Powered by easy-mcp-server framework

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选