slack
com.pulsemcp/slack
About slack
slack is an MCP server published by pulsemcp.com. MCP server for Slack — read/write messages, manage threads, and react to messages.
It runs on your own machine: your AI client starts it from the npm package slack-workspace-mcp-server at version 0.0.7.
It asks for one secret: SLACK_BOT_TOKEN. Give it a key with the least access that still works.
Version 0.0.7 was published on 14 June 2026, and the source code is public, so you can read it before installing.
Written from the registry entry. 9 automated checks on the registry entry and the package code: 7 pass, 0 warn, 0 fail, 2 info. How we check.
What it asks for
| Variable | Required | Secret | Description |
|---|---|---|---|
SLACK_BOT_TOKEN | Yes | Yes | Slack Bot User OAuth Token starting with xoxb-. |
ENABLED_TOOLGROUPS | No | No | Comma-separated list of tool groups to enable (readonly, write). |
Checks
| Check | Result | Detail |
|---|---|---|
| Source repository linked | Pass | https://github.com/pulsemcp/mcp-servers |
| Version pinned | Pass | Every package has an explicit version |
| Secrets requested | Info | Asks for 1 secret: SLACK_BOT_TOKEN |
| Known package registry | Pass | All packages come from npm, PyPI, OCI, NuGet or MCPB |
| Namespace ownership | Info | Name verified via domain pulsemcp.com |
| Registry text aimed at the AI | Pass | Description and settings contain no hidden characters or instructions to the AI |
| Install scripts | Pass | slack-workspace-mcp-server@0.0.7 runs nothing at install |
| Code red flags | Pass | Read 58 files in slack-workspace-mcp-server@0.0.7: no obfuscation, encoded execution, credential reads or data-collection endpoints found |
| Text aimed at the AI | Pass | No hidden characters or instructions to the AI in 58 files, including comments and the README |
Code review: Pass, with notes
We read all 2,796 lines in 56 files of slack-workspace-mcp-server 0.0.7 on 2026-10-31, without running it.
Lets an AI assistant read Slack channels and threads, download shared files, and post, edit, react and upload snippets as your Slack bot. It talks only to Slack, using the bot token you provide; there is no telemetry. Posting tools are on by default and send immediately, so set ENABLED_TOOLGROUPS=readonly if you only want reading.
What we found
- Note Write tools (post message, reply to thread with optional channel broadcast, edit message, add reaction, upload snippet) are enabled by default; they post as the bot immediately with no confirmation step. Set ENABLED_TOOLGROUPS=readonly to disable them. Descriptions state clearly that they post/edit.
shared/tools.js:31-43 - Info The bot token is sent to whatever url_private_download/url_private Slack's files.info returns, without checking the host. The URL comes from Slack's own API so this is expected, but there is no host allow-list.
shared/slack-client/lib/download-file.js:5-9 - Info Downloaded files are written to the OS temp directory and left there (no cleanup).
shared/tools/download-file.js:61-66 - Info Message text from Slack is returned verbatim to the AI; content written by other workspace members could contain prompt-injection text. Normal for chat readers, not a code defect.
shared/tools/get-channel.js:101; shared/tools/get-thread.js:87 - Info package.json was not part of the review set; the dependency list is inferred from import statements, and install scripts (if any) could not be checked.
(package)
| Talks to | slack.com (https://slack.com/api/*): Bot token (Authorization header), channel IDs, message text, reactions, snippet metadata; endpoints conversations.list/info/history/replies, chat.postMessage, chat.update, reactions.add, files.info, files.getUploadURLExternal, files.completeUploadExternal (Only when a tool is called) files.slack.com (url_private / url_private_download returned by Slack files.info): Bot token in Authorization header to the download URL Slack returned (Only when slack_download_file is called) Slack presigned upload URL (upload_url returned by files.getUploadURLExternal): Snippet content (no auth header) (Only when slack_upload_snippet is called) |
|---|---|
| Keys and settings | SLACK_BOT_TOKEN: slack.com API and Slack file download URLs (Bearer header)ENABLED_TOOLGROUPS: not sent; local config (readonly, write)NODE_ENV / DEBUG: not sent; enables debug logging to stderrSLACK_MOCK_DATA: not sent; only read by the test entry build/index.integration-with-mock.js |
| Files on your machine | Reads its own package.json at startup. slack_download_file writes downloaded Slack files to <OS temp>/slack-files/<fileId>-<sanitized name> (name sanitized to [a-zA-Z0-9._-], so no path traversal). No other file reads/writes. |
| Runs programs | None. No child_process, eval or Function. Dynamic import() is only used for the package's own fixed relative modules (./slack-client/lib/*.js). |
| Telemetry | None. No analytics or background network calls; nothing contacts the network at startup. |
| Tools | slack_get_channels, slack_get_channel, slack_get_thread, slack_download_file, slack_post_message, slack_reply_to_thread, slack_update_message, slack_react_to_message, slack_upload_snippet |
| Tool descriptions | clean |
This covers the package's own code only, not the 2 packages it depends on (@modelcontextprotocol/sdk, zod). A new version drops this review until we read it again.
Popularity & health: 67 / 100
Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.
10 forks, 491 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.
What people say
No Hacker News threads link to its source code.
Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.
Facts
| Registry name | com.pulsemcp/slack |
|---|---|
| Publisher | Domain pulsemcp.com |
| How the name is verified | Name verified via domain pulsemcp.com. The registry ties the name prefix to that account or domain; it does not check the code. |
| Type | Local: runs on your machine from a package |
| Packages | npm slack-workspace-mcp-server 0.0.7 (stdio) |
| Version | 0.0.7 |
| Published | |
| Last updated | |
| Source repository | https://github.com/pulsemcp/mcp-servers |
| Website | None linked |
| Category | Email & messaging (assigned by keyword rule, not by hand) |
Related servers in Email & messaging
- Slack6/7Slack MCP server: channels, messages, threads, reactions, users,…
- Slack Explorer MCP4/4MCP server specialized in retrieving information from Slack…
- slack-mcp-server7/7Read Slack conversations, threads, user info, and search messages…
- Keeploop7/7Mail, Calendar, Messages, Notes, Contacts, Slack on your Mac for…
- slack3/3Send messages, access channels, and manage files in your Slack…
- Slack7/7Read and write Slack with session tokens — no OAuth, no bot, no…