@jtalk22/slack-mcp 4.2.0 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/handlers.js CHANGED
@@ -4,8 +4,7 @@
4
4
  * Implementation of all MCP tool handlers.
5
5
  */
6
6
 
7
- import { writeFileSync, readFileSync, existsSync, renameSync, unlinkSync, mkdirSync } from "fs";
8
- import { execSync } from "child_process";
7
+ import { writeFileSync, readFileSync, existsSync, renameSync, unlinkSync, mkdirSync, chmodSync } from "fs";
9
8
  import { homedir, platform } from "os";
10
9
  import { join } from "path";
11
10
  import {
@@ -55,7 +54,7 @@ function atomicWriteSync(filePath, content) {
55
54
  try {
56
55
  writeFileSync(tempPath, content);
57
56
  if (platform() === 'darwin' || platform() === 'linux') {
58
- try { execSync(`chmod 600 "${tempPath}"`); } catch {}
57
+ try { chmodSync(tempPath, 0o600); } catch {}
59
58
  }
60
59
  renameSync(tempPath, filePath);
61
60
  } catch (e) {
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@jtalk22/slack-mcp",
3
3
  "mcpName": "io.github.jtalk22/slack-mcp-server",
4
- "version": "4.2.0",
5
- "description": "Slack MCP without OAuth. 21 tools: 16 read/write Slack + 2 workflow profile primitives + 3 discoverable upgrade stubs to hosted AI brain. Free OSS or hosted (free tier, no card; $9/mo Pro for unlimited AI tools — scheduled morning catch-up DM rolling out Q2 2026).",
4
+ "version": "4.2.2",
5
+ "description": "Slack MCP without OAuth. 21 tools (16 read/write Slack + 2 workflow profile primitives + 3 hosted-brain upgrade stubs). Free OSS or hosted (free tier no card; $9/mo Pro = unlimited; morning DM rolling out Q2 2026).",
6
6
  "type": "module",
7
7
  "main": "src/server.js",
8
8
  "bin": {
@@ -133,7 +133,7 @@ async function autoExtract() {
133
133
 
134
134
  async function clearTokens() {
135
135
  const fs = await import("fs");
136
- const { execSync } = await import("child_process");
136
+ const { spawnSync } = await import("child_process");
137
137
 
138
138
  try {
139
139
  fs.unlinkSync(TOKEN_FILE);
@@ -142,11 +142,12 @@ async function clearTokens() {
142
142
  console.log("No token file to delete");
143
143
  }
144
144
 
145
- try {
146
- execSync(`security delete-generic-password -s "${KEYCHAIN_SERVICE}" -a "token" 2>/dev/null`);
147
- execSync(`security delete-generic-password -s "${KEYCHAIN_SERVICE}" -a "cookie" 2>/dev/null`);
145
+ const securityArgs = (account) => ["delete-generic-password", "-s", KEYCHAIN_SERVICE, "-a", account];
146
+ const tokenResult = spawnSync("security", securityArgs("token"), { stdio: "ignore" });
147
+ const cookieResult = spawnSync("security", securityArgs("cookie"), { stdio: "ignore" });
148
+ if (tokenResult.status === 0 || cookieResult.status === 0) {
148
149
  console.log("Deleted keychain entries");
149
- } catch (e) {
150
+ } else {
150
151
  console.log("No keychain entries to delete");
151
152
  }
152
153
 
package/server.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.jtalk22/slack-mcp-server",
4
4
  "title": "Slack MCP Server",
5
- "description": "Slack MCP without OAuth. 21 tools: 16 read/write Slack + 2 workflow profile primitives + 3 discoverable upgrade stubs to hosted AI brain. Free OSS or hosted (free tier, no card; $9/mo Pro for unlimited AI tools — scheduled morning catch-up DM rolling out Q2 2026).",
5
+ "description": "Slack MCP without OAuth. 21 tools (16 read/write Slack + 2 workflow profile primitives + 3 hosted-brain upgrade stubs). Free OSS or hosted (free tier no card; $9/mo Pro = unlimited; morning DM rolling out Q2 2026).",
6
6
  "websiteUrl": "https://mcp.revasserlabs.com",
7
7
  "icons": [
8
8
  {
@@ -17,7 +17,7 @@
17
17
  "url": "https://github.com/jtalk22/slack-mcp-server",
18
18
  "source": "github"
19
19
  },
20
- "version": "4.2.0",
20
+ "version": "4.2.2",
21
21
  "remotes": [
22
22
  {
23
23
  "type": "streamable-http",
@@ -28,7 +28,7 @@
28
28
  {
29
29
  "registryType": "npm",
30
30
  "identifier": "@jtalk22/slack-mcp",
31
- "version": "4.2.0",
31
+ "version": "4.2.2",
32
32
  "transport": {
33
33
  "type": "stdio"
34
34
  },