Install
$ agentstack add mcp-ubie-oss-slack-mcp-server ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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 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 threadslack_get_users- Retrieve basic profile information of all users in the workspaceslack_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 TokenSLACK_USER_TOKEN: Slack User OAuth Token (required for some features like message search)SLACK_SAFE_SEARCH(optional): When set totrue, automatically excludes private channels, DMs, and group DMs from search results. This is enforced server-side and cannot be overridden by clients.
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
SLACK_SAFE_SEARCH=true # Optional: Enable safe search mode
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: 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": "",
"SLACK_BOT_TOKEN": "",
"SLACK_USER_TOKEN": "",
"SLACK_SAFE_SEARCH": "true"
}
}
}
For Streamable HTTP Transport (Web applications):
Start the server:
SLACK_BOT_TOKEN= SLACK_USER_TOKEN= npx @ubie-oss/slack-mcp-server -port 3000
Connect to: http://localhost:3000/mcp
See [examples/README.md](examples/README.md) for detailed client examples.
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 issues
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
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ubie-oss
- Source: ubie-oss/slack-mcp-server
- License: Apache-2.0
- Homepage: https://github.com/ubie-oss/slack-mcp-server
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.