npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@plugix/mcp-slack

v0.1.0

Published

MCP Server for Slack - Messages, Channels, User management

Readme

@plugix/mcp-slack

MCP server for Slack workspace integration - messages, channels, and user management.

Features

  • list_channels - List channels in the workspace
  • get_channel_history - Get message history from a channel
  • send_message - Send a message to a channel (with confirmation)
  • list_users - List users in the workspace
  • get_user_info - Get detailed user information
  • search_messages - Search messages across the workspace
  • upload_file - Upload a file to a channel (with confirmation)
  • create_channel - Create a new channel (with confirmation)

Installation

npm install @plugix/mcp-slack

Or run directly:

npx @plugix/mcp-slack

Configuration

Set environment variables:

# Plugix API connection
API_URL=wss://api.plugix.ai
API_TOKEN=plx_live_your_token_here

# Slack Bot Token (required)
SLACK_BOT_TOKEN=xoxb-your-bot-token

Getting a Slack Bot Token

  1. Go to api.slack.com/apps and create a new app
  2. Navigate to OAuth & Permissions
  3. Add the required Bot Token Scopes (see below)
  4. Install the app to your workspace
  5. Copy the Bot User OAuth Token (starts with xoxb-)

Usage

Development

npm run dev

Production

npm run build
npm start

Docker

docker build -t plugix-mcp-slack .
docker run --env-file .env plugix-mcp-slack

Claude Desktop Integration

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["@plugix/mcp-slack"],
      "env": {
        "API_URL": "wss://api.plugix.ai",
        "API_TOKEN": "plx_live_your_token",
        "SLACK_BOT_TOKEN": "xoxb-your-bot-token"
      }
    }
  }
}

Tools Reference

list_channels

List channels in the Slack workspace.

Parameters:

| Name | Type | Description | |------|------|-------------| | exclude_archived | boolean | Exclude archived channels (default: true) | | limit | number | Maximum channels to return (default: 100) | | types | string | Channel types: public_channel, private_channel, mpim, im |

Example:

{
  "name": "list_channels",
  "arguments": {
    "limit": 50,
    "types": "public_channel"
  }
}

get_channel_history

Get message history from a channel.

Parameters:

| Name | Type | Required | Description | |------|------|----------|-------------| | channel_id | string | Yes | Channel ID (e.g., C1234567890) | | limit | number | No | Max messages to return (default: 50) | | oldest | string | No | Only messages after this Unix timestamp | | latest | string | No | Only messages before this Unix timestamp |

Example:

{
  "name": "get_channel_history",
  "arguments": {
    "channel_id": "C1234567890",
    "limit": 20
  }
}

send_message

Send a message to a Slack channel. Requires confirmation.

Parameters:

| Name | Type | Required | Description | |------|------|----------|-------------| | channel_id | string | Yes | Channel ID to send to | | text | string | Yes | Message text (supports Slack markdown) | | thread_ts | string | No | Reply in thread (parent message ts) | | confirmed | boolean | Yes | Must be true to send |

Example:

{
  "name": "send_message",
  "arguments": {
    "channel_id": "C1234567890",
    "text": "Hello from the AI assistant!",
    "confirmed": true
  }
}

list_users

List users in the workspace.

Parameters:

| Name | Type | Description | |------|------|-------------| | limit | number | Max users to return (default: 200) |

get_user_info

Get detailed information about a specific user.

Parameters:

| Name | Type | Required | Description | |------|------|----------|-------------| | user_id | string | Yes | User ID (e.g., U1234567890) |

Example:

{
  "name": "get_user_info",
  "arguments": {
    "user_id": "U1234567890"
  }
}

search_messages

Search messages across the workspace.

Parameters:

| Name | Type | Required | Description | |------|------|----------|-------------| | query | string | Yes | Search query (supports Slack modifiers) | | count | number | No | Max results (default: 20) | | sort_by | string | No | Sort by: score or timestamp | | sort_dir | string | No | Sort direction: asc or desc |

Search Modifiers:

  • from:@username - Messages from a specific user
  • in:#channel - Messages in a specific channel
  • has:link - Messages with links
  • has:emoji - Messages with emoji
  • before:2024-01-01 - Messages before a date
  • after:2024-01-01 - Messages after a date

Example:

{
  "name": "search_messages",
  "arguments": {
    "query": "from:@john project deadline",
    "count": 10,
    "sort_by": "timestamp"
  }
}

upload_file

Upload a file to a Slack channel. Requires confirmation.

Parameters:

| Name | Type | Required | Description | |------|------|----------|-------------| | channel_id | string | Yes | Channel ID | | content | string | Yes | File content | | filename | string | Yes | Filename (e.g., report.txt) | | title | string | No | File title | | initial_comment | string | No | Message with the file | | thread_ts | string | No | Upload to thread | | confirmed | boolean | Yes | Must be true to upload |

Example:

{
  "name": "upload_file",
  "arguments": {
    "channel_id": "C1234567890",
    "content": "Report data here...",
    "filename": "report.txt",
    "title": "Monthly Report",
    "initial_comment": "Here's the monthly report",
    "confirmed": true
  }
}

create_channel

Create a new Slack channel. Requires confirmation.

Parameters:

| Name | Type | Required | Description | |------|------|----------|-------------| | name | string | Yes | Channel name (lowercase, no spaces) | | is_private | boolean | No | Create as private (default: false) | | confirmed | boolean | Yes | Must be true to create |

Example:

{
  "name": "create_channel",
  "arguments": {
    "name": "project-alpha",
    "is_private": false,
    "confirmed": true
  }
}

Required Bot Token Scopes

Add these scopes to your Slack app under OAuth & Permissions:

Channels

  • channels:read - View basic channel information
  • channels:history - View messages in public channels
  • channels:write - Create and manage public channels

Private Channels (if needed)

  • groups:read - View private channels
  • groups:history - View messages in private channels
  • groups:write - Create and manage private channels

Direct Messages (if needed)

  • im:read - View direct messages
  • im:history - View direct message history
  • mpim:read - View group direct messages
  • mpim:history - View group direct message history

Messages

  • chat:write - Send messages
  • files:write - Upload files

Users

  • users:read - View users
  • users:read.email - View user email addresses

Search

  • search:read - Search messages

Testing

npm test

License

MIT