{"_id":"@axivo/mcp-slack","_rev":"5-792d8a785075b41ea6dc14702375961b","name":"@axivo/mcp-slack","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@axivo/mcp-slack","version":"1.0.0","keywords":["mcp","slack","model-context-protocol","claude"],"author":{"name":"AXIVO"},"license":"BSD-3-Clause","_id":"@axivo/mcp-slack@1.0.0","maintainers":[{"name":"fmunteanu","email":"versed_04ruses@icloud.com"}],"homepage":"https://github.com/axivo/mcp-slack#readme","bugs":{"url":"https://github.com/axivo/mcp-slack/issues"},"dist":{"shasum":"818ed174319942aa1e60748a5d685c31851da205","tarball":"https://registry.npmjs.org/@axivo/mcp-slack/-/mcp-slack-1.0.0.tgz","fileCount":19,"integrity":"sha512-QLAcXGcGUWT5Qg5xeglu7BaOE1kYgIQYhLuiliuR5aMIume/rYLjfeU2R98nA4Q3kE0TKqJP39h6T1SSZjaLrg==","signatures":[{"sig":"MEUCIQDBaEuWl5AJTCgLgWYgIuOxx0KjAWZ0Xqdgd8wD4e167wIgV8+Ox5NKaR4Kvlic35mDUKXiLB1uBLTWeN6JNtniFSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99650},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"c8dfff58e204def881a20d6ede8435753dbba22f","scripts":{"build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"fmunteanu","email":"versed_04ruses@icloud.com"},"repository":{"url":"git+https://github.com/axivo/mcp-slack.git","type":"git"},"_npmVersion":"11.5.1","description":"A secure Slack MCP server with enhanced security features","directories":{},"_nodeVersion":"24.5.0","dependencies":{"@modelcontextprotocol/sdk":"^1.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":">=5.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-slack_1.0.0_1754955172702_0.796927836930234","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@axivo/mcp-slack","version":"1.0.1","keywords":["mcp","slack","model-context-protocol","claude"],"author":{"name":"AXIVO"},"license":"BSD-3-Clause","_id":"@axivo/mcp-slack@1.0.1","maintainers":[{"name":"fmunteanu","email":"versed_04ruses@icloud.com"}],"homepage":"https://github.com/axivo/mcp-slack#readme","bugs":{"url":"https://github.com/axivo/mcp-slack/issues"},"bin":{"mcp-slack":"dist/index.js"},"dist":{"shasum":"58fa842b32409ecc58e3b7d430197d401143a7f1","tarball":"https://registry.npmjs.org/@axivo/mcp-slack/-/mcp-slack-1.0.1.tgz","fileCount":19,"integrity":"sha512-ImH71QzJM8HMoV5NbYMzkIx6ziYGK5okm6bYhQV77ioqDbNaLPS2QmwNgHjyeIjkNyl3yiaAhjbH1A5Kwjl+Ng==","signatures":[{"sig":"MEQCIFAQNMQg8kQkyUUlx8rBdpKgJlu6RFof6iv0UrWJOaUZAiBT58pwGg9Vakb6JwswQIVOGYWy5od2cmXpfZpYUiqyqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99699},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"gitHead":"e6bade248010f9dcdcde47b37a28a7a8ee8d7c6e","scripts":{"build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"fmunteanu","email":"versed_04ruses@icloud.com"},"repository":{"url":"git+https://github.com/axivo/mcp-slack.git","type":"git"},"_npmVersion":"11.5.1","description":"A secure Slack MCP server with enhanced security features","directories":{},"_nodeVersion":"24.5.0","dependencies":{"@modelcontextprotocol/sdk":"^1.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":">=5.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-slack_1.0.1_1754957330802_0.46002761512321233","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@axivo/mcp-slack","version":"1.0.2","keywords":["mcp","messaging","model-context-protocol","server","slack"],"author":{"name":"AXIVO"},"license":"BSD-3-Clause","_id":"@axivo/mcp-slack@1.0.2","maintainers":[{"name":"fmunteanu","email":"versed_04ruses@icloud.com"}],"homepage":"https://github.com/axivo/mcp-slack#readme","bugs":{"url":"https://github.com/axivo/mcp-slack/issues"},"bin":{"mcp-slack":"dist/index.js"},"dist":{"shasum":"8c222b1fcc3f187ac91ad9591e043130786ca549","tarball":"https://registry.npmjs.org/@axivo/mcp-slack/-/mcp-slack-1.0.2.tgz","fileCount":9,"integrity":"sha512-KU6SWHwpsCQLu9Luj4cRN6D5heUlJuViKwZ0YB0jcpNqLOLSvtDCz4AMiFZourcABFLhCpNqNI9W3GYWot8AAg==","signatures":[{"sig":"MEUCIGOYDsOdoWR3tcNXmq6edaOi9gA3tlLrrswqsdCjfBHrAiEAmfniCPM/l3H43KQKIieSLNQ4CJl3I5VfLv6xPkrIG+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axivo%2fmcp-slack@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53015},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"762671732b24327ab880267451b222a3be7c3c98","scripts":{"build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bcdb4d81-dc1c-46f1-a96f-a220952495f6"}},"repository":{"url":"git+https://github.com/axivo/mcp-slack.git","type":"git"},"_npmVersion":"11.5.1","description":"MCP server for interacting with Slack","directories":{},"_nodeVersion":"24.5.0","dependencies":{"slackify-markdown":"^4.5.0","@modelcontextprotocol/sdk":"^1.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":">=5.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-slack_1.0.2_1755119417446_0.521139117731954","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@axivo/mcp-slack","version":"1.0.3","keywords":["mcp","messaging","model-context-protocol","server","slack"],"author":{"name":"AXIVO"},"license":"BSD-3-Clause","_id":"@axivo/mcp-slack@1.0.3","maintainers":[{"name":"fmunteanu","email":"versed_04ruses@icloud.com"}],"homepage":"https://github.com/axivo/mcp-slack#readme","bugs":{"url":"https://github.com/axivo/mcp-slack/issues"},"bin":{"mcp-slack":"dist/index.js"},"dist":{"shasum":"446dd83af90f5aec92c21df82c38e1fb99117ebc","tarball":"https://registry.npmjs.org/@axivo/mcp-slack/-/mcp-slack-1.0.3.tgz","fileCount":9,"integrity":"sha512-wapf88Og3zcO+MMp29bJo05oRnMibF/o/ADkxmue3rO6ciTFcxpXiK7iwrSrOK0KHp0QwB6pS4v8uitXidMOaA==","signatures":[{"sig":"MEQCIAFxR6/DBPCJBcRxoDjxHo+QIKbn/2snGCYge4SdO6ctAiBsUExRRIHDzLX/TFLtGMcElTRAAw1wYAg01x45Z2C4UQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axivo%2fmcp-slack@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48689},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"e595c28a7985eea29478c572c365eb2cf4a7666c","scripts":{"build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bcdb4d81-dc1c-46f1-a96f-a220952495f6"}},"repository":{"url":"git+https://github.com/axivo/mcp-slack.git","type":"git"},"_npmVersion":"11.5.1","description":"MCP server for interacting with Slack","directories":{},"_nodeVersion":"24.6.0","dependencies":{"slackify-markdown":"^4.5.0","@modelcontextprotocol/sdk":"^1.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":">=5.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-slack_1.0.3_1755649130548_0.19095084940922025","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@axivo/mcp-slack","version":"1.0.4","type":"module","description":"MCP server for interacting with Slack","keywords":["mcp","messaging","model-context-protocol","server","slack"],"license":"BSD-3-Clause","author":{"name":"AXIVO"},"bin":{"mcp-slack":"dist/index.js"},"repository":{"type":"git","url":"git+https://github.com/axivo/mcp-slack.git"},"scripts":{"build":"tsc","clean":"rm -rf dist"},"dependencies":{"@modelcontextprotocol/sdk":"^1.17.0","slackify-markdown":"^4.5.0"},"devDependencies":{"@types/node":"^24.0.0","typescript":">=5.0.0"},"engines":{"node":">=24.0.0"},"publishConfig":{"access":"public"},"_id":"@axivo/mcp-slack@1.0.4","gitHead":"3dad64079107f0ab8a29b200ccffc50fd133eb87","bugs":{"url":"https://github.com/axivo/mcp-slack/issues"},"homepage":"https://github.com/axivo/mcp-slack#readme","_nodeVersion":"24.6.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-U4t5StKgcweneKaI10BzEX3lyD7z7vCC4KxffAk7ofoxi4sWbg82GiSzFOcpm2GHY1xYzKOkpZwMA+/wh+JLcw==","shasum":"d87cba720286fb2ed103cfcb604b426163e9f19d","tarball":"https://registry.npmjs.org/@axivo/mcp-slack/-/mcp-slack-1.0.4.tgz","fileCount":9,"unpackedSize":49586,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axivo%2fmcp-slack@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFv7pdrKSgl4F4Mli8wsqLABCxAuRcE71kHiL5aBhQriAiAX4ArpEaoAGeasmObiqWAzTwjAZqGWpRvVoHkmnDqvSA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bcdb4d81-dc1c-46f1-a96f-a220952495f6"}},"directories":{},"maintainers":[{"name":"fmunteanu","email":"versed_04ruses@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-slack_1.0.4_1755998886887_0.14672859986760978"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-11T23:32:52.646Z","modified":"2025-08-24T01:28:07.591Z","1.0.0":"2025-08-11T23:32:52.913Z","1.0.1":"2025-08-12T00:08:50.980Z","1.0.2":"2025-08-13T21:10:17.678Z","1.0.3":"2025-08-20T00:18:50.775Z","1.0.4":"2025-08-24T01:28:07.126Z"},"bugs":{"url":"https://github.com/axivo/mcp-slack/issues"},"author":{"name":"AXIVO"},"license":"BSD-3-Clause","homepage":"https://github.com/axivo/mcp-slack#readme","keywords":["mcp","messaging","model-context-protocol","server","slack"],"repository":{"type":"git","url":"git+https://github.com/axivo/mcp-slack.git"},"description":"MCP server for interacting with Slack","maintainers":[{"name":"fmunteanu","email":"versed_04ruses@icloud.com"}],"readme":"# Slack MCP Server\n\n[![License: BSD 3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg?style=flat&logo=opensourceinitiative&logoColor=white)](https://github.com/axivo/claude/blob/main/LICENSE)\n[![Node.js](https://img.shields.io/badge/Node.js->=24.0.0-339933?style=flat&logo=node.js&logoColor=white)](https://nodejs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript->=5.0.0-3178C6?style=flat&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n\nA MCP (Model Context Protocol) server for interacting with Slack.\n\n### Security Features\n\n- **Link Unfurling Disabled**: Prevents automatic link crawling that could leak sensitive information\n- **Rate Limiting**: Enforces 60 requests per minute per endpoint\n- **Markdown Conversion**: Automatically converts GitHub Flavored Markdown to Slack `mrkdwn` format\n\n### Slack Setup\n\n1. Create a Slack App:\n   - Visit the [Slack Apps](https://api.slack.com/apps)\n   - Click \"Create New App\"\n   - Choose \"From scratch\"\n   - Name your app and select your workspace\n\n2. Configure Bot Token Scopes:\n   Navigate to \"OAuth & Permissions\" and add these scopes:\n   - `channels:history` - View messages and other content in public channels\n   - `channels:read` - View basic channel information\n   - `chat:write` - Send messages as the app\n   - `reactions:write` - Add emoji reactions to messages\n   - `users:read` - View users and their basic information\n   - `users.profile:read` - View detailed profiles about users\n\n3. Install App to Workspace:\n   - Click \"Install to Workspace\" and authorize the app\n   - Save the \"Bot User OAuth Token\" that starts with `xoxb-`\n\n4. Get your [Team ID](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-workspace-or-org-id) (starts with a `T`)\n\n### MCP Server Configuration\n\nAdd to `mcp.json` servers configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"slack\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@axivo/mcp-slack\"\n      ],\n      \"env\": {\n        \"SLACK_BOT_TOKEN\": \"xoxb-your-bot-token\",\n        \"SLACK_TEAM_ID\": \"T01234567\",\n        \"SLACK_CHANNEL_IDS\": \"C01234567, C76543210\"\n      }\n    }\n  }\n}\n```\n\n#### Environment Variables\n\nRequired variables:\n\n- `SLACK_BOT_TOKEN` - Slack bot token (starts with `xoxb-`)\n- `SLACK_TEAM_ID` - Slack [Team ID](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-workspace-or-org-id) (starts with `T`)\n\nOptional variables:\n\n- `SLACK_CHANNEL_IDS` - Comma-separated list of channel IDs to restrict access to specific channels only. If not set, the server can access all public channels the bot has permissions for.\n\n### Prompt Examples\n\nHere are practical examples of how to use the Slack MCP server with natural language prompts:\n\n- \"*Mention my name into #general Slack channel and post a project update*\"\n- \"*Read the last 20 messages from #marketing Slack channel to catch up on discussions*\"\n- \"*Reply to the latest thread in #support Slack channel with a solution*\"\n- \"*Add a thumbs up reaction to the latest message in #announcements Slack channel*\"\n- \"*Get all replies from that long thread about the API changes*\"\n- \"*Edit my last message in #general Slack channel to fix the typo*\"\n- \"*List all channels I have access to and find the engineering-related ones*\"\n- \"*Look up John's profile information and timezone*\"\n\n### MCP Tools\n\n1. `add_reaction`\n   - Add a reaction emoji to a message\n   - Required inputs:\n     - `channel_id` (string): The ID of the channel containing the message\n     - `timestamp` (string): The timestamp of the message to react to\n     - `reaction` (string): The name of the emoji reaction (without ::)\n   - Returns: Reaction addition confirmation\n\n2. `edit_message`\n   - Edit an existing message in a Slack channel\n   - Required inputs:\n     - `channel_id` (string): The ID of the channel containing the message\n     - `timestamp` (string): The timestamp of the message to edit\n     - `text` (string): The message text to edit\n   - Returns: Message edit confirmation with updated content\n\n3. `get_channel_history`\n   - Get recent messages from a channel\n   - Required inputs:\n     - `channel_id` (string): The ID of the channel\n   - Optional inputs:\n     - `limit` (number, default: 10): Number of messages to retrieve\n   - Returns: Array of recent messages with metadata\n\n4. `get_thread_replies`\n   - Get all replies in a message thread\n   - Required inputs:\n     - `channel_id` (string): The ID of the channel containing the thread\n     - `thread_ts` (string): The timestamp of the parent message in the format '1234567890.123456'. Timestamps in the format without the period can be converted by adding the period such that 6 numbers come after it\n   - Returns: Array of thread replies with message details\n\n5. `get_user_profile`\n   - Get detailed profile information for a specific user\n   - Required inputs:\n     - `user_id` (string): The ID of the user\n   - Returns: Detailed user profile information including display name, status, timezone, etc.\n\n6. `get_users`\n   - Get a list of all users in the workspace with their basic profile information\n   - Optional inputs:\n     - `limit` (number, default: 100, max: 200): Maximum number of users to return\n     - `cursor` (string): Pagination cursor for next page of results\n   - Returns: List of workspace users with basic profile information\n\n7. `list_channels`\n   - List public or pre-defined channels in the workspace with pagination\n   - Optional inputs:\n     - `limit` (number, default: 100, max: 200): Maximum number of channels to return\n     - `cursor` (string): Pagination cursor for next page of results\n   - Returns: List of channels with their IDs and information\n\n8. `post_message`\n   - Post a new message to a Slack channel\n   - Required inputs:\n     - `channel_id` (string): The ID of the channel to post to\n     - `text` (string): The message text to post\n   - Returns: Message posting confirmation with timestamp and channel info\n\n9. `reply_to_thread`\n   - Reply to a specific message thread in Slack\n   - Required inputs:\n     - `channel_id` (string): The ID of the channel containing the thread\n     - `thread_ts` (string): The timestamp of the parent message in the format '1234567890.123456'. Timestamps in the format without the period can be converted by adding the period such that 6 numbers come after it\n     - `text` (string): The reply text to post\n   - Optional inputs:\n     - `broadcast` (boolean, default: false): Whether to also send the reply to the main channel\n   - Returns: Thread reply confirmation with message details\n","readmeFilename":"README.md"}