
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
A Model Context Protocol (MCP) server for Slack workspace integration using FastMCP with robust authentication and caching
A Model Context Protocol (MCP) server for Slack workspace integration using FastMCP with HTTP transport and multiuser support.
pip install -r requirements.txt
SLACK_MCP_XOXP_TOKEN
- Slack bot token (xoxb-) or user token (xoxp-)SLACK_MCP_ADD_MESSAGE_TOOL
- Enable message posting:
true
or 1
= enabled for all channelsSLACK_MCP_USERS_CACHE
- Path to users cache file (default: ~/slack-cache/users_cache.json
)SLACK_MCP_CHANNELS_CACHE
- Path to channels cache file (default: ~/slack-cache/channels_cache_v2.json
)python slack_mcp_server.py
Server runs on http://0.0.0.0:8000/mcp
by default.
For multiuser support, pass the Slack token in request headers:
SLACK_MCP_XOXP_TOKEN: xoxb-your-slack-token
Optional message posting control via headers:
SLACK_MCP_ADD_MESSAGE_TOOL: true
Alternatively, set SLACK_MCP_XOXP_TOKEN
environment variable for single-user mode.
{
"method": "conversations",
"params": {
"operation": "bulk_history",
"channel_ids": "#general, #random, #project-alpha",
"limit": "1d",
"filter_user": "@chris"
}
}
{
"method": "channels",
"params": {
"operation": "detailed",
"channel_types": "public_channel,private_channel",
"sort": "popularity"
}
}
{
"method": "users",
"params": {
"operation": "info",
"user_ids": "@john, @jane, U123456789"
}
}
{
"method": "resource",
"params": {
"uri": "slack://myworkspace/channels"
}
}
Required scopes for your Slack app:
user_info
and channel_info
tools default to cache for instant responsesThe server now accepts user-friendly names in addition to IDs:
Channel References:
#general
→ resolves to channel ID (C1234567890)#project-alpha
→ resolves to channel ID@john_dm
→ opens/finds DM with user "john"User References:
@john
→ resolves to user ID (U1234567890)john.doe
→ resolves using display name or real nameJohn Doe
→ resolves using real nameExamples:
// Get messages from #general channel with user details
{
"method": "conversations_history",
"params": {
"channel_id": "#general",
"limit": "1d",
"include_user_details": true
}
}
// Get workspace analytics from cache (instant)
{
"method": "workspace",
"params": {
"operation": "analytics",
"date_range": "30d"
}
}
// Search messages across channels with filters
{
"method": "conversations",
"params": {
"operation": "search",
"search_query": "deployment status",
"filter_in_channel": "#devops",
"filter_users_from": "@admin"
}
}
// Manage channel settings efficiently
{
"method": "channels_manage",
"params": {
"operation": "both",
"channel_id": "#general",
"topic": "Welcome to our main discussion!",
"purpose": "General team discussions and updates"
}
}
// Check cache status and manage
{
"method": "cache",
"params": {
"operation": "info"
}
}
// List members of #general channel
{
"method": "channels",
"params": {
"operation": "members",
"channel_id": "#general"
}
}
// Check user presence for multiple users
{
"method": "users",
"params": {
"operation": "bulk_presence",
"user_ids": "@john, @jane, @admin"
}
}
// Get thread replies with user details
{
"method": "conversations",
"params": {
"operation": "replies",
"channel_id": "#general",
"message_ts": "1699123456.123456",
"include_user_details": true
}
}
// List files shared by specific user
{
"method": "workspace",
"params": {
"operation": "files",
"user_id": "@chris",
"count": 20,
"types": "images"
}
}
// Check what API permissions are available
{
"method": "workspace",
"params": {
"operation": "permissions"
}
}
// Initialize and manage cache files
{
"method": "cache",
"params": {
"operation": "initialize"
}
}
FAQs
A Model Context Protocol (MCP) server for Slack workspace integration using FastMCP with robust authentication and caching
We found that slack-mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.